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

AWS WAF

Solve AWS WAF captchas with the NoCaptchaAI API.

Create a task

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

Grid captcha

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AwsWafClassification",
    "websiteURL": "https://example.com",
    "images": ["base64-cell-0", "base64-cell-1", "..."],
    "question": "aws:grid:SELECT THE PICTURES THAT MATCH"
  }
}

Toycarcity (single image)

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "AwsWafClassification",
    "websiteURL": "https://example.com",
    "images": ["base64-single-image"],
    "question": "aws:toycarcity:carcity"
  }
}

Get the result

// Grid — cell indexes to click:
{ "errorId": 0, "solution": { "objects": [2, 5, 7] } }

// Toycarcity — click coordinate [x, y]:
{ "errorId": 0, "solution": [140, 95] }
  • Grid: solution.objects are indexes into the 3×3 canvas. Empty objects triggers a refresh.
  • Toycarcity: solution is [x, y] click coordinates.

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": "AwsWafClassification",
        "websiteURL": "https://example.com",
        "images": ["base64-cell-0", "base64-cell-1", "..."],
        "question": "aws:grid:SELECT THE PICTURES THAT MATCH"
    }
}).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: "AwsWafClassification",
      websiteURL: "https://example.com",
      images: ["base64-cell-0", "base64-cell-1", "..."],
      question: "aws:grid:SELECT THE PICTURES THAT MATCH"
    }
  })
}).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": "AwsWafClassification",
      "websiteURL": "https://example.com",
      "images": ["base64-cell-0", "base64-cell-1"],
      "question": "aws:grid:SELECT THE PICTURES THAT MATCH"
    }
  }'

Next steps

On this page

Content-Length: 0