Application Process
To use the Recaptcha2 image 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, no need to apply separately for each service. The first application will grant a free quota for a free trial; when the quota is insufficient, you can recharge the general balance in the console.
📘 Complete documentation: Recaptcha2 Image Recognition API →
Basic Usage
First, let’s understand the basic usage. We need to capture the Recaptcha2 verification image from the website. The URL of the example website is:https://www.google.com/recaptcha/api2/demo, and the specific page is shown in the image below:

question in the following text. First, we need to simply pass a field called image, which is the specific Recaptcha2 verification image, indicated by the red arrow in the image above. The image must be scaled to standard sizes (100x100, 300x300, 450x450) so that the service can determine the image type. You need to compress the image yourself; this article recommends a compression website where you can resize and compress the image. The result after compression is shown in the image below:
You also need to input the recognition content parameter question related to the verification image. We only provide the following content table for reference:
Chinese Content Table
English Content Table
question to the fire hydrant corresponding to /m/01pns0, with the specific content as follows:

accept: the format of the response result you want to receive, here filled in asapplication/json, which is JSON format.authorization: the key to call the API, which can be directly selected after application.
image: the Base64 encoded verification image.question: the question ID, please refer to the table, starting with /m/.

solution, the verification result after processing the Recaptcha2 verification image task.size, the size of the Recaptcha2 verification image.label, the content recognized in the Recaptcha2 verification image.confidences, the confidence levels of the recognition areas in the Recaptcha2 verification image, with areas starting from 0.objects, the areas that meet the recognition content after recognizing the Recaptcha2 verification image, with areas starting from 0.type, the type of the Recaptcha2 verification image task, which ismultifor multiple areas.
started_at,finished_at: the time when this request started processing and produced results, in Unix timestamp (seconds, floating point).elapsed: the total time taken for this processing (seconds).

objects, we obtained 2, 5, and 7, and we only need to simulate clicking on these three areas of the verification code to pass the 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:
Asynchronous Mode (async)
By default, the API is synchronous and blocking: a request will wait until the recognition result is processed before returning. If you are doing multi-solver rotation and want to “immediately get the task_id after submitting the task, 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:
status: ready and the recognition result solution (the field structure is completely consistent with the synchronous mode):
timeout, and no charge will be incurred. /captcha/tasks is not responsible for advancing tasks.
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.

