Application Process
To use the Cloudflare Turnstile Protocol Recognition API, first go to the Ace Data Cloud Console to obtain your API Token for future use.
If you are not logged in or registered, you will be automatically redirected to the login page to invite you to register and log in, and after completion, you will be automatically returned to the current page.
One API Token can call all services on the platform without needing to apply separately for each service. The first application will grant a free quota for a trial experience; when the quota is insufficient, you can recharge the general balance in the console.
📘 Complete Documentation: Cloudflare Turnstile Protocol Recognition API →
Basic Usage
First, understand the basic usage, which is to input the website URL that needs to process the Turnstile CAPTCHA to obtain the processed result. You need to simply pass awebsite_url field. Our example website is: https://react-turnstile.vercel.app, and we need to obtain the website_key from the website_url page. First, open this webpage, press F12 to enter the console, and perform a global search for cf-turnstile in the Element page to find the container element that carries Turnstile, where the string corresponding to data-sitekey is the value of the website_key.
The Request Headers set include:
accept: the format of the response result you want to receive, here filled asapplication/json, which means JSON format.authorization: the key to call the API, which can be directly selected after application.
website_url: the website URL that needs to process the CAPTCHA.website_key: the website key identifier (sitekey) in Cloudflare Turnstile.action: an optional parameter that only needs to be passed when the target website has set a customactionfor the Turnstile component.cdata: an optional parameter that only needs to be passed when the target website has set a customcDatafor the Turnstile component.
token: the verification result after processing the Cloudflare Turnstile CAPTCHA task.started_at,finished_at: the time when this request started processing and produced results, in Unix timestamp (seconds, float).elapsed: the total time taken for this processing (seconds).
cf-turnstile-response parameter to the target website, and the corresponding Python code to call the token verification is as follows:
Asynchronous Mode (async)
By default, the API is synchronous and blocking: a request will wait until the token processing is complete before returning. If you are doing multi-solver rotation and want to “immediately get the task_id after submitting the task, then schedule other solvers and come back later to read the result,” you can passasync: true in the request body.
After passing async: true, the interface will immediately return a task_id without blocking:
task_id to query POST /captcha/tasks (recommended every 3-5 seconds). This interface will not trigger or advance task processing; even if you do not query, lose network connection, or exit the client, the server will continue processing:
status: processing; when processing is complete, it will return status: ready and the token:
timeout, and no charge will be incurred. /captcha/tasks does not advance the task.
Note: Cloudflare Turnstile does not currently support Bring Your Own Proxy, so this interface does not accept theproxyparameter; if passed, it will return400 invalid_proxy.
Error Handling
When calling the API, if an error occurs, the API will return the corresponding error code and message. For example:400 token_mismatched:Bad request, possibly due to missing or invalid parameters.400 invalid_proxy:Bad request, proxy is not supported for this captcha type.401 invalid_token:Unauthorized, invalid or missing authorization token.429 too_many_requests:Too many requests, you have exceeded the rate limit.500 api_error:Internal server error, something went wrong on the server.

