Captcha bypass tutorials

Was this helpful?

How to bypass rotate captcha

Ruben Herrera

Tech builder focused on infrastructure, automation, backend systems, and scalable SaaS development

How to bypass rotate captcha using solving service

Introduction

If you are automating work with websites that use Rotate CAPTCHA and you need to accurately determine the image rotation angle, this guide is for you.

The 2Captcha service allows you to solve Rotate CAPTCHA via API using a task of type RotateTask. This is critical for sites that require rotating an object to the correct position before proceeding.

This article describes the process of sending requests directly via the JSON API.

General Information

Rotate CAPTCHA is a type of captcha where the user is asked to rotate an image (an icon, object, or photo) to the correct position. Unlike text captchas, the answer here is a numeric rotation angle value.

The main automation challenge: without explicitly specifying the rotation step or a hint, the worker might choose the wrong angle. If the target site requires precise positioning, the solution will be rejected.

Solution: explicitly specify the angle parameter and add a clear comment in the RotateTask. This helps 2Captcha workers determine the correct angle faster and more accurately.

Environment Setup

Before you start, make sure you have:

  • Terminal access with curl or an HTTP client (Postman, HTTPie)
  • API key from your account dashboard at 2Captcha
  • Captcha image in JPG, PNG, or GIF format (max 600 KB)
  • Base64 encoding tool (online converter or base64 command)

Example of encoding an image to Base64 via terminal:

bash Copy
base64 -w 0 captcha.png > captcha_b64.txt

Make sure the resulting string contains no line breaks.

Page Analysis

For Rotate CAPTCHA, you do not need to extract a sitekey or analyze tokens. Just:

  1. Find the request that loads the captcha image (Network tab in DevTools)
  2. Save the image locally or extract the Base64 string directly
  3. Determine the rotation step: count the available positions (for example, 6 positions = 60° step)
  4. Prepare task parameters with angle and comment in mind

If the rotation step is unknown, you can omit the angle parameter, but solution accuracy may decrease.

Implementation

Sending the Task

The task is sent via a POST request to the createTask endpoint:

Copy
https://api.2captcha.com/createTask

Headers:

Copy
Content-Type: application/json

Request Body:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "RotateTask",
        "body": "BASE64_ENCODED_IMAGE",
        "angle": 60,
        "comment": "Rotate the image to upright position"
    },
    "languagePool": "en"
}

Polling the Task Status

Use the taskId from the response to poll the status:

Copy
https://api.2captcha.com/getTaskResult

Request Body:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Example Response When Ready:

json Copy
{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "rotate": 180
    }
}

The solution.rotate value contains the angle in degrees that the image needs to be rotated.

Parameter Explanations

RotateTask Parameters

Parameter Type Required Description
type String Yes Always RotateTask
body String Yes Image in Base64 or Data-URI format
angle Integer No Rotation step in degrees (for example, 60 for 6 positions)
comment String No Hint for the worker in English or the pool language
languagePool String No Preferred worker language (en, ru, es, etc.)

Response Parameters

Field Type Description
errorId Integer 0 means success, any other value is an error code
status String processing means task is queued, ready means solution is ready
solution.rotate Integer Rotation angle in degrees (0 to 359)

Feedback on Solving Results

After receiving a response from 2Captcha and verifying it on the target site, it is recommended to send feedback. This helps improve recognition quality and in some cases get refunds for incorrect solutions.

If the Site Rejected the Solution (Wrong Angle)

Send a POST request to the reportIncorrect endpoint:

Endpoint: https://api.2captcha.com/reportIncorrect

Method: POST

Content-Type: application/json

Example Request:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Example Response:

json Copy
{
    "errorId": 0,
    "status": "success"
}

Important: Do not use this method if your success rate is close to 0 percent. This may indicate an error in your code, not in the captcha solutions.

If the Site Accepted the Solution (Correct Angle)

Send a POST request to the reportCorrect endpoint:

Endpoint: https://api.2captcha.com/reportCorrect

Method: POST

Content-Type: application/json

Example Request:

json Copy
{
    "clientKey": "YOUR_API_KEY",
    "taskId": 74455221488
}

Example Response:

json Copy
{
    "errorId": 0,
    "status": "success"
}

Refund Policy

  • Each case is reviewed individually
  • For standard captchas, the correctness of the response is checked
  • For token based captchas, worker statistics are analyzed
  • Refunds are not guaranteed for every complaint
  • The final refund amount may differ from the number of claims

Send reports honestly and only after real verification on the target site.

Using Comments for Complex Cases

If the captcha has a non-standard format or requires a special rotation, add a hint in the comment parameter.

The comment will be shown to the worker and will improve recognition accuracy.

Integration with Browser Automation

The received angle solution.rotate can be applied via Selenium, Playwright, or Puppeteer:

  • Find the rotation control element on the page
  • Calculate the required number of clicks or the angle for CSS transformation
  • Apply the rotation programmatically before submitting the form

Common Errors

Error Cause Solution
ERROR_WRONG_USER_KEY Invalid clientKey Check the API key in your 2Captcha dashboard
ERROR_ZERO_BALANCE Insufficient account balance Top up your balance before sending tasks
ERROR_CAPTCHA_UNSOLVABLE Image is blurry or task is ambiguous Improve image quality, add a comment
ERROR_ZERO_CAPTCHA_FILESIZE File size is less than 100 bytes Check that the image is correctly encoded in Base64
ERROR_NO_SLOT_AVAILABLE Queue is full or bid is too low Increase the bid in settings or add a delay between requests
Wrong angle in response angle not specified or hint is inaccurate Add the angle parameter and clarify the comment

Additional Resources

Checklist

  • Captcha image is encoded in Base64 and does not exceed 600 KB
  • angle parameter added to the task if the rotation step is known
  • comment parameter contains a clear instruction in English or the target language
  • Response is validated before use (errorId, status, solution.rotate)
  • Angle application tested on the target site
  • Sending reportIncorrect and reportCorrect reports implemented
  • Logging configured for debugging if needed

Conclusion

Accurately determining the rotation angle in Rotate CAPTCHA is a common cause of automation errors. The angle and comment parameters in the RotateTask API of 2Captcha allow you to explicitly specify the captcha logic and improve solution accuracy.

Use direct JSON requests for flexible integration, do not forget about error handling and timeouts, and your scripts will reliably pass captchas even on strict sites.

Do not forget to send feedback via reportIncorrect and reportCorrect. This helps improve service quality and get refunds for incorrect solutions.

Bypass any rotate captcha with captcha solving via API.