API Query Parameter Builder

Runs in browser Web

Add key/value pairs, arrays and nested filters, choose the encoding style (repeat, brackets, comma) and preview the final URL as you type.

Privacy: This tool runs entirely in your browser. Your input never leaves your device.
Loading tool…

What are the parts of an HTTP request?

An HTTP request is a method (GET, POST, PUT, PATCH, DELETE …) and a target URL — path plus query parameters — followed by headers and, for methods that carry data, a body whose format the Content-Type header names. RFC 9110 defines the methods and their semantics: GET and HEAD are safe, PUT and DELETE are idempotent, POST is neither, which is what decides whether a request may be retried. A cURL command line is the same request written out, and is the lingua franca for reproducing an API call in a bug report.

Read the guide: What is API Testing? How to Test a REST API

How to use API Query Parameter Builder

  1. Enter the endpoint URL.
  2. Add parameters; use "a, b" or ["a","b"] for lists and bracket keys for nested filters.
  3. Choose the array style and encoding your backend expects.
  4. Copy the final URL or just the query string.

API Query Parameter Builder features

  • Key/value editor with comma lists and JSON values for arrays and nested filters
  • Bracket keys (filter[price][max]) and JSON objects produce nested structures
  • Four array styles (repeat, brackets, indices, comma) and RFC 3986 or form encoding
  • Optional key sorting, empty-value skipping and merging with the base URL's existing query
  • Live final URL, bare query string, encoded-parameter table and JSON view
  • Warnings for over-long URLs and whitespace in keys

API Query Parameter Builder example

Pagination, sorting and a list filter

Input:

Base: https://api.example.com/v1/products · page=2 · per_page=25 · sort=-created_at · status=active, pending · q=café & crème

Output:

https://api.example.com/v1/products?page=2&per_page=25&sort=-created_at&status=active&status=pending&q=caf%C3%A9%20%26%20cr%C3%A8me

Frequently asked questions about API Query Parameter Builder

How do I pass a list of values?

Type them comma-separated (active, pending) or as a JSON array (["a","b"]). Then pick the array style your API expects: repeat (status=a&status=b), brackets (status[]=a), indices (status[0]=a) or comma (status=a,b).

How do I build nested filters?

Use bracket keys such as filter[price][max] or JSON objects as values. They are serialised with percent-encoded brackets (filter%5Bprice%5D%5Bmax%5D=…), which PHP, Rails, Laravel and Express (qs) decode into nested structures.

Which characters are encoded?

Everything outside the unreserved set (letters, digits, - _ . ~) is percent-encoded per RFC 3986, including & = # + and non-ASCII characters (UTF-8 bytes). Form encoding additionally turns spaces into +.

What happens to a query string already in the base URL?

With "Keep existing query" enabled, existing parameters are parsed and merged with the ones you add; new values with the same key are appended as repeats.

References