Error Response Format
When an error occurs, the response includes:Authentication Errors
| Error Code | HTTP | Description |
|---|---|---|
ERROR_KEY_DOES_NOT_EXIST | 404 | API key not found or invalid |
ERROR_ACCOUNT_SUSPENDED | 403 | User account has been suspended |
ERROR_PACKAGE_PAUSED | 403 | Package is currently paused |
ERROR_PACKAGE_EXPIRED | 403 | Package subscription has expired |
ERROR_ZERO_BALANCE | 402 | Insufficient balance for the operation |
ERROR_DATABASE_BALANCE | 503 | Balance deduction failed temporarily |
Validation Errors
| Error Code | HTTP | Description |
|---|---|---|
ERROR_MISSING_REQUEST_DATA | 400 | Request payload is missing or empty |
ERROR_TASK_NOT_SUPPORTED | 400 | Task type is not FunCaptchaTask |
ERROR_INVALID_PUBLIC_KEY | 400 | Public key is not a valid UUID |
ERROR_MISSING_WEBSITE_URL | 400 | websiteURL field is required |
ERROR_MISSING_PUBLIC_KEY | 400 | websitePublicKey field is required |
ERROR_MISSING_PROXY | 400 | proxy field is required |
ERROR_MISSING_WEBSITE_SUBDOMAIN | 400 | websiteSubdomain field is required |
ERROR_INVALID_EXTRA_DATA | 400 | data field is not valid JSON |
ERROR_INVALID_HEADERS | 400 | headers field is not a valid JSON object |
ERROR_MISSING_USER_AGENT | 400 | User-Agent is required when sec-ch-* headers are provided |
Proxy Errors
| Error Code | HTTP | Description |
|---|---|---|
ERROR_INVALID_PROXY_PROTOCOL | 400 | Protocol must be http, socks4, or socks5 |
ERROR_INVALID_PROXY_PORT | 400 | Port must be between 1 and 65535 |
ERROR_INVALID_PROXY_AUTH | 400 | Proxy authentication (user:pass) is missing |
ERROR_INVALID_PROXY_FORMAT | 400 | Proxy string doesn’t match expected format |
ERROR_PROXY_CONNECTION | 503 | Could not connect through the proxy |
Rate Limit Errors
| Error Code | HTTP | Description |
|---|---|---|
ERROR_RATE_LIMIT_EXCEEDED | 429 | Daily or hourly quota exceeded |
ERROR_THREAD_THRESHOLD_EXCEEDED | 429 | Too many concurrent tasks for this user |
Task Errors
| Error Code | HTTP | Description |
|---|---|---|
ERROR_TASK_NOT_FOUND | 404 | Task ID doesn’t exist or has expired |
ERROR_TASK_EXCEPTION | 500 | Internal error during task execution |
ERROR_TASK_CANCELLED | 500 | Task was cancelled due to an internal error |
ERROR_TASK_TIMEOUT | 504 | Task exceeded the 300-second total timeout |
ERROR_SOLVE_TIMEOUT | 504 | Solve phase exceeded the 120-second timeout |
ERROR_CAPTCHA_UNSOLVABLE | 403 | Failed to solve the CAPTCHA challenge |
ERROR_PROCESSING_IMAGE | 504 | Processing timed out |
Service Errors
| Error Code | HTTP | Description |
|---|---|---|
ERROR_SERVICE_UNAVALIABLE | 503 | Service is temporarily disabled |
ERROR_TEMPLATE_NOT_FOUND | 404 | No Arkose template found for this public key |
ERROR_FINGERPRINT_UNAVAILABLE | 503 | Service temporarily unavailable |
ERROR_DATABASE_UNAVAILABLE | 503 | Service temporarily unavailable |
ERROR_INTERNAL_DATABASE | 500 | Internal server error |
Handling Errors
Retryable Errors
These errors are temporary and can be retried with backoff:ERROR_SERVICE_UNAVALIABLEERROR_DATABASE_UNAVAILABLEERROR_DATABASE_BALANCEERROR_FINGERPRINT_UNAVAILABLEERROR_PROXY_CONNECTIONERROR_THREAD_THRESHOLD_EXCEEDEDERROR_SOLVE_TIMEOUTERROR_PROCESSING_IMAGE
Non-Retryable Errors
These errors require fixing the request:- All validation errors (
ERROR_MISSING_*,ERROR_INVALID_*) ERROR_KEY_DOES_NOT_EXISTERROR_ACCOUNT_SUSPENDEDERROR_ZERO_BALANCEERROR_TASK_NOT_SUPPORTEDERROR_TEMPLATE_NOT_FOUND