| # 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 |
|
|
| ```json |
| { |
| "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 |
|
|
| ```json |
| { |
| "errorId": 0, |
| "taskId": "uuid-string" |
| } |
| ``` |
|
|
| ### Common error responses |
|
|
| ```json |
| { |
| "errorId": 1, |
| "errorCode": "ERROR_TASK_NOT_SUPPORTED", |
| "errorDescription": "Task type 'X' is not supported." |
| } |
| ``` |
|
|
| ```json |
| { |
| "errorId": 1, |
| "errorCode": "ERROR_TASK_PROPERTY_EMPTY", |
| "errorDescription": "websiteURL and websiteKey are required" |
| } |
| ``` |
|
|
| ## `POST /getTaskResult` |
|
|
| ### Request |
|
|
| ```json |
| { |
| "clientKey": "your-client-key", |
| "taskId": "uuid-from-createTask" |
| } |
| ``` |
|
|
| ### Processing response |
|
|
| ```json |
| { |
| "errorId": 0, |
| "status": "processing" |
| } |
| ``` |
|
|
| ### Ready response for reCAPTCHA v2/v3 |
|
|
| ```json |
| { |
| "errorId": 0, |
| "status": "ready", |
| "solution": { |
| "gRecaptchaResponse": "token..." |
| } |
| } |
| ``` |
|
|
| ### Ready response for Cloudflare Turnstile |
|
|
| ```json |
| { |
| "errorId": 0, |
| "status": "ready", |
| "solution": { |
| "token": "cf-turnstile-token..." |
| } |
| } |
| ``` |
|
|
| ### Ready response for `ImageToTextTask` |
|
|
| ```json |
| { |
| "errorId": 0, |
| "status": "ready", |
| "solution": { |
| "text": "{\"captcha_type\":\"click\", ...}" |
| } |
| } |
| ``` |
|
|
| ### Ready response for classification tasks |
|
|
| ```json |
| { |
| "errorId": 0, |
| "status": "ready", |
| "solution": { |
| "objects": [0, 3, 6] |
| } |
| } |
| ``` |
|
|
| ### Not found response |
|
|
| ```json |
| { |
| "errorId": 1, |
| "errorCode": "ERROR_NO_SUCH_CAPCHA_ID", |
| "errorDescription": "Task not found" |
| } |
| ``` |
|
|
| ## `POST /getBalance` |
|
|
| ### Request |
|
|
| ```json |
| { |
| "clientKey": "your-client-key" |
| } |
| ``` |
|
|
| ### Response |
|
|
| ```json |
| { |
| "errorId": 0, |
| "balance": 99999.0 |
| } |
| ``` |
|
|
| This balance is currently a static compatibility response. |
|
|
| ## `GET /api/v1/health` |
|
|
| Example response: |
|
|
| ```json |
| { |
| "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. |
|
|