Skip to content
../products
● fastest in classproxy required

AWS WAF Captcha Solver, solved in 15.0s.

Two solve modes: full token flow (returns aws-waf-token cookie) or image-only classification (you keep your browser, we just classify the grid).

Proxy required for AWS WAF Captcha Solver

Tokens are bound to the solving IP. Use AntiAwsWafTask with proxyAddress + userAgent. The *TaskProxyLess variant returns ERROR_PROXY_REQUIRED at no charge.

per 1,000$3.00
avg solve~15.0s
success99%+
throughput4/m
proxyPort: 8080…0.00s
POST/createTask type=AntiAwsWafTask
taskId tsk_815mgfb1
POLL/getTaskResult status=processing
status ready
token 0xc2d0875580b4f...
type: AntiAwsWafTask● running on production solvers

What is AWS WAF Captcha?

AWS WAF Captcha is Amazon's bot detection on sites using AWS Web Application Firewall. The challenge has two parts: a proof-of-work token, and (when escalated) an image grid where you select tiles matching a target — chairs, bags, spoons, etc. We ship two task types because customer integrations differ. If you want the full aws-waf-token cookie hands-off, use AntiAwsWafTask*. If you're already running your own browser/Selenium and just need the right tile indices, use AwsWafClassification — sub-3 second image-only API, no browser, no proxy bandwidth charged.

How It Works

1

Send Task

POST your AntiAwsWafTask with the target URL and sitekey to our API. We'll queue it instantly.

2

We Solve

AntiAwsWafTask*: Capzy's proprietary solver handles AWS WAF proof-of-work and image-grid challenges end-to-end. Routed through residential when needed. AwsWafClassification: classification-only mode — submit the 9 base64 tiles + question code (e.g. aws:grid:chair) and we return the matching indices. You keep your own browser session.

3

Get Token

Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.

Quick Integration

solve.py
import requests, time

API = "https://api.capzy.ai"
KEY = "capzy_your_key_here"

# Step 1: Create task
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "AntiAwsWafTask",
        "proxyPort": "8080",
        "proxyType": "http",
        "proxyLogin": "user",
        "websiteURL": "https://example.com/protected-page",
        "proxyAddress": "123.45.67.89",
        "proxyPassword": "pass"
    }
}).json()

task_id = task["taskId"]
print(f"Task created: {task_id}")

# Step 2: Poll for result
while True:
    result = requests.post(f"{API}/getTaskResult", json={
        "clientKey": KEY,
        "taskId": task_id
    }).json()

    if result["status"] == "ready":
        print("Solved!", result["solution"])
        break
    elif result["status"] == "failed":
        print("Failed:", result.get("errorDescription"))
        break

    time.sleep(1)

task parameters.

Proxy fields below are required for this captcha — userAgent must match the one you’ll use when submitting the resulting token.
typetypestringreqyesAntiAwsWafTaskProxyLess or AntiAwsWafTask (token flow), or AwsWafClassification (image-only)
websiteURLtypestringreqnoToken flow only — the page URL showing the AWS WAF challenge
imagestypestring[]reqnoAwsWafClassification only — array of base64-encoded grid tile images (typically 9)
questiontypestringreqnoAwsWafClassification only — the target label, e.g. "aws:grid:chair", "aws:grid:bag", "aws:grid:spoon"
proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5
proxyAddresstypestringreqyesProxy IP address or hostname
proxyPorttypenumberreqyesProxy port number
proxyLogintypestringreqnoProxy username (if auth required)
proxyPasswordtypestringreqnoProxy password (if auth required)
userAgenttypestringreqyesUser-Agent string to use. Must match the UA you use when submitting the token

solution response.

cookietypestringToken flow — the aws-waf-token cookie value
objectstypenumber[]Classification — 0-based indices of tiles that matched the target label
scorestypenumber[]Classification — per-tile confidence (parallel to your input order)

Features

Two task types: full token flow + image-only classification
Token flow: sub-second lightweight path with browser fallback
Image-only: sub-3s, no browser, no proxy bandwidth — $0.0008/solve
Capzy proprietary classifier — covers all standard AWS WAF grid labels
Browser fallback routed through residential pool when AWS escalates

Required Task Type

AntiAwsWafTask

Frequently Asked Questions

start solving aws waf captcha.

$0.10 in free credits — no card. ~250 free solves to test before you spend.