Skip to content

API Reference

Endpoints

  • POST /createTask
  • POST /getTaskResult
  • POST /getBalance
  • GET /api/v1/health
  • GET /

All task endpoints are JSON-based and follow a YesCaptcha-style async task pattern.

POST /createTask

Request shape

{
  "clientKey": "your-client-key",
  "task": {
    "type": "RecaptchaV3TaskProxyless",
    "websiteURL": "https://antcpt.com/score_detector/",
    "websiteKey": "6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf",
    "pageAction": "homepage"
  }
}

Supported task types (19 total)

reCAPTCHA v3 (browser-based)

  • RecaptchaV3TaskProxyless
  • RecaptchaV3TaskProxylessM1
  • RecaptchaV3TaskProxylessM1S7
  • RecaptchaV3TaskProxylessM1S9
  • RecaptchaV3EnterpriseTask
  • RecaptchaV3EnterpriseTaskM1

Required fields: websiteURL, websiteKey. Optional: pageAction, minScore.

reCAPTCHA v2 (browser-based)

  • NoCaptchaTaskProxyless
  • RecaptchaV2TaskProxyless
  • RecaptchaV2EnterpriseTaskProxyless

Required fields: websiteURL, websiteKey. Optional: isInvisible.

hCaptcha (browser-based)

  • HCaptchaTaskProxyless

Required fields: websiteURL, websiteKey.

Cloudflare Turnstile (browser-based)

  • TurnstileTaskProxyless
  • TurnstileTaskProxylessM1

Required fields: websiteURL, websiteKey.

Image recognition

  • ImageToTextTask
  • ImageToTextTaskMuggle
  • ImageToTextTaskM1

Required fields: body (base64-encoded image).

Image classification

  • HCaptchaClassification
  • ReCaptchaV2Classification
  • FunCaptchaClassification
  • AwsClassification

Required fields: image or images or queries (base64-encoded). Optional: question.

Compatibility note on minScore

The request model accepts minScore for compatibility. The current solver implementation does not enforce score targeting based on this field.

Success response

{
  "errorId": 0,
  "taskId": "uuid-string"
}

Common error responses

{
  "errorId": 1,
  "errorCode": "ERROR_TASK_NOT_SUPPORTED",
  "errorDescription": "Task type 'X' is not supported."
}
{
  "errorId": 1,
  "errorCode": "ERROR_TASK_PROPERTY_EMPTY",
  "errorDescription": "websiteURL and websiteKey are required"
}

POST /getTaskResult

Request

{
  "clientKey": "your-client-key",
  "taskId": "uuid-from-createTask"
}

Processing response

{
  "errorId": 0,
  "status": "processing"
}

Ready response for reCAPTCHA v2/v3

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "token..."
  }
}

Ready response for Cloudflare Turnstile

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "cf-turnstile-token..."
  }
}

Ready response for ImageToTextTask

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "text": "{\"captcha_type\":\"click\", ...}"
  }
}

Ready response for classification tasks

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "objects": [0, 3, 6]
  }
}

Not found response

{
  "errorId": 1,
  "errorCode": "ERROR_NO_SUCH_CAPCHA_ID",
  "errorDescription": "Task not found"
}

POST /getBalance

Request

{
  "clientKey": "your-client-key"
}

Response

{
  "errorId": 0,
  "balance": 99999.0
}

This balance is currently a static compatibility response.

GET /api/v1/health

Example response:

{
  "status": "ok",
  "supported_task_types": [
    "RecaptchaV3TaskProxyless",
    "RecaptchaV3TaskProxylessM1",
    "RecaptchaV3TaskProxylessM1S7",
    "RecaptchaV3TaskProxylessM1S9",
    "RecaptchaV3EnterpriseTask",
    "RecaptchaV3EnterpriseTaskM1",
    "NoCaptchaTaskProxyless",
    "RecaptchaV2TaskProxyless",
    "RecaptchaV2EnterpriseTaskProxyless",
    "HCaptchaTaskProxyless",
    "TurnstileTaskProxyless",
    "TurnstileTaskProxylessM1",
    "ImageToTextTask",
    "ImageToTextTaskMuggle",
    "ImageToTextTaskM1",
    "HCaptchaClassification",
    "ReCaptchaV2Classification",
    "FunCaptchaClassification",
    "AwsClassification"
  ],
  "browser_headless": true,
  "captcha_model": "gpt-5.4",
  "captcha_multimodal_model": "qwen3.5-2b"
}

GET /

The root endpoint returns a compact service description and the registered task types at runtime.