Send a sitekey.
Get a token.
One anti-captcha compatible endpoint for Turnstile, reCAPTCHA, hCaptcha, Cloudflare interstitials and FunCaptcha. Solves that fail are refunded as they fail, so you pay for the tokens you could actually use.
No card required. Top up with crypto or card when you're ready.
Supported task types
Cloudflare Turnstile
All modes (managed, non-interactive, invisible). Exact User-Agent supported.
- task.type
- TurnstileTokenProxyLess
- +2 accepted aliases
- Returns
- Token
- Typical
- 1.6–4s
Six families, one endpoint
Switch task type, keep the same integration. Every family returns through the same polling contract.
Cloudflare Turnstile
All modes (managed, non-interactive, invisible). Exact User-Agent supported.
- Typical
- 1.6–4s
- Returns
- Token
reCAPTCHA v3
v3 and v3 Enterprise, score-based, custom pageAction.
- Typical
- 1.4–3.7s
- Returns
- Token
reCAPTCHA v2
Checkbox and invisible, solved via the audio challenge.
- Typical
- 9–11s
- Returns
- Token
Cloudflare Challenge
Clears the "Just a moment…" interstitial and JSD sensor, returns cf_clearance cookies.
- Typical
- 4–7s
- Returns
- cf_clearance cookies
hCaptcha
Non-enterprise widget and invisible mode.
- Typical
- 4–35s
- Returns
- Token
FunCaptcha / Arkose
Arkose Labs FunCaptcha, games answered on a minimal page.
- Typical
- 5–20s
- Returns
- Token
Two calls, no SDK
If you already talk to CapSolver or Anti-Captcha, change the base URL and your key. That's the migration.
- Create a task
- POST the sitekey and page URL. You get a task id back immediately.
- Poll for the result
- Ask for the result until status flips to ready, then use the token.
curl https://api.captchapi.com/createTask \
-H 'content-type: application/json' \
-d '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "TurnstileTokenProxyLess",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAADnPIDROrmt1Wwj"
}
}'
# → { "errorId": 0, "taskId": "9f2c…" }
curl https://api.captchapi.com/getTaskResult \
-H 'content-type: application/json' \
-d '{ "clientKey": "YOUR_API_KEY", "taskId": "9f2c…" }'
# → { "errorId": 0, "status": "ready",
# "solution": { "token": "0.f3Kd…" } }The same challenge, four providers
Median solve time over repeated runs against live sitekeys. Competitor figures are their own published averages.
Built for people who watch their p95
Failed solves cost nothing
We charge on create and refund the moment a task fails. Your invoice matches your successful requests, not your attempts.
Latency we publish
Every number on this site is measured on the machine that serves you, not a marketing figure. The status page shows the live p50 and p95.
Drop-in compatible
The anti-captcha contract, including error codes. Existing clients work unchanged — HTTP is always 200, you branch on errorId.
Exact User-Agent matching
Ask for a specific Chrome, Edge or Firefox build and the token is produced by that engine. Real Gecko for Firefox tasks, not a spoofed header.
Pay per thousand solves
No subscription, no minimum spend. Volume discounts apply automatically as your lifetime spend grows.
- Cloudflare Turnstile$0.60
- reCAPTCHA v3$0.60
- reCAPTCHA v2$1.00
- Cloudflare Challenge$1.20
- hCaptcha$1.50
- FunCaptcha / Arkose$2.00
per 1,000 solves
See full pricingStart with a key and a few cents
Create an account, generate a key, and run your first solve in the time it takes to read the docs.
Create an account