✨ NoCaptcha v2 is here — fresh look, API v2 & agentic solving.Read the changelog →
Solver

Create async captcha solving task

POST
/createTask
*object
object

Creates a new captcha solving task (async). Returns a taskId that can be polled via /getTaskResult until status becomes ready.

The shape of task depends on task.type:

  • Token tasks (return a solve token): CloudflareTurnstileTaskProxyLess, TurnstileTaskProxyLess, ReCaptchaV2TaskProxyLess, ReCaptchaV3TaskProxyLess, GeeTestTaskProxyLess, MTCaptchaTask, AWSWAFTask, AceCaptchaTask, BLSCaptchaTask, ProsopoTask, TikTokTask, CaptchaFoxTask — pass the page URL (websiteURL) and the site key (websiteKey, or gt for GeeTest).
  • Image / OCR tasks (return recognized text or coordinates): ImageToTextTask, ClassificationTask — pass a base64 image in body (plus a question / questionType for classification, or OCR options for ImageToText).

See the request examples for each captcha type. Auth: pass your API key as clientKey in the request body.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

clientKey*string

Your NoCaptchaAI API key.

task*

Task definition. The fields used depend on type. Token tasks use websiteURL + websiteKey/gt; image tasks use body plus a question/questionType or OCR options.

Response Body

application/json

application/json

curl -X POST "https://example.com/createTask" \  -H "Content-Type: application/json" \  -d '{    "clientKey": "YOUR_API_KEY",    "task": {      "type": "AceCaptchaTask",      "websiteURL": "https://example.com",      "websiteKey": "YOUR_WEBSITE_KEY"    }  }'
{  "errorId": 0,  "status": "idle",  "taskId": "CFQ2yP5DOL"}
{  "code": 0,  "msg": "string",  "retryAfterSec": 0}
Content-Length: 0