Skip to content
capzy
Cloudflare Turnstile
AntiTurnstileTaskProxyLess

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.

Avg Speed~5.0s
Success99%+
Cost / 1k$2.00
Throughput12/m

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

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": "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

use_result.py
# 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.

solve_proxy.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": "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 socks5
proxyAddresstypestringreqyesProxy IP address or hostname
proxyPorttypenumberreqyesProxy port number
proxyLogintypestringreqnoProxy username (if auth required)
proxyPasswordtypestringreqnoProxy password (if auth required)
userAgenttypestringreqnoUser-Agent string to use. Must match the UA you use when submitting the token

Task Parameters

API Spec
typetypestringreqyesAntiTurnstileTaskProxyLess or AntiTurnstileTask
websiteURLtypestringreqyesThe page URL where Turnstile is loaded
websiteKeytypestringreqyesThe sitekey (starts with 0x...). Found in data-sitekey attribute or JS source

Response Shape

tokentypestringThe solved Turnstile token. Submit in cf-turnstile-response field

Example response

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "0.AbCdEfGh1234567890_xyzqwerty.kxJ..."
  }
}

Error response

{
  "errorId": 1,
  "errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
  "errorDescription": "Solver gave up."
}

Features

2-3 second average solve time
99%+ success rate on all Turnstile variants
Supports managed, interactive, and invisible modes
15 dedicated browser instances per container
Per-browser proxy rotation for freshness
Compatible with Selenium, Puppeteer, Playwright, and HTTP clients

Pricing & Stats

Per 1,000 solves$2.00
Avg solve time~5.0s
Success rate99%+
Throughput12/m

Start solving cloudflare turnstile.

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

Frequently asked questions