API Tester
Send REST requests from your browser, import or copy as cURL, and inspect the status, headers, timing, and response body.
Public URLs run on the server as your cURL command (no CORS). Localhost runs in your browser because the server cannot reach your machine.
Automatic
| User-Agent | toolhq-api-tester/1.0 | auto |
| Accept | */* | auto |
Custom
About the API Tester
Send REST requests, inspect the full response, and copy the equivalent cURL command. Pick a method, enter a URL, review the headers that will be sent (including automatic defaults), add a body when needed, and hit Send. You get status, timing, every response header, and a formatted body when the API returns JSON.
Public URLs run on the toolhq server as your cURL command, which avoids browser CORS limits and returns the complete header list. Localhost and 127.0.0.1 URLs run in your browser instead, because the server cannot reach services on your machine.
Every request includes sensible defaults: User-Agent, Accept, and Content-Type when you attach a JSON or text body. Override any of them by adding a custom header with the same name. The cURL tab always reflects the exact command the server would run.
Already have a cURL command from your docs, a colleague, or your browser network tab? Paste it into the cURL tab and choose Import. The method, URL, headers, and body are filled in for you, so you can run and tweak the request here without rewriting it by hand.
Reach developers and designers who use these tools every day. Privacy-first, no trackers.
Frequently asked questions
Why does my request fail with a network error?
For localhost URLs, the browser enforces CORS and ordinary network rules. For public URLs, failures usually mean the API is unreachable, timed out, or blocked by our SSRF guard (private IP ranges are not allowed).
Do my requests pass through toolhq servers?
Public URLs yes: the server runs the equivalent cURL command and returns the response. Localhost URLs stay in your browser. Nothing is stored after the response is sent back.
Why do I not see all response headers?
In browser mode (localhost), only CORS-exposed headers are visible. Send the request to a public URL to get every response header from the server-side cURL run.
Which headers are sent automatically?
User-Agent (toolhq-api-tester/1.0), Accept (*/*), and Content-Type when you send a body without setting one yourself. They appear under Automatic in the Headers tab.
Can I test localhost APIs?
Yes, with http://localhost or 127.0.0.1 URLs. The request runs in your browser, so your local service must allow CORS from this site or you can copy the cURL command and run it in a terminal.
How is the response time measured?
Server requests measure from the start of the cURL or fetch call on our server to when the full response is received. Browser requests measure client-side round trip time from your machine.
Can I import a cURL command?
Yes. Open the cURL tab, paste a command, and choose Import. The method, URL, headers, and body are parsed and filled into the form, including -X, -H, -d / --data, basic auth (-u), and -A / -b / -e. Unknown flags are ignored so most commands import cleanly.