Overview
API Tester lets you build, save and replay HTTP requests. Collections, requests and environments are stored in IndexedDB inside your browser — nothing is uploaded.
Collections & requests
- New collection: click + Collection in the sidebar.
- New request: hover a collection, click its + button. The new request opens in the editor — give it a URL and hit Save.
- Rename / duplicate / delete: use the collection menu (⋮) or the toolbar inside the request editor.
- Copy / cut / paste: use the menu (⋮) next to a request to copy or cut it, then paste into any collection from that collection's menu.
Variables
- Anywhere a string is used (URL, headers, params, body),
{{name}} is substituted at send time.
- Environments are named bundles of variables. The header dropdown selects which one is active.
- Global variables are used as a fallback when a variable isn't in the active environment.
- Use the Preview tab on a request to see the final, substituted request and its cURL equivalent.
Body modes
- JSON — sets
Content-Type: application/json automatically if you haven't set one. Pretty-formats with the Pretty button.
- raw — exactly the text you type. You set the
Content-Type header.
- x-www-form-urlencoded — key/value table, encoded into the body.
- form-data (text only) — multipart form, text fields. File uploads aren't supported in v1.
Importing OpenAPI / Swagger / Postman
- Import spec… opens a wizard. Pick one of the bundled popular OpenAPI specs, type a URL, pick a JSON file, or paste the document directly.
- Auto-detects OpenAPI 3.x, Swagger 2.0, and Postman v2.x.
- Path parameters (
{id} in OpenAPI, :id in Postman) are rewritten to {{id}} so you can set them via the active environment.
- Query and header parameters become rows in the request — required ones are enabled, optional ones unchecked.
- Request bodies are pre-filled from the schema (using
example fields when present).
- Postman folders are flattened with the folder name as a prefix on each request. Postman collection variables become an environment named after the collection.
- Postman auth (bearer, basic, apikey) maps to our auth tab. Other auth types fall back to "none" — set headers manually.
- If a remote URL fails with a CORS error, open it in a normal browser tab and paste the JSON.
Descriptions
- Every collection has a description, edited via the ⋮ menu → Edit collection….
- Every request has a description, edited in the collapsible Description section at the top of the editor.
- A bullet appears next to the section title when a description exists.
Backup & restore
- Export in the header writes a JSON file containing every collection, request and environment.
- Import reads that file. You can either replace everything or merge — duplicates by name become "(copy)".
- Data also rides along with the central site data tool, so a single export there will back up every tool at once.
CORS & what the browser allows
- This tool uses the browser's
fetch. If the target server doesn't send permissive CORS headers, the request will fail with a CORS error and you won't be able to read the response.
- Some headers (
Origin, Cookie, User-Agent, Host) cannot be set from a browser — use a desktop tool for those.
- For local development, calling
http://localhost APIs typically works fine.