API Tester

Send GET, POST, PUT, PATCH and DELETE requests straight from your browser, add headers and a body, then inspect the status code, timing, response headers and pretty-printed JSON.

Request Headers
Request Body
Response
Send a request to see the response here.
Request History
No requests yet. Send a request to see it here.

What you can do with this API tester

This page is a quick way to try an HTTP API without installing a desktop client. Use it to check that an endpoint answers, see the JSON it returns, test a POST payload, or confirm that an Authorization header is accepted. After each request you get the status code and text, the time the request took, the size of the response body, the response headers the browser lets the page read, and the body itself. JSON bodies are pretty-printed with two-space indentation; anything else is shown as plain text.

How to send a request

  1. Pick a method from the drop-down: GET, POST, PUT, DELETE or PATCH. The Request Body card appears only for POST, PUT and PATCH.
  2. Enter the endpoint URL. If you leave out the scheme, https:// is added for you. Press Enter in the URL box or click Send.
  3. Under Request Headers, edit the pre-filled Content-Type: application/json row, or click + Add Header for others such as Authorization: Bearer … or Accept. Rows with an empty name are skipped, and × removes a row.
  4. For a body, choose JSON, Form or Text and type it in. Format JSON re-indents valid JSON. With Form selected, the page adds application/x-www-form-urlencoded only when no Content-Type header exists, so change or delete the default JSON row first.
  5. Read the Response card. Switch between the Body and Headers tabs, and use Copy Response to copy the raw, unformatted body text.
  6. Request History keeps your last 10 requests. Click an entry to load its method and URL again (headers and bodies are not saved), use × to delete one, or Clear to empty the list.

How it works, and why CORS matters

Each request is made with the browser's fetch() API, directly from your device to the URL you entered. It does not pass through a ToolHub server, which also means the browser's security rules apply in full:

The time shown runs from just before the request until the whole body has been read, so it includes DNS lookup, connection setup, server processing and download. The size is the byte length of the decoded body text, not the compressed transfer size. HTTP/2 servers send no reason phrase, so the badge may show only the number.

Frequently asked questions

Why does a request fail here but work in curl or Postman?

Command-line and desktop clients are not browsers, so they ignore CORS. A web page can only read a cross-origin response when the server explicitly allows it. If you control the API, add the appropriate CORS headers; otherwise use a desktop client for that endpoint.

Where do my URLs, tokens and request bodies go?

Only to the server you are calling. ToolHub does not receive or log them. That server sees your IP address, an Origin: https://webhut.top header and whatever headers and body you entered. The history list stores just the method, URL, status, duration and time in your browser's localStorage under api_tester_history; tokens and bodies are not saved. Avoid pasting production secrets on a shared computer.

Can I test an API that relies on login cookies?

Usually not. Requests use the browser's default credentials mode, so cookies belonging to other sites are not attached and cookie-based sessions will come back as 401 or 403. Send a token in a header instead.

Can I send a body with DELETE or GET, or upload a file?

No. A body is sent only with POST, PUT and PATCH, and only as text you type in. Multipart file uploads are not supported.

Related tools