# API Endpoints

CaptchaSolv API endpoints. Submit captcha tasks and retrieve solutions.

# Health Check

GET /health

No authentication required. Returns {"status": "ok", "service": "CaptchaSolv", "time": 1706100000}.


# Get Supported Types

GET /supportedTypes

No authentication required. Returns {"errorId": 0, "types": ["RecaptchaV2TaskProxyless", ...]}.


# Create Task (Async)

Creates a task and returns a taskId for polling with Get Task Result.

Request
Response
POST /createTask
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://example.com",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq1bi0DJwx_mJ-"
  }
}
{
  "errorId": 0,
  "taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}

# Parameters

Parameter Type Required Description
clientKey string Your API key
task.type string Captcha type (see Supported Types)
task.websiteURL string Target website URL
task.websiteKey string ⚠️ Site key (required for most types)
task.proxy string Proxy for *Task types — protocol://user:pass@host:port
task.userAgent string Custom User-Agent for the browser session
task.captchaJs string GeeTest JS library URL (GeeTest v4 only)
task.apiServers string GeeTest API server URL (GeeTest v4 only)
task.staticServers string GeeTest static server URL (GeeTest v4 only)
task.score string Score mode for v3/v3e: normal (default) or high
waitForSlot boolean If true, waits up to 300s for a free slot instead of returning ERROR_LIMIT_EXCEEDED

# Get Task Result

Poll for the result of a created task.

Request
Response (Processing)
Response (Ready)
POST /getTaskResult
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY",
  "taskId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
{
  "errorId": 0,
  "status": "processing"
}
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "03AGdBq24PBCbwiDRaS_MJ...",
    "userAgent": "Mozilla/5.0 ..."
  },
  "cost": "0.00100",
  "createTime": 1706100000,
  "endTime": 1706100015,
  "solveCount": 1
}

# Status Values

Status Description
processing Task is being solved, poll again in 3-5 seconds
ready Task completed, solution available

# Solve (Sync)

Synchronous solving - waits for result (up to 120 seconds timeout).

Same request body as /createTask, including waitForSlot support.

Request
Response
POST /solve
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://example.com",
    "websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq1bi0DJwx_mJ-"
  }
}
{
  "errorId": 0,
  "solution": {
    "token": "03AGdBq24PBCbwiDRaS_MJ...",
    "userAgent": "Mozilla/5.0 ..."
  },
  "cost": "0.00100",
  "createTime": 1706100000,
  "endTime": 1706100015,
  "solveCount": 1
}

# Get Balance

Request
Response
POST /getBalance
Content-Type: application/json

{
  "clientKey": "YOUR_API_KEY"
}
{
  "errorId": 0,
  "balance": 10.50
}