Cloudflare captcha solver
Cloudflare uses multiple methods to manage unwanted traffic, including JavaScript challenges, CAPTCHA tests, and Turnstile—a user-friendly CAPTCHA that reduces user interaction while ensuring security. Cloudflare captcha solver automatically bypasses any types Cloudflare captcha.
Bypass Cloudflare captchaBest Cloudflare captcha auto solver
By leveraging advanced human-based and AI-driven captcha-solving algorithms, SolveCaptcha achieves speed and cost efficiency, providing a top-tier experience for developers.
-
High Reliability
Service offers the fastest update speeds compared to similar providers, keeping you ahead.
-
No Risks
You only pay for successfully solved CAPTCHAs, with strict monitoring in place to prevent any misuse or illegal activities.
-
AI and Human-Powered
We combine advanced AI with human verification for efficient, fully automated CAPTCHA solving.
-
Wide Compatibility
SolveCaptcha seamlessly integrates with APIs from top manual CAPTCHA recognition services.
-
Diverse Solutions
Access SolveCaptcha through both captcha solver API and a convenient Chrome extension.
-
Trusted
Over 1 000 platforms have integrated captcha solver API for smooth, reliable automation.
Pricing for a Cloudflare captcha auto solver service.
SolveCaptcha is the most cheap and fastest service for solving Cloudflare captcha captchas.
Solutions | Pricing | Speed | Free capacity, per min. |
---|---|---|---|
|
Pricing $0.8 | Speed 15 sec. | Free capacity, per min. 2,883 |
Cloudflare captcha solver API: How to solve and bypass Cloudflare captcha
The process for resolving Cloudflare captcha with SolveCaptcha is follows: When users encounter a captcha, they send a request to SolveCaptcha via captcha solver API, which quickly the captcha, allowing users to proceed without interruption.
Cloudflare Turnstile
Cloudflare Turnstile is a CAPTCHA system developed by Cloudflare designed to protect web forms and pages from automated submissions or malicious activity.
Turnstile is used in two scenarios:
-
As a standalone CAPTCHA widget embedded on a webpage to safeguard forms against automated submissions.
In this setup, the sitekey is retrieved and sent to the API alongside the full page URL.
The resulting token is then added to the
cf-turnstile-response
andg-recaptcha-response
fields before form submission. Optionally, a callback can be defined in theturnstile.render
method. -
On Cloudflare-proxied websites where the Turnstile Challenge page appears.
In this case, specific parameters (
cData
,chlPageData
, andaction
) must be extracted, along with the User-Agent value provided by the API.
Standalone Turnstile captcha
Request example:
https://mysite.com/in.php?method=turnstile&key=YOUR_API_KEY&sitekey=0x4AAAAAAAVrOwQWPlm3Bnr5&pageurl=https%3A%2F%2Fmysite.com%2Fregister&json=1
Code examples for submitting Cloudflare Turnstile using cURL, Python, JavaScript, and Go are described below.
Response example:
{
"status": 1,
"request": "74327409378"
}
The returned ID can be used to retrieve the CAPTCHA solution by sending a request to the res.php
endpoint of the API.
Turnstile captcha on Cloudflare Challenge pages

To bypass the Turnstile CAPTCHA on Cloudflare Challenge pages, you must include the following additional parameters in your request:
action
: The action parameter value extracted from the page.data
: The cData value passed to theturnstile.render
method or defined in thedata-cdata
attribute.pagedata
: ThechlPageData
value passed to theturnstile.render
method.
How to extract the required parameters
To extract the required parameters, you can redefine the turnstile.render
method to capture the parameters passed to it during execution. This involves injecting JavaScript code into the page before the Turnstile widget is initialized. Below is an example of how to achieve this:
const i = setInterval(() => {
if (window.turnstile) {
clearInterval(i);
window.turnstile.render = (a, b) => {
let p = {
method: "turnstile",
key: "YOUR_API_KEY",
sitekey: b.sitekey,
pageurl: window.location.href,
data: b.cData,
pagedata: b.chlPageData,
action: b.action,
userAgent: navigator.userAgent,
json: 1
};
console.log(JSON.stringify(p));
window.tsCallback = b.callback;
return 'foo';
};
}
}, 50);
Request example:
https://api.solvecaptcha.com/in.php?key=YOUR_API_KEY&method=turnstile&sitekey=0x0AAAAAAADnPIDROzbs0Aaj&data=7fab0000b0e0ff00&pagedata=3gAFo2...0ME1UVT0=&pageurl=https://mysite.com/&action=managed&json=1
Response example:
{
"status": 1,
"request": "74327409378"
}
Use the returned ID to request the result from res.php
endpoint of our API:
https://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=74327409378&json=1
Result example:
{
"status": 1,
"request": "0.4uMMZZdSfsVM8...610cd090",
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
}
List of GET/POST request parameters for https://api.solvecaptcha.com/in.php
Parameter | Type | Required | Description |
---|---|---|---|
key | String | Yes | Your API key |
method | String | Yes | turnstile - defines that you're sending Cloudflare Turnstile |
sitekey | String | Yes | Value of sitekey parameter you found on the page |
pageurl | String | Yes | Full URL of the page where you see the captcha |
action | String | No* | Value of optional action parameter you found on the page, can be defined in data-action attribute or passed to turnstile.render call |
data | String | No* | The value of cData passed to turnstile.render call. Also can be defined in data-cdata attribute |
pagedata | String | No* | The value of chlPageData passed to turnstile.render call |
header_acao | Integer Default: 0 |
No | 0 - disabled 1 - enabled. If enabled, in.php will include Access-Control-Allow-Origin: * header in the response. Used for cross-domain AJAX requests in web applications. Also supported by res.php . |
pingback | String | No | URL for pingback (callback) response that will be sent when the captcha is solved. URL should be registered on the server. More info here. |
json | Integer Default: 0 |
No | 0 - server will send the response as plain text 1 - tells the server to send the response as JSON |
proxy | String | No | Format: login:[email protected]:3128 You can find more info about proxies here. |
proxytype | String | No | Type of your proxy: HTTP , HTTPS , SOCKS4 , SOCKS5 . |
* - parameters required to bypass Turnstile on Cloudflare Challenge pages
List of GET
request parameters for https://api.solvecaptcha.com/res.php
GET Parameter | Type | Required | Description |
---|---|---|---|
key | String | Yes | Your API key |
action | String | Yes | get - get the answer for your captcha |
id | Integer | Yes | ID of captcha returned by in.php . |
json | Integer Default: 0 |
No | 0 - server will send the response as plain text 1 - tells the server to send the response as JSON |
Request URL example:
https://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149
Code examples for send Cloudflare Turnstile:
cURL
curl --location 'https://api.solvecaptcha.com/in.php' \
--form 'key="YOUR_API_KEY"' \
--form 'method="turnstile"' \
--form 'sitekey="0x1AAAAAAAAkg0s2VIOD34y5"' \
--form 'pageurl="https://mysite.com/register"' \
--form 'json="1"'
Python
import requests
url = "https://api.solvecaptcha.com/in.php"
payload = {'key': 'YOUR_API_KEY',
'method': 'turnstile',
'sitekey': '0x1AAAAAAAAkg0s2VIOD34y5',
'pageurl': 'https://mysite.com/register',
'json': '1'}
files=[
]
headers = {}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
JavaScript (Node.js)
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://api.solvecaptcha.com/in.php',
'headers': {
},
formData: {
'key': 'YOUR_API_KEY',
'method': 'turnstile',
'sitekey': '0x4AAAAAAAPMtoL-SSuvUpPf',
'pageurl': 'https://mysite.com/page/containing/cloudflare-turnstile',
'json': '1'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Go
package main
import (
"fmt"
"bytes"
"mime/multipart"
"net/http"
"io"
)
func main() {
url := "https://api.solvecaptcha.com/in.php"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("key", "YOUR_API_KEY")
_ = writer.WriteField("method", "turnstile")
_ = writer.WriteField("sitekey", "0x1AAAAAAAAkg0s2VIOD34y5")
_ = writer.WriteField("pageurl", "https://mysite.com/register")
_ = writer.WriteField("json", "1")
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
Captcha Bypass Extension
Chrome browser extension allows automatically solving captchas. Including Google reCAPTCHA v2, v3, FunCaptcha, hCaptcha, Cloudflare bypass, Amazon AWS WAF, and more types.
Best Captcha Recognition and Solving Service Supported
The service enables recognition, solve, bypass, pass of any type of popular captcha.
-
Image CAPTCHA
-
reCAPTCHA v2
-
reCAPTCHA v3
-
FunCaptcha (Arkose Labs) captcha
-
Amazon captcha
-
Text captcha
-
Slider captcha