Make proxied HTTP request
Make an HTTP request through a rotating proxy.
This endpoint routes your HTTP request through the proxy pool, automatically handling rotation and failover.
SECURITY: All target URLs are validated to prevent SSRF attacks. The following are blocked by default:
- Localhost and loopback addresses (127.0.0.0/8, ::1)
- Private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- Link-local addresses (169.254.0.0/16)
- Internal domain names (.local, .internal, .lan, .corp)
- Non-HTTP/HTTPS schemes (file://, data://, etc.)
Args: request_data: Request details (URL, method, headers, body, timeout) - validated for SSRF rotator: ProxyWhirl dependency injection api_key: API key verification dependency
Returns: APIResponse with proxied response data
Raises: HTTPException: For various error conditions including SSRF protection
Authorization
APIKeyHeader In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/api/request" \ -H "Content-Type: application/json" \ -d '{ "headers": { "User-Agent": "ProxyWhirl/1.0" }, "method": "GET", "timeout": 30, "url": "https://httpbin.org/ip" }'{
"data": {
"message": "Operation completed successfully"
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2025-10-27T12:00:00Z",
"version": "1.0.0"
},
"status": "success"
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}