Was this helpful?
How to bypass rotate captcha
Tech builder focused on infrastructure, automation, backend systems, and scalable SaaS development
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
base64command)
Example of encoding an image to Base64 via terminal:
bash
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:
- Find the request that loads the captcha image (Network tab in DevTools)
- Save the image locally or extract the Base64 string directly
- Determine the rotation step: count the available positions (for example, 6 positions = 60° step)
- Prepare task parameters with
angleandcommentin 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:
https://api.2captcha.com/createTask
Headers:
Content-Type: application/json
Request Body:
json
{
"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:
https://api.2captcha.com/getTaskResult
Request Body:
json
{
"clientKey": "YOUR_API_KEY",
"taskId": 74455221488
}
Example Response When Ready:
json
{
"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
{
"clientKey": "YOUR_API_KEY",
"taskId": 74455221488
}
Example Response:
json
{
"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
{
"clientKey": "YOUR_API_KEY",
"taskId": 74455221488
}
Example Response:
json
{
"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
- Rotate CAPTCHA API Documentation
- reportIncorrect Method - Report an incorrect solution
- reportCorrect Method - Report a correct solution
- Request Examples on GitHub
- Contact Support
Checklist
- Captcha image is encoded in Base64 and does not exceed 600 KB
-
angleparameter added to the task if the rotation step is known -
commentparameter 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
reportIncorrectandreportCorrectreports 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.