API Tester API
Category: developer
Send HTTP requests to any API endpoint with custom method, headers, and body. Uses a server-side proxy to avoid CORS issues.
Endpoint
POST
https://anythingtext.com/api/tools/apitester
Authentication Required
Content-Type: application/json
Authentication
This API requires an API key. Generate one from the API Keys section in your dashboard settings.
Include the X-API-Key header in all API requests:
X-API-Key: atk_your_api_key_here
Rate Limiting
API requests are limited to 60 requests per minute per user. If you exceed this limit, the API returns a 429 Too Many Requests response.
Every response includes rate limit headers:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
X-RateLimit-Reset: 42
When rate limited, the response body contains:
{ "error": "Rate limit exceeded. Maximum 60 requests per minute.", "retryAfter": 42, "limit": 60 }
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
method
|
String | Optional |
HTTP method: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS (default: GET)
Example: GET
|
url
|
String | Required |
The target URL to send the request to
Example: https://jsonplaceholder.typicode.com/posts/1
|
headers
|
Object | Optional |
Custom headers as key-value pairs
Example: {"Authorization": "Bearer token"}
|
body
|
String | Optional |
Request body (for POST, PUT, PATCH)
Example: {"title": "test"}
|
Response
Content-Type: application/json
Proxied response with status, headers, body, and duration
{
"status": 200,
"headers": {"content-type": "application/json"},
"body": "{\"id\": 1, ...}",
"duration": 245
}
Error Responses
| Status | Description | Body |
|---|---|---|
401 |
Not authenticated | {"error": "Please log in..."} |
400 |
Bad request / Missing required params | {"error": "... is required"} |
500 |
Internal server error | {"error": "Failed to ..."} |
cURL Example
curl -X POST https://anythingtext.com/api/tools/apitester \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key_here" \
-d '{"method": "GET", "url": "https://jsonplaceholder.typicode.com/posts/1"}'
Code Samples
const response = await fetch('https://anythingtext.com/api/tools/apitester', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'your_api_key_here'
},
body: JSON.stringify({"method": "GET", "url": "https://jsonplaceholder.typicode.com/posts/1"})
});
const data = await response.json();
console.log('Result:', data);
import requests
import json
response = requests.post(
'https://anythingtext.com/api/tools/apitester',
json={'method': 'GET', 'url': 'https://jsonplaceholder.typicode.com/posts/1'},
headers={'X-API-Key': 'your_api_key_here'}
)
data = response.json()
print('Result:', data)
import java.net.URI;
import java.net.http.*;
HttpClient client = HttpClient.newHttpClient();
String json = "{\"method\": \"GET\", \"url\": \"https://jsonplaceholder.typicode.com/posts/1\"}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://anythingtext.com/api/tools/apitester"))
.header("Content-Type", "application/json")
.header("X-API-Key", "your_api_key_here")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println("Response: " + response.body());