Back to all solvers
Dedicated solver

Cloudflare Turnstile Solver API

Integrate Cloudflare Turnstile solving into your automation through one stable REST endpoint. Send the target details and receive a ready-to-use solution without maintaining custom bypass logic.

Cloudflare Turnstile
Task typeTurnstile
Average speed< 5s
Price per 1,0000,5$ / 1k
How it works

Cloudflare Turnstile, without custom bypass code.

A predictable three-step flow that stays the same even when Cloudflare Turnstile changes its protection.

For a standalone widget, send the site key and page URL. For a Cloudflare Challenge page, also send the action, cData, and chlPageData values captured from the page's turnstile.render() call.

01

Submit the target

Send the page URL and the challenge-specific fields in a single API request.

02

We handle the challenge

CaptchaSolv routes the task to a specialized solver and tracks it until completion.

03

Use the solution

Receive the token, headers, cookies, or sensor payload required by your next request.

API integration

The same endpoint and response envelope across every supported solver.

POST /solve
Request
{
  "api_key": "YOUR_API_KEY",
  "type": "Turnstile",
  "site_url": "https://example.com/login",
  "data": {
    "site_key": "0x4AAAAAAAd3XXXXXXXXXX"}
}
Response200 OK
{
  "errorId": 0,
  "status": "ready",
  "solvtime": 3.1,
  "data": {
    "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
    "language": "en-US,en;q=0.9",
    "solution": {
      "token": "0.zrSnRHO7h0HwSjSCU8oyzbjEtD8p..."}
  }
}
Task data fields

Fields you can send inside the data object of a solve request for this captcha type.

site_keyRequired

Turnstile sitekey - found inside the data-sitekey attribute of the turnstile div, or the sitekey argument of turnstile.render().

actionOptional

Required only for Cloudflare Challenge pages - the action value passed to turnstile.render().

cdataOptional

Required only for Cloudflare Challenge pages - the cData value passed to turnstile.render().

pagedataOptional

Required only for Cloudflare Challenge pages - the chlPageData value passed to turnstile.render().

Solution fields

Fields returned in data.solution once the task is solved.

solution.tokenRequired

Submit as the value of the cf-turnstile-response (or g-recaptcha-response, for reCAPTCHA-compatibility mode) hidden input, or pass it to the page's callback function.

data.useragentRequired

The user-agent used while solving - reuse it on your request, the token is bound to this fingerprint.

Frequently asked questions

Common questions about integrating this solver correctly.

Yes - it works on any site running Cloudflare Turnstile, whether it's embedded as a standalone widget on a normal page or shown on a full Cloudflare Challenge interstitial, not just a fixed list of targets.

Need help?

Stuck trying to bypass Cloudflare Turnstile?

Join our Discord and our team will help you get Cloudflare Turnstile solving working in your setup - free advice on handling it programmatically, even as the challenge changes over time.

Join our Discord