Skip to content
TabBench

API Request Builder

An online REST client: set the method, URL, headers, body and auth, send the request from your browser and inspect the response, then copy it as curl, fetch or Python.

Requests go directly from your browser to the address you enter. TabBench does not see or store them.

What the API Request Builder does

An API request is more than a URL: a method, headers, a body in the right format and credentials all have to be correct before the server will answer. This builder lets you assemble a request with a form instead of remembering syntax, send it straight from your browser and read the response, then take it with you as a curl command or as code. When a request fails it tells you why, separating a server that cannot be reached from one that answered but does not allow this page to read the reply.

How to build and send an API request

  1. Choose the method and type the URL. Try one of the public test APIs if you want to see it work first.
  2. Add query parameters and headers, then set the body type (JSON, form, multipart, text or a file) and, if needed, authentication.
  3. Press Send request. The response shows its status, time, size, headers and body, with JSON pretty-printed and images displayed.
  4. If the request fails, read the explanation: it says whether the server could not be reached or whether the browser blocked the response because of CORS.
  5. Copy the request as curl, fetch, Axios or Python from the section at the bottom, or import an existing curl command to start from it.

Requests go directly from your browser to the address you enter. TabBench does not see or store them.

When to use it

Trying an endpoint before writing code

Check that an API key works, see the exact shape of a response and confirm the status codes before you write a single line of integration code.

Reproducing a bug report

Import the curl command from a bug report, run it, change one header and see what changes, then copy the fixed request back out.

Generating the code for a request

Build the request visually and export it as fetch, Axios or Python, with headers and body already correct.

Good to know

  • Browsers will not send certain headers, such as Cookie, Host and Referer. The tool tells you which were dropped. curl does not have this limit.
  • A request that needs a CORS preflight (non-simple methods, custom headers such as Authorization, or JSON bodies) fails if the API does not answer OPTIONS with the right headers.
  • Use test or sandbox credentials when you can. Anything you type is sent to the server you name.
  • Bodies of GET and HEAD requests are not sent by browsers.
  • If you only see a generic error, try the same request with curl in a terminal, which is not subject to CORS.

Frequently asked questions

Why does my request fail with a network error?

A browser only lets this page read a response if the server allows it with CORS headers. For a GET or HEAD the tool runs a second check to tell you whether the server answered but blocked the reply, or could not be reached at all. A terminal with curl is not limited by CORS.

Can I call localhost or a private network?

Yes, if the server is running on your computer or network and sends CORS headers. Browsers allow https pages to call http://localhost, but block other plain http addresses as mixed content.

Is it safe to put real tokens here?

Requests go from your browser directly to the server you name, so the server sees whatever you send. Nothing is saved by TabBench and the form is not stored. Use test credentials when you can, and clear any real token from the form after use.

Why can't I read some response headers?

For cross-origin requests the browser only exposes a short list of safe headers plus those the server names in Access-Control-Expose-Headers. Others are hidden from web pages. curl -i shows all of them.

Does this replace Postman?

For quick requests, yes: it needs no install or account. Postman and similar desktop apps are not limited by CORS and offer collections, environments and automation, so they suit larger workflows.

What happens with file uploads?

Choose Multipart and set a field to File to pick a file from your device. It is sent straight from your browser to the server you entered. It is never uploaded to TabBench.