Skip to main content
This article will introduce a Recaptcha3 protocol recognition API integration instruction, which allows users to complete verification without recognizing and clicking on Recaptcha3 captcha images, simply by submitting the Website Key for automatic decoding in the background.

Application Process

To use the Recaptcha3 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 inviting 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: Recaptcha3 Protocol Recognition API →

Basic Usage

First, understand the basic usage method. Compared to Recaptcha2, we need to pass an additional parameter page_action, which needs to be obtained from the code. The demo URL for this presentation is: https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php. Below is a method to obtain it:

Quick Method:

Open F12, then search for .execute( in the Elements page. In the red box area, we can see the action parameter, and there is also a string following execute, which is also needed later. The specifics are shown in the image below.

Next, you need to input the URL of the website that requires captcha processing to obtain the processed result. First, you need to simply pass a website_url field, and finally, you need to input the parameter website_key, which can be obtained from the previous text, also a string following execute. We can then fill in the corresponding content on the interface, as shown in the image:

Here we can see that we have set the Request Headers, including:
  • accept: the format of the response result you want to receive, filled in as application/json, which is JSON format.
  • authorization: the key for calling the API, which can be directly selected after application.
Additionally, the Request Body is set, including:
  • page_action: needs to be obtained from the website code where the captcha is located.
  • website_url: the URL of the website that requires captcha processing.
  • website_key: the website key identifier in Recaptcha3.
After selection, you can find that the corresponding code is also generated on the right side, as shown in the image:

Click the “Try” button to conduct a test, as shown in the image above, and we have obtained the following result:
The return result contains multiple fields, described as follows:
  • token, the verification result after processing the Recaptcha3 captcha task.
As we can see, we have obtained the verification result for processing the Recaptcha3 captcha, which we can use for POST or GET to simulate submission to the target website, valid for 120 seconds, and it is recommended to use it within 60 seconds. Below is a brief introduction to a method to submit the generated token to the target website: Call the Python version code corresponding to the token verification:
Therefore, we can obtain the result:
As we can see, the success indicates the processing result of this verification, confirming that we have successfully passed the Recaptcha3 captcha verification. Additionally, if you want to generate the corresponding integration code, you can directly copy the generated code, for example, the CURL code is as follows:
The Python integration code 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 “get the task_id immediately after submitting the task, schedule other solvers, and come back later for the result,” you can pass async: true in the request body. After passing async: true, the interface will immediately return a task_id without blocking:
Then use the task_id to poll POST /captcha/tasks (recommended every 3-5 seconds) to get the result:
During processing, it will return status: processing:
When processing is complete, it will return status: ready and the token:
Billing Explanation: In asynchronous mode, creating tasks and polling “processing” are not charged; only when successfully obtaining results is it charged once (at the same price as synchronous mode). Therefore, canceling unfinished tasks during rotation will not incur costs. /captcha/tasks is applicable to all captcha interfaces (token and recognition series), and you can poll with the same task_id.

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 api_not_implemented: Bad request, possibly due to missing or invalid parameters.
  • 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.

Error Response Example

Conclusion

Through this document, you have learned how to use the Recaptcha3 protocol recognition API to allow users to bypass recognizing and clicking on Recaptcha3 captcha images, achieving backend automatic decoding by simply submitting the Website Key. We hope this document helps you better integrate and use this API. If you have any questions, please feel free to contact our technical support team.