Introduction
More
ZeroCaptcha solves Cloudflare Turnstile widgets and Cloudflare challenge pages through an HTTP API, for developers who automate, test or collect data on sites they are allowed to access. Sign up with an email and a password, create your key, add funds in crypto, and send your first task: the quickstart walks through it with one complete program in Python, Node, Go or curl.
What you can solve
Section titled “What you can solve”| Task type | What you send | What you get |
|---|---|---|
TurnstileTaskProxyless |
The page’s URL and its Turnstile site key | A token for the page’s form, valid once for 300 seconds |
TurnstileTask |
The same, and your proxy | A token, solved through your proxy |
CloudflareChallengeTask |
The page behind a Cloudflare challenge, and your proxy | Its cf_clearance cookie and the user agent it is bound to |
See Solving Cloudflare Turnstile and Cloudflare WAF and 5-second challenges for every field.
How a task works
Section titled “How a task works”- Create a task. Send the page and what the task needs. The price is held from your prepaid balance, and you get a task ID back at once.
- Get the result. Ask for the task by ID every 2 seconds until it ends, or name a callback URL and we call it when the task ends. A solved task returns the token with the time it was issued and when it expires.
- Pay only for success. A solved task turns the hold into a charge. A failed or timed-out task releases the hold, so it costs nothing.
How a task works covers every state, how long each step takes and what is charged when.
Three formats, one API
Section titled “Three formats, one API”The API is at https://api.zerocaptcha.io. It speaks three formats over the same pipeline, with the same prices
and checks:
- REST v1: resource URLs, bearer keys, an
Idempotency-Keyheader for safe retries, and problem details for every error. Use it for new code. - The createTask format:
createTask,getTaskResultandgetBalance, the shape existing CAPTCHA-solving clients already speak. Change the base URL and the key, and they work unchanged. - The 2Captcha format:
in.phpandres.php, for clients written for 2Captcha’s API v1.
ZeroCaptcha is not affiliated with 2Captcha, CapSolver or Anti-Captcha; their names appear only to say which API formats it speaks.
Your API key
Section titled “Your API key”There is one kind of key, and it starts with zc_live_. Every task it creates is real, and charged
from your balance only when it is solved: there is no sandbox, test key or free credit. Each key is
shown once, when you create it. See Authentication for sending it and
keeping it safe, and API keys for scopes, allowlists, spend caps, rotation and
revocation.
Your balance
Section titled “Your balance”ZeroCaptcha is prepaid, in US dollars. You add funds in crypto, from $10 with no maximum, through our payment processor’s checkout page, and the balance pays for your tasks. Top-ups are final. See Billing. What each solved task costs today:
| Task | API task type | Price per task | Per 1,000 solved |
|---|---|---|---|
| Cloudflare Turnstile, your proxy | TurnstileTask | $0.0007 | $0.70 |
| Cloudflare Turnstile, proxyless | TurnstileTaskProxyless | $0.0008 | $0.80 |
| Cloudflare WAF and 5-second challenge, your proxy | CloudflareChallengeTask | $0.0012 | $1.20 |
Hand it to your AI assistant
Section titled “Hand it to your AI assistant”Working with an AI coding assistant? Give it one file and it has the whole API: every call, field and error code, the retry rules, tested clients in four languages and a checklist. Every page here also has Copy as Markdown and Open in Claude or ChatGPT at the top.
Reference
Section titled “Reference”- API reference: every operation your code can call, generated from the API’s contract, with samples. The contract itself is at /openapi.json.
- Errors: every error code, whether a retry helps, and what it costs.
- Limits, the callback payload, the FAQ and the changelog.
- The glossary: the terms these pages use, such as sitekey, cData and cf_clearance.