API для решения Cloudflare Turnstile
Решайте и обходите Cloudflare Turnstile через единый стабильный REST API. Отправьте данные цели и получите готовое решение за секунды - без поддержки собственного bypass-кода.

Как работает решение Cloudflare Turnstile
Cloudflare's non-interactive challenge widget, used both as a standalone captcha embedded on a page and on full Cloudflare Challenge ("Just a moment...") interstitial pages. We solve both cases and return a token ready to submit.
Предсказуемый процесс из трёх шагов, который не меняется даже после обновлений защиты Cloudflare Turnstile.
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.
Отправьте цель
Передайте URL страницы и поля конкретной проверки в одном API-запросе.
Мы решаем проверку
CaptchaSolv направляет задачу специализированному решателю и отслеживает её до завершения.
Используйте решение
Получите токен, заголовки, cookies или sensor payload для следующего запроса.
Запрос и ответ API для Cloudflare Turnstile
Единый эндпоинт и формат ответа для всех поддерживаемых решателей.
{
"api_key": "YOUR_API_KEY",
"type": "Turnstile",
"site_url": "https://example.com/login",
"data": {
"site_key": "0x4AAAAAAAd3XXXXXXXXXX"}
}{
"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..."}
}
}Поля запроса таска
Поля, которые можно передать внутри объекта data при отправке запроса на решение этого типа captcha.
site_keyОбязательноеTurnstile sitekey - found inside the data-sitekey attribute of the turnstile div, or the sitekey argument of turnstile.render().
actionОпциональноеRequired only for Cloudflare Challenge pages - the action value passed to turnstile.render().
cdataОпциональноеRequired only for Cloudflare Challenge pages - the cData value passed to turnstile.render().
pagedataОпциональноеRequired only for Cloudflare Challenge pages - the chlPageData value passed to turnstile.render().
Поля решения
Поля, возвращаемые в data.solution после решения таска.
solution.tokenОбязательное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.useragentОбязательноеThe user-agent used while solving - reuse it on your request, the token is bound to this fingerprint.
What is Cloudflare Turnstile?
Cloudflare Turnstile is Cloudflare's CAPTCHA replacement. Instead of image puzzles, the widget runs a series of small non-interactive browser challenges - proof-of-work, proof-of-space, probes for web APIs and checks for browser quirks and human behaviour - and decides in the background whether the visitor is human.
Turnstile shows up in two places: as a standalone widget embedded in login, signup and checkout forms, and on full-page Cloudflare Challenge interstitials ("Just a moment..." / "Verify you are human"). Either way, a passed challenge produces a token that the page submits as cf-turnstile-response and the site validates with Cloudflare's siteverify API. Tokens are single-use and expire after 300 seconds.
Our Turnstile solver handles both cases. For a widget, send the site key and page URL; for a challenge page, add the action, cData and chlPageData values from turnstile.render(). You get back a token and the user-agent to send it with.
- 01
Widget renders
challenges.cloudflare.com loads the widget for the site's site key.
- 02
Silent checks
Non-interactive challenges probe the browser - most visitors never click anything.
- 03
Token issued
A cf-turnstile-response token is written into the form or passed to a callback.
- 04
Siteverify
The site's backend validates the token with Cloudflare once, within 300 seconds.
Turnstile parameters
sitekeyKeyPublic key from data-sitekey or turnstile.render(), usually starting with 0x4.
cf-turnstile-responseKeyHidden input the token is submitted in (g-recaptcha-response in compatibility mode).
actionWidget action - required for Cloudflare Challenge pages.
cDataCustom data passed to turnstile.render() on challenge pages.
chlPageDataChallenge-page payload from turnstile.render(), sent as pagedata.
user-agentReuse the user-agent from the solve - the token is bound to it.
How to bypass Cloudflare Turnstile with the API
Turnstile never shows a puzzle, so there is nothing to click through. What you need is a valid cf-turnstile-response token for the exact site key and page.
- 01
Get the site key
Read data-sitekey from the cf-turnstile div, or the sitekey passed to turnstile.render().
- 02
Challenge page? Capture its data
On "Just a moment..." pages also capture action, cData and chlPageData from the turnstile.render() call.
- 03
Create a Turnstile task
POST site_url, site_key and the challenge fields (if any) to /solve and poll until the status is ready.
- 04
Submit the token
Put solution.token into cf-turnstile-response or pass it to the callback, and send the request with the returned user-agent within 300 seconds.
FAQ по решению Cloudflare Turnstile
Частые вопросы о правильной интеграции этого решателя.
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.
A standalone widget just needs the site key - Turnstile renders inline on an otherwise normal page. A Cloudflare Challenge page ("Just a moment...") additionally passes action, cData, and chlPageData into turnstile.render(), and all three need to be captured and sent to us for that case.
Set solution.token as the value of the cf-turnstile-response hidden input field before submitting the form, or call the page's turnstile.render() callback function with the token if the site processes it via JavaScript instead of a form field.
The token is generated against a specific browser fingerprint during solving. Sending a different user-agent on your actual request than the one in data.useragent can cause Cloudflare to reject an otherwise valid token.
Cloudflare accepts a Turnstile token for 300 seconds and only once, so solve right before you submit the protected form or request instead of keeping tokens in a pool.
Не получается сделать bypass Cloudflare Turnstile?
Присоединяйтесь к нашему Discord - команда поможет настроить решение Cloudflare Turnstile в вашем проекте, бесплатно подскажет, как обрабатывать это программно, даже когда защита меняется.
Другие решатели
Переключитесь на другой поддерживаемый тип captcha.