Cloudflare Turnstile Solver, solved in 5.0s.
Bypass Cloudflare Turnstile captcha instantly. Our AI solver produces valid tokens in 2-3 seconds with 99%+ success rate.
Cloudflare Turnstile is a smart captcha that replaces reCAPTCHA on millions of websites. It runs invisible behavioral checks in the background and either auto-passes or shows a simple checkbox challenge. Turnstile is embedded as a widget in forms (login, signup, checkout) and produces a token that the site validates server-side. Turnstile is used by over 25 million websites and is one of the most common captchas you'll encounter.
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": "AntiTurnstileTaskProxyLess",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAADnPIDROrmt1Wwj"
}
}).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)
Using the result
# Step 3: Use the result — paste the token into the site's captcha form field
token = result["solution"]["token"]
# Browser side: set the textarea value or the hidden input. Then submit.
# Server-to-server: post the token alongside the form fields you normally send.
resp = requests.post("https://target.example.com/submit", data={
"username": "...",
"captcha_response": token, # <-- replace with the field name your site uses
})
print(resp.status_code)1. Send Payload
Dispatch your AntiTurnstileTaskProxyLess to our processing cluster via the secure API endpoint.
2. Solving Engine
Capzy's proprietary solver returns valid Turnstile tokens for authorized testing and automation. Most solves complete in 2-3 seconds.
3. Get Result
Poll getTaskResult for the validated token, then finalize your automated request.
Using your own proxy
Use AntiTurnstileTask instead of AntiTurnstileTaskProxyLess to route the solve through your own proxy — useful when the target site checks that the solving IP matches the submitting IP.
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": "AntiTurnstileTask",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAADnPIDROrmt1Wwj",
"proxyType": "http",
"proxyAddress": "123.45.67.89",
"proxyPort": "8080",
"proxyLogin": "user",
"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)
Additional proxy parameters
proxyTypetypestringreqyesProxy protocol: http, https, socks4, or socks5proxyAddresstypestringreqyesProxy IP address or hostnameproxyPorttypenumberreqyesProxy port numberproxyLogintypestringreqnoProxy username (if auth required)proxyPasswordtypestringreqnoProxy password (if auth required)userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the tokenTask Parameters
API SpectypetypestringreqyesAntiTurnstileTaskProxyLess or AntiTurnstileTaskwebsiteURLtypestringreqyesThe page URL where Turnstile is loadedwebsiteKeytypestringreqyesThe sitekey (starts with 0x...). Found in data-sitekey attribute or JS sourceResponse Shape
tokentypestringThe solved Turnstile token. Submit in cf-turnstile-response fieldExample response
{
"errorId": 0,
"status": "ready",
"solution": {
"token": "0.AbCdEfGh1234567890_xyzqwerty.kxJ..."
}
}Error response
{
"errorId": 1,
"errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
"errorDescription": "Solver gave up."
}Features
Pricing & Stats
Start solving cloudflare turnstile.
$0.10 in free credits — no card. ~250 free solves to test before you spend.