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
Send Task
POST your AntiAwsWafTask with the target URL and sitekey to our API. We'll queue it instantly.
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.
Get Token
Poll getTaskResult — when status is 'ready', the solution contains the token to inject into the target page.
Quick Integration
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.
typetypestringreqyesAntiAwsWafTaskProxyLess or AntiAwsWafTask (token flow), or AwsWafClassification (image-only)websiteURLtypestringreqnoToken flow only — the page URL showing the AWS WAF challengeimagestypestring[]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 socks5proxyAddresstypestringreqyesProxy IP address or hostnameproxyPorttypenumberreqyesProxy port numberproxyLogintypestringreqnoProxy username (if auth required)proxyPasswordtypestringreqnoProxy password (if auth required)userAgenttypestringreqyesUser-Agent string to use. Must match the UA you use when submitting the tokensolution response.
cookietypestringToken flow — the aws-waf-token cookie valueobjectstypenumber[]Classification — 0-based indices of tiles that matched the target labelscorestypenumber[]Classification — per-tile confidence (parallel to your input order)Features
Required Task Type
AntiAwsWafTaskFrequently Asked Questions
start solving aws waf captcha.
$0.10 in free credits — no card. ~250 free solves to test before you spend.