# API Tester (HTTP Requests)

> Make HTTP requests from your browser: GET, POST, PUT, DELETE, with custom headers and body. Import a cURL command, see the full response (status, headers, body) with timing. Free, in browser, no signup.

URL: https://uttir.com/api-tester
Categories: developer-tools, web-tools, data-tools
Privacy: Your request goes from your browser to the target server directly. Nothing is sent to a third party.

## About

Make HTTP requests from your browser. Pick a method, paste a URL, add headers and a body, and see the full response: status, headers, body, and how long it took. Useful for testing an API before you wire it into a real application, debugging a failing endpoint, or exploring a public API like GitHub, OpenWeather, or a custom backend.

Import a cURL command from the API docs and the form fills itself. The request goes from your browser to the target server directly — there is no proxy in between, so the response is the same as what a real client would see.

## How to use

1. **Pick a method and enter a URL** — GET is the default. The URL must start with http:// or https://.
2. **Add headers (optional)** — Most APIs need an Authorization header. Use the "Add header" button for each one.
3. **Add a body (for POST / PUT / PATCH)** — JSON, form-encoded, or plain text. The body kind auto-sets the Content-Type header.
4. **Click Send** — The request is made from your browser. The response shows status, headers, body, and timing.

## Examples

### Test a public API

Make a GET to a public API and see the JSON response. No auth, no rate limits, no API key needed for the example APIs.

Input:

```
GET https://api.github.com/repos/sveltejs/kit
```

Output:

```
A 200 response with the repository metadata, JSON-formatted, showing the full body in a few seconds.
```

### POST a JSON body

Most modern APIs use JSON for both the request and the response. The form auto-sets Content-Type: application/json when you pick the JSON body kind.

Input:

```
POST https://httpbin.org/post
Authorization: Bearer x
Content-Type: application/json

{"name":"alice","age":30}
```

Output:

```
A 200 response with the body echoed back, showing what the server received.
```

### Import a cURL command

Most API docs give cURL examples. Paste the command into the import field and the form fills in method, URL, headers, and body.

Input:

```
curl -X POST -H "Authorization: Bearer x" -H "Content-Type: application/json" -d '{"query":"hello"}' https://api.example.com/v1/search
```

Output:

```
The form shows: method POST, the URL, both headers, and the JSON body. One click to send.
```

## FAQ

### Is my request going through a proxy?

No. The request goes from your browser directly to the target server. CORS still applies: if the server does not allow cross-origin requests from a browser, you will get a CORS error. The error is from the target server, not from us.

### What about CORS?

Browsers enforce CORS for cross-origin requests. If the target server does not allow your origin (or does not allow the method / headers you are sending), the browser blocks the response and you see a CORS error. The fix is on the server side — the API needs to send the right Access-Control-Allow-* headers. Many public APIs do this; many internal ones do not.

### Are my API keys safe?

Your API keys live in the request form. They are sent from your browser to the target server. We do not log them, store them, or send them anywhere else. Clear the form when you are done to remove them from your browser memory.

### Can I save requests for later?

Not in this version. The form resets when you reload. Use a real API client (Insomnia, Postman, Bruno) for saved collections and environments.

## Related tools

- [JSON Formatter](https://uttir.com/json-formatter) — Format, beautify, and validate JSON with adjustable indentation — instantly in your browser.
- [JSON Tree Viewer](https://uttir.com/json-tree-viewer) — Paste any JSON and explore it as a collapsible tree. Click any value to copy it, or copy the whole path. Free, runs in your browser, no upload.
- [JSON Validator](https://uttir.com/json-validator) — Check whether your JSON is valid and find the exact line and column of any syntax error.
- [Base64 Encoder](https://uttir.com/base64-encoder) — Encode any text — including emoji and non-Latin scripts — into standard Base64.
- [JWT Decoder](https://uttir.com/jwt-decoder) — Decode a JWT’s header and payload and check its expiration — without sending it anywhere.
- [HTTP Status Code Lookup](https://uttir.com/http-status-codes) — Look up any HTTP status code from 100 to 511 with plain-language explanations, searchable and filterable by category.
- [URL Encoder](https://uttir.com/url-encoder) — Percent-encode text for safe use in URLs — as a query value or a full URL.
- [URL Decoder](https://uttir.com/url-decoder) — Decode percent-encoded URLs and query strings back into readable text.

---

For the full HTML page with the live tool, visit https://uttir.com/api-tester.
This file is the markdown rendering at https://uttir.com/api-tester.md. See https://uttir.com/llms.txt for a site-wide summary.
