Test an API quickly
Create a reproducible terminal command for checking a REST endpoint.
Build a cURL command locally with method, query parameters, headers, body, and authentication.
One parameter per line: key=value
One header per line: Name: value
Command generated locally.
Build a complete cURL command locally with methods, parameters, headers, request bodies, and authentication.
This generator assembles a command without sending a request. The URL must be absolute and use HTTP or HTTPS. Enter query parameters as key=value lines; they are appended to the existing query with appropriate encoding. Repeated keys remain separate parameters. Headers use Name: value. For names that match without case sensitivity, the last value replaces the previous one.
Commands use POSIX shell quoting, including apostrophe escaping. They suit shells such as sh or bash rather than automatically working in PowerShell or cmd. HEAD produces --head. A JSON body is checked for syntax and receives Content-Type: application/json unless you supplied that header already. Text uses --data-raw, while form mode adds --data-urlencode for each line. It does not build multipart file uploads.
Redirect, compression and TLS verification options are written into the command. --compressed requests a compressed response and lets cURL decode it; it does not compress your outgoing body. --insecure disables certificate verification and can hide a real problem. Bearer tokens or usernames and passwords appear in plain text in the generated command. Copying or running it in a terminal can expose them through history or logs.
Choose a method and HTTP(S) URL, then add one parameter or header per line. Do not pre-encode a space as %20 in a value the tool will encode.
Choose no body, JSON, text or form fields. Check authentication and leave TLS verification enabled for normal use.
Generate and copy or download request.sh. Inspect the final URL and options before deliberately executing it in a compatible terminal.
Create a reproducible terminal command for checking a REST endpoint.
Produce a readable cURL example for technical documentation or onboarding.
Compare methods, headers, parameters, and request bodies during troubleshooting.
The filter follows page=1 and the space becomes + in the query. No request is sent to produce this output.
Input
GET https://example.com/api?page=1; q=hello worldResult
curl 'https://example.com/api?page=1&q=hello+world'The body is checked and retained in --data-raw. Content-Type is added automatically and POST appears explicitly.
Input
POST https://example.com/api; JSON {"name":"Ada"}Result
curl -X POST -H 'Content-Type: application/json' --data-raw '{"name":"Ada"}' 'https://example.com/api'No. It only produces a command string. Networking occurs if you later execute that command in your environment.
It is quoted for a POSIX shell. PowerShell and cmd have different quoting and command rules; use a compatible environment or adapt the command.
Not with this form mode. It generates --data-urlencode for text fields, without the -F arguments and files needed for multipart uploads.
It disables TLS certificate verification. It does not fix an invalid chain of trust and should remain an explicit diagnostic choice rather than a default setting.
Related tools
Tools similar or complementary to this one.
Build a complete HTTP API request with method, URL, parameters, headers, and body.
Build custom HTTP headers and get output ready to use in your requests.
Format, minify, and validate JSON to make it easier to read or more compact.
Understand ISO 8601 week numbers, Unix timestamps in seconds or milliseconds, and the difference between human-readable dates and technical time values.
Understand HSTS, CSP, X-Content-Type-Options, Referrer-Policy and Permissions-Policy and how to verify the headers actually returned.