We have a guide - How to solve Cloudflare captcha & Cloudflare Turnstile using API of our service here - guide - how bypass cloudflare turnstile
If you want you can read it there or - we write short instuction here:
Open developer's console in your browser and find element with data-sitekey attribute.
<div class="cf-turnstile" data-sitekey="0x4AAAAAAAC3DHQFLr1GavRN"></div>
Make a POST request to https://2captcha.com/in.php with the following parameters:
  {
    "key": "YOUR_API_KEY",
    "method": "turnstile",
    "sitekey": "0x4AAAAAAAC3DHQFLr1GavRN",
    "pageurl": "${window.location.href}",
    "json": 1
  }
If everything is fine server will return the ID of your captcha:
  {
    "status": 1,
    "request": "2122988149"
  }
After 15-20 seconds send GET request to get the result.
GET https://2captcha.com/res.php?key=YOUR_API_KEY&action=get&id=2122988149&json=1
If captcha is already solved server will respond with the answer token.
  {
    "status": 1,
    "request": "0.WoGeDojxQzHCCk023JRjfxv23olYh37jFdvPrcqmNeQ7PbSYIEuiBTK2SR_GdjfMitYEC23Gm7Vt93U1CPcI6aIFEhG-ffe1i9e6tIfIlYCFtb7OMxTB4tKCyTdpiaA.SP5YT77nuMNdOhZlvoBWAQ.da6448d22df7dd92f56a9fcf6d7138e5ee712bcf7d00c281f419b3bc091cbe64"
  }
If captcha is not solved yet server will return CAPCHA_NOT_READY code. Repeat your request in 5 seconds. If something went wrong server will return an error code.
Use the token returned in your interaction with the target website. Normally the token is sent through the input with name="cf-turnstile-response" or, if reCAPTCHA compatibility mode is enabled, also in input with name="g-recaptcha-response". Also the token can be processed by a callback function defined in turnstile.render call or inside data-callback attribute.
Code examples:
php
$result = $solver->turnstile([
  'sitekey' => '0x4AAAAAAAChNiVJM_WtShFf',
  'url'     => 'https://ace.fusionist.io',
]);
Python
result = solver.turnstile(sitekey='0x1AAAAAAAAkg0s2VIOD34y5', url='http://mysite.com/')
Ruby
require 'api_2captcha'
client =  Api2Captcha.new("YOUR_API_KEY")
result = client.turnstile({
  sitekey: '0x1AAAAAAAAkg0s2VIOD34y5',
  pageurl: 'http://mysite.com/'
})
You can use this examples, but don't forgot change API Key and URL.
              
    
Top comments (0)