Overview
Base URL, authentication, response shape, and rate limits for the AnySolver API.
The AnySolver API is JSON-over-HTTPS. Every request authenticates with clientKey in the body, every response carries errorId so you branch on the JSON, never the HTTP status.
Base URL
https://api.anysolver.comAuthentication
Pass your AnySolver API key as clientKey in the body of every request. Send Content-Type: application/json.
{
"clientKey": "YOUR_API_KEY"
}Get your API key from the Dashboard API Keys page.
Endpoints
Workflow
/createTask with the task body. The response includes taskId.Poll the task. After 3 to 5 seconds, POST to /getTaskResult every 2 to 3 seconds until status is ready or
failed.
Use the solution. On status: "ready", read the captcha token from solution and submit it to the target site.
Response format
Success:
{
"errorId": 0,
"...": "endpoint-specific fields"
}Error:
{
"errorId": 1,
"errorCode": "ERROR_CODE",
"errorDescription": "Human-readable message"
}errorId | Meaning | Retry? |
|---|---|---|
0 | Success. | N/A |
1 | External or client issue (bad input, sitekey, captcha unsolvable). | Fix the request first. |
2 | AnySolver internal error. | Safe to retry once after a 1 to 5 second delay. |
HTTP 200 for errors
All endpoints return HTTP 200 even on error. Branch on the JSON errorId field, not the HTTP status. 0 means
success; non-zero means an error and errorCode plus errorDescription are populated.
See Error handling for the full list of error codes.
Rate limits
Two independent limits apply:
- 10,000 requests per 10 seconds. Exceeding it returns
errorCode: "RATE_LIMITED"on the request that breached the window. - 1,000 concurrent processing tasks per API key. Submitting
/createTaskwhile you already have 1,000 tasks in flight on the same key returnserrorCode: "RATE_LIMITED"immediately; the request never reaches a provider so you are not charged. Tasks free up as soon as they reachreadyorfailed.
The 1,000 in-flight cap exists only to absorb runaway spam from a single compromised key — it is not a paid feature. If your workload genuinely needs more, contact support and we will raise the cap for your key at no extra cost.
Need higher limits?
Contact support if you need a higher request rate limit or per-key concurrency cap for your use case.