Endpoints
POST /solve
Synchronous solve - enqueue a task and wait for the result in one call.
POST https://v2.captchasolv.com/solve
Blocks until the task is solved or the timeout is reached. The simplest option for most use cases.
Request
{
"api_key": "string",
"type": "RecaptchaV3",
"site_url": "https://example.com/",
"proxy": "user:pass@host:port",
"useragent": "Mozilla/5.0 ...",
"timeout_secs": 30,
"data": { }
}| Field | Type | Required | Description |
|---|---|---|---|
api_key | string | Yes | Your API key. |
type | string | Yes | Captcha type. See Captcha Types. |
site_url | string | Yes | The page URL where the captcha appears. |
proxy | string | No | Proxy used by the worker. Format: user:pass@host:port or host:port. |
useragent | string | No | Custom User-Agent. A real Chrome UA is used by default. |
timeout_secs | integer | No | Max wait time in seconds. Default: 120. |
data | object | Yes | Type-specific fields. See the Captcha Types reference for each type. Valid types: RecaptchaV2, RecaptchaV2Invisible, RecaptchaV2Enterprise, RecaptchaV2EnterpriseInvisible, RecaptchaV3, RecaptchaV3Enterprise, Kasada, KasadaCustom, Akamai. |
Response
Success (errorId: 0):
{
"errorId": 0,
"status": "ready",
"solvtime": 1.42,
"data": {
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...",
"language": "en-US,en;q=0.9",
"solution": { }
}
}| Field | Type | Description |
|---|---|---|
errorId | integer | 0 = success. |
status | string | "ready" when solved. |
solvtime | float | Solve time in seconds. |
data.useragent | string | User-Agent used during solving - send it alongside the solution. |
data.language | string | Accept-Language header used during solving. |
data.solution | object | Type-specific solution fields. See the Captcha Types reference for each type. |
Error (errorId != 0):
{
"errorId": 7,
"errorMessage": "solve timeout"
}Always send the same useragent from data.useragent when submitting the solution to
the target site - it is bound to the browser fingerprint used during solving.