Solving complex types: the coordinates method in action

Modern online services are increasingly resorting to the use of more complex forms of captcha. Such tasks are used, for example, in Geetest and other similar services. With this method, you can solve many other complex captchas.

How does this type of captcha work and how can it be solved using the coordinates method? In this article, we will explore a way to solve such captchas.

The principle of operation

Instead of the usual text tasks, the user is offered a picture with a task that requires a sequence of clicks on certain characters in the image. A captcha can look like this:



Solving the coordinate captcha using the API 2Captcha

1. Getting the captcha image

To start solving the captcha, you need to get an image. We are looking for an element containing a captcha image and saving the image itself for future use.

2. Getting the task image

Similar to the first step, we find the element containing the image with the task and save it for later use when solving the captcha.

3. Sending a captcha to the solution

Using the coordinates method, we form a request that includes the received images and send it to the endpoint https://2captcha.com/in.php for API V1.

{
  "method": "base64",
  "coordinatescaptcha": 1,
  "key": "YOUR_APIKEY",
  "body": "CAPTCHA_IMAGE",
  "imginstructions": "TASK_IMAGE",
  "textinstructions": "Кликните в таком порядке | Click in the following order",
  "json":1
}

and https://2captcha.com/createTask using API v2

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type":"CoordinatesTask",
        "body":"/9j/4AAQSkZJRgABAQAAAQ..HIAAAAAAQwAABtbnRyUkdCIFhZ.wc5GOGSRF//Z",
        "comment":"click on the green apple",
        "imginstructions": "TASK_IMAGE",
        "json":1
    }
}

We get the captcha ID from the response and request a response using a GET request.

In API v1

https://2captcha.com/res.php?key=YOUR_APIKEY&action=get&id=CAPTCHA_ID&json=1

In API v2

https://2captcha.com/createTask?clientKey=YOUR_APIKEY&taskId=CAPTCHA_ID&json=1

The result contains a set of coordinates to click on, an example:

{
    "status": 1,
    "request": [
        {
            "x": "187",
            "y": "60"
        },
        {
            "x": "98",
            "y": "121"
        },
        {
            "x": "267",
            "y": "115"
        },
        {
            "x": "173",
            "y": "146"
        },
        {
            "x": "23",
            "y": "69"
        }
    ]
}

4. Click on the coordinates

Considering that the point (0,0) is the upper-left corner of the CAPTCHA_IMAGE image.

5. Click on the "Send" button

Done.

What should I do if the response was not accepted?

You can send a complain to reportbad, and the moderator will check the captcha.

The cost of the solution

1000 solutions cost 1.2 USD or 70 Rub