Home → REST API Tester Online
Test REST API endpoints with custom headers and JSON bodies.
Test REST API endpoints with custom headers and JSON bodies. This tool runs entirely in your browser — no data is ever sent to a server. Free to use, no account required.
The API tester lets you send HTTP requests and inspect JSON responses directly in your browser, without installing a dedicated API client.
Configure the HTTP method (GET, POST, PUT, PATCH, DELETE), enter the URL, add request headers, and write a JSON request body. Click Send and the tool makes the actual HTTP request from your browser.
The response body is automatically parsed and syntax-highlighted for easy reading. Status code, response time, and response headers are displayed alongside the formatted JSON body.
The API tester is ideal for quick exploration and debugging without the overhead of a full API client installation.
Test a public API endpoint immediately without installing Postman, Insomnia, or another dedicated API client. The tool is available instantly in your browser with no setup required.
Send a JSON request body and immediately see the server response. Iterate quickly on the request structure, headers, or endpoint URL to debug API integration issues.
Testing REST APIs requires sending HTTP requests with JSON payloads and inspecting JSON responses. Understanding request/response structure is essential for API development and integration.
| Method | Request Body | Purpose | Example Path |
|---|---|---|---|
| GET | No body | Retrieve data | /api/users/1 |
| POST | JSON body | Create resource | /api/users |
| PUT | JSON body | Replace resource | /api/users/1 |
| PATCH | JSON body | Partial update | /api/users/1 |
| DELETE | No body | Delete resource | /api/users/1 |
// POST /api/users
// Request Headers
Content-Type: application/json
Authorization: Bearer eyJhbGc...
// Request Body
{
"name": "Alice",
"email": "alice@example.com",
"role": "user"
}
// Response: 201 Created
{
"id": "uuid-123",
"name": "Alice",
"email": "alice@example.com",
"role": "user",
"createdAt": "2024-01-15T10:30:00Z"
}
| Status Code | Meaning |
|---|---|
| 200 OK | Request succeeded |
| 201 Created | Resource created successfully |
| 400 Bad Request | Invalid JSON or missing required fields |
| 401 Unauthorized | Missing or invalid authentication token |
| 403 Forbidden | Authenticated but insufficient permissions |
| 404 Not Found | Resource does not exist |
| 422 Unprocessable | Validation errors in request body |
| 500 Server Error | Internal server error — check server logs |
Explore more tools: All JSON Tools | Validator | Pretty Print | JSON Diff
RESTful APIs follow a consistent pattern: each HTTP method maps to a CRUD operation, and the JSON request/response structure is predictable. The table below covers the full set of operations for a typical /users resource.
| Operation | Method | Path | Request Body | Expected Response |
|---|---|---|---|---|
| Create | POST | /users | {"name":"Alice","email":"alice@example.com"} | 201 + created object |
| Read all | GET | /users | None | 200 + array of users |
| Read one | GET | /users/1 | None | 200 + single user |
| Update | PUT | /users/1 | {"name":"Alice Updated"} | 200 + updated object |
| Partial update | PATCH | /users/1 | {"email":"new@example.com"} | 200 + updated object |
| Delete | DELETE | /users/1 | None | 204 No Content |
HTTP status codes are grouped by their first digit: 2xx means success, 4xx means a client error (your request is wrong), and 5xx means a server error (the server is broken). Knowing the exact code immediately tells you where to look when debugging.
| Code | Meaning | Common in APIs |
|---|---|---|
| 200 OK | Success | GET, PUT, PATCH |
| 201 Created | Resource created | POST |
| 204 No Content | Success, no body | DELETE |
| 400 Bad Request | Invalid JSON or params | All |
| 401 Unauthorized | Missing/invalid auth | All |
| 403 Forbidden | Valid auth, no permission | All |
| 404 Not Found | Resource doesn't exist | GET, PUT, DELETE |
| 422 Unprocessable | Valid JSON, failed validation | POST, PUT |
| 429 Too Many Requests | Rate limited | All |
| 500 Internal Server Error | Server bug | All |