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

ReCaptcha v2

Solve reCAPTCHA v2 image challenges with the NoCaptchaAI API.

Create a task

POST https://api.nocaptchaai.com/createTask

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ReCaptchaV2Classification",
    "questionType": "33",
    "image": [
      "base64-of-cell-0",
      "base64-of-cell-1"
    ],
    "question": "Select all images with traffic lights",
    "websiteURL": "https://example.com"
  }
}

questionType values

ValueGridDescription
"33"3×39 individual cell images in image
"44"4×416 individual cell images in image
"split_33"3×3Single full source image in image (server splits it)

Get the result

// For "33" / "44" — cell indexes to click:
{ "errorId": 0, "solution": { "objects": [0, 3, 7] } }

// For "split_33" — either form is accepted:
{ "errorId": 0, "solution": { "objects": [0, 5, 8] } }
{ "errorId": 0, "solution": { "hasObject": [true, false, true] } }
  • objects → array of cell indexes to click.
  • hasObject → boolean per cell; true cells get clicked.
  • An empty objects array triggers a captcha reload.

Code example

import requests
API_KEY = "YOUR_API_KEY"; BASE = "https://api.nocaptchaai.com"
res = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "ReCaptchaV2Classification",
        "questionType": "33",
        "image": ["base64-cell-0", "base64-cell-1", "..."],
        "question": "Select all images with traffic lights",
        "websiteURL": "https://example.com"
    }
}).json()
print(res)
const API_KEY = "YOUR_API_KEY", BASE = "https://api.nocaptchaai.com";
const res = await fetch(`${BASE}/createTask`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    clientKey: API_KEY,
    task: {
      type: "ReCaptchaV2Classification",
      questionType: "33",
      image: ["base64-cell-0", "base64-cell-1", "..."],
      question: "Select all images with traffic lights",
      websiteURL: "https://example.com"
    }
  })
}).then(r => r.json());
console.log(res);
curl -X POST https://api.nocaptchaai.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "ReCaptchaV2Classification",
      "questionType": "33",
      "image": ["base64-cell-0", "base64-cell-1"],
      "question": "Select all images with traffic lights",
      "websiteURL": "https://example.com"
    }
  }'

Next steps

On this page

Content-Length: 0