HTTP Request Builder
Build and test HTTP API requests with custom headers, body, and parameters.
HTTP Request Builder Features
A lightweight browser-based HTTP client for API testing.
Supports GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS requests.
Set custom request headers and send JSON or text request bodies.
View response body, headers, status code, and response time.
Key Takeaways
- The request runs directly from your browser using fetch, so you can confirm an endpoint's status code, JSON response, and round-trip time without a desktop client or script.
- Because calls originate in the browser, APIs that do not send permissive cross-origin (CORS) headers will be blocked; use a server-side or command-line client for those endpoints.
- Request bodies are only sent for POST, PUT, and PATCH; GET and HEAD ignore any body, and for JSON you should add a Content-Type header of application/json so the server parses it.
- Header and param rows with an empty key field are dropped before sending, and the response body is auto-formatted only when it parses as valid JSON.
How to Build and Send an HTTP Request
Set the method and endpoint
Pick a method from the dropdown (GET, POST, PUT, PATCH, DELETE, HEAD, or OPTIONS) and type the full endpoint URL into the address field, including the https prefix.
Add headers, params, and a body
Use the Headers tab to add key-value header rows such as Content-Type or Authorization. Use the Params tab to add query string pairs, which are URL-encoded and appended to the URL automatically. For POST, PUT, or PATCH, switch to the Body tab and paste your JSON or raw text payload.
Send and read the response
Click Send. The tool fetches the URL directly from your browser and shows the status code, status text, and round-trip time in milliseconds. Switch between the Body and Headers response tabs to inspect the result, where valid JSON is automatically pretty-printed with indentation.
Request Tabs and What Each One Controls
The builder splits a request into three editable areas plus the method and URL. Knowing what each tab affects helps you avoid common setup mistakes when testing an API.
| Tab or field | What it sets | How it is applied |
|---|---|---|
| Method dropdown | The HTTP verb | Sent as the request method; GET and HEAD skip any body you enter |
| URL field | The target endpoint | Used as-is, with encoded query params appended when present |
| Headers tab | Custom request headers | Each non-empty key-value row is sent as a header, including auth headers |
| Params tab | Query string values | URL-encoded and joined with and added after a question mark |
| Body tab | Request payload | Sent verbatim as the body for non-GET, non-HEAD methods |
| Response tabs | Result inspection | Show the returned body (JSON auto-formatted) and the response headers |
When This Tool Fits Your Task
Quick REST checks
Reach for this when you want to confirm an endpoint returns the expected status and JSON without opening a desktop client or writing a script.
Inspecting headers
Use it when you need to read the exact response headers a server sends back, such as content type, caching, or rate-limit values.
Testing auth headers
It works well for trying Bearer tokens, API keys, or Basic auth, since you add the Authorization header by hand in the Headers tab.
When CORS blocks you
For APIs that do not allow browser origins, a server-side client or command-line tool is the better choice, since the browser will reject those cross-origin calls.
Common Problems and Fixes
Request failed with a CORS note
The browser blocks responses from servers that do not send permissive cross-origin headers. This is a browser security rule, not a tool fault. Test an API that allows browser origins, or use a server-side client for endpoints that do not.
My JSON body is ignored
Bodies are only sent for non-GET and non-HEAD methods. Switch the method to POST, PUT, or PATCH, and add a Content-Type header of application/json so the server parses it correctly.
A header or param did not apply
Rows with an empty key are skipped. Make sure the key field on each header or param row is filled in; blank-key rows are dropped before the request is sent.
Response shows raw text instead of formatted JSON
Automatic indentation only happens when the body parses as valid JSON. If the server returns malformed JSON, HTML, or plain text, the response is shown exactly as received.
About HTTP Request Builder
This tool lets you build and send HTTP requests directly from your browser. Useful for testing REST APIs, webhooks, and HTTP endpoints without installing any software.
Frequently Asked Questions
Is this tool free to use?
Yes, this tool is completely free.
No account or registration is required.
You can use it as many times as you like.
Why am I getting a CORS error?
CORS errors happen when the target API does not allow requests from browser origins.
This is a browser security restriction, not a tool limitation.
APIs that support CORS will work correctly.
Is my data private?
Requests are sent directly from your browser to the target server.
We do not proxy, log, or store your requests or responses.
Treat sensitive credentials with care when using any online tool.
Can I send JSON data?
Yes. Switch to the Body tab and paste your JSON.
Add a Content-Type: application/json header in the Headers tab.
The response body is automatically formatted if it is valid JSON.
Does it support authentication?
Add Authorization headers manually in the Headers tab.
Bearer tokens, API keys, and Basic auth headers are all supported this way.
There is no dedicated auth panel; headers cover all auth types.
Does it work on mobile?
Yes, the tool is fully responsive.
It works on phones, tablets, and desktops.
No app download is needed.
What browsers are supported?
All modern browsers are supported.
This includes Chrome, Firefox, Safari, and Edge.
Keep your browser updated for best results.
Can I save my requests?
Currently requests are not saved between sessions.
Refresh the page to start a new request.
You can keep the tab open to reuse the same configuration.
Sources and References
Format and tool details on this page are based on the official specifications and documentation below.
- RFC 9110: HTTP Semantics- IETF
- HTTP- MDN Web Docs