CAPTCHA Solving
CAPTCHAs are challenges designed specifically to stop bots. They present puzzles that humans can solve easily but automated systems struggle with. RTILA X integrates with 2Captcha, a service where real humans solve CAPTCHAs on your behalf, allowing your automation to breeze through CAPTCHA-protected pages.
Supported CAPTCHA Types
Section titled “Supported CAPTCHA Types”RTILA X can detect and solve the following CAPTCHA types:
| CAPTCHA Type | Detection Method | Description |
|---|---|---|
| reCAPTCHA v2 | iframe with google.com/recaptcha/api2/anchor |
Google’s image-based CAPTCHA with “I’m not a robot” checkbox |
| reCAPTCHA v3 | iframe with google.com/recaptcha/enterprise/anchor |
Google’s invisible, score-based CAPTCHA |
| reCAPTCHA Enterprise | iframe with google.com/recaptcha/enterprise/anchor |
Enterprise version of reCAPTCHA |
| hCaptcha | iframe with hcaptcha.com/ |
Image-based CAPTCHA alternative to reCAPTCHA |
| Cloudflare Turnstile | .cf-turnstile class |
Cloudflare’s JavaScript challenge |
| PerimeterX / DataDome | #px-captcha or iframe with perimeterx/datadome |
Advanced bot detection with press-and-hold challenges |
Prerequisites
Section titled “Prerequisites”Before you can use CAPTCHA solving, you need:
- A 2Captcha account with a positive balance.
- Your 2Captcha API key.
- CAPTCHA solving enabled in RTILA X.
Getting a 2Captcha API Key
Section titled “Getting a 2Captcha API Key”- Go to 2captcha.com.
- Click Sign Up and create an account.
- Add funds to your account. 2Captcha charges per CAPTCHA solved (typically $1–3 per 1,000 CAPTCHAs).
- Go to your Account Settings or API section.
- Copy your API Key. It’s a long alphanumeric string.
Tip: 2Captcha offers a small free trial balance for new accounts. Use this to test before adding funds.
Enabling CAPTCHA Solving in RTILA X
Section titled “Enabling CAPTCHA Solving in RTILA X”- Go to Preferences → Stealth & Proxies.
- Toggle Enable CAPTCHA Solving to On.
- Set CAPTCHA Provider to 2Captcha (currently the only supported provider).
- Paste your 2Captcha API key into the API Key field.
- Click Test API Key to verify your key works.
- Save your settings.
Enabling via Browser Profile
Section titled “Enabling via Browser Profile”If you want different CAPTCHA settings for different projects:
- Go to Browser Profiles in the sidebar.
- Create or edit a profile.
- Enable CAPTCHA Solving and enter your API key.
- Assign this profile to your project.
Testing the API Key
Section titled “Testing the API Key”Before running your automation, verify your 2Captcha API key:
- In Preferences → Stealth & Proxies, enter your API key.
- Click Test API Key.
- RTILA X sends a balance check request to 2Captcha.
Test Results
Section titled “Test Results”| Result | Meaning |
|---|---|
| ✅ Valid API Key! Current balance: $X.XX | Your key works and shows your current balance. |
| ❌ Invalid API Key: … | Your key is incorrect or expired. Double-check it. |
| ❌ Connection error: … | RTILA X couldn’t reach 2Captcha. Check your internet connection. |
Tip: Always test your API key before running a long automation. If your balance is zero or your key is invalid, your automation will fail when it encounters a CAPTCHA.
How CAPTCHA Solving Works
Section titled “How CAPTCHA Solving Works”Here’s the step-by-step process when RTILA X encounters a CAPTCHA:
Step 1: Detection
Section titled “Step 1: Detection”RTILA X scans the page for CAPTCHA elements:
- Looks for reCAPTCHA iframes (
google.com/recaptcha/) - Looks for hCaptcha iframes (
hcaptcha.com/) - Looks for Turnstile elements (
.cf-turnstile) - Looks for PerimeterX/DataDome elements (
#px-captcha)
Step 2: Balance Check
Section titled “Step 2: Balance Check”Before attempting to solve, RTILA X checks your 2Captcha balance:
- If your balance is below $0.001, solving is skipped and an error is logged.
- If your balance is sufficient, solving proceeds.
Step 3: Humanoid Pre-Interaction (If Enabled)
Section titled “Step 3: Humanoid Pre-Interaction (If Enabled)”If humanoid behavior is enabled, RTILA X performs natural mouse movements before interacting with the CAPTCHA:
- Moves the mouse to the CAPTCHA area using Bezier curves.
- Adds random delays to simulate human hesitation.
- This helps avoid detection by behavioral analysis.
Step 4: Send to 2Captcha
Section titled “Step 4: Send to 2Captcha”RTILA X sends the CAPTCHA to 2Captcha’s API:
- For reCAPTCHA: Sends the site key and page URL.
- For hCaptcha: Sends the site key and page URL.
- For Turnstile: Sends the site key and page URL.
Step 5: Human Solves the CAPTCHA
Section titled “Step 5: Human Solves the CAPTCHA”A real human at 2Captcha solves the CAPTCHA. This typically takes 10–30 seconds.
Step 6: Solution Injected
Section titled “Step 6: Solution Injected”RTILA X receives the solution and injects it into the page:
- For reCAPTCHA: Fills the
g-recaptcha-responsefield and triggers the callback. - For hCaptcha: Fills the
h-captcha-responsefield. - For Turnstile: Fills the response field.
Step 7: Page Continues
Section titled “Step 7: Page Continues”After the solution is injected:
- RTILA X waits for the page to process the solution.
- If the page navigates to a new page, RTILA X waits for the navigation.
- The automation continues from where it left off.
Solving Flow Diagram
Section titled “Solving Flow Diagram”CAPTCHA Detected │ ▼Balance Check ──(insufficient)──→ Skip & Log Error │ │ (sufficient) ▼Humanoid Pre-Interaction (if enabled) │ ▼Send to 2Captcha API │ ▼Human Solves CAPTCHA (10-30 seconds) │ ▼Solution Received │ ▼Inject Solution into Page │ ▼Wait for Page to Process │ ▼Automation ContinuesCAPTCHA Loop Detection
Section titled “CAPTCHA Loop Detection”Sometimes a CAPTCHA solution is rejected by the website, and the CAPTCHA reappears. RTILA X detects this and takes action:
How Loop Detection Works
Section titled “How Loop Detection Works”- RTILA X tracks how many times each CAPTCHA type appears during a run.
- If the same CAPTCHA type appears 2 or 3 times, RTILA X performs a hard reset:
- Clears all cookies and local storage.
- Jitters the viewport size slightly (changes width/height by a few pixels).
- Performs a realistic scroll up and down.
- Reloads the page.
- If the CAPTCHA appears more than 3 times, RTILA X throws a
CAPTCHA_LOOP_DETECTEDerror and stops the automation.
Hard Reset Strategy
Section titled “Hard Reset Strategy”The hard reset is designed to break the CAPTCHA loop by making your browser look like a fresh session:
| Action | Purpose |
|---|---|
| Clear cookies and local storage | Removes any tracking that links you to previous failed attempts |
| Jitter viewport size | Makes the browser fingerprint slightly different |
| Realistic scroll | Simulates human behavior to avoid behavioral detection |
| Page reload | Starts fresh with a clean state |
CAPTCHA Loop Error
Section titled “CAPTCHA Loop Error”If the CAPTCHA loop persists after the hard reset attempts, RTILA X stops with:
CAPTCHA_LOOP_DETECTED: Stuck in [captcha_type] loop on [url]What to do:
- Check your 2Captcha balance.
- Try different proxies.
- Increase humanoid sensitivity to “High”.
- The website may have very aggressive anti-bot protection that requires manual intervention.
PerimeterX / DataDome Handling
Section titled “PerimeterX / DataDome Handling”PerimeterX and DataDome are advanced bot detection systems that use a “press and hold” challenge instead of traditional CAPTCHAs.
How RTILA X Handles It
Section titled “How RTILA X Handles It”- RTILA X detects the PerimeterX/DataDome element.
- If humanoid behavior is enabled, RTILA X:
- Moves the mouse to the challenge element using Bezier curves.
- Presses and holds the mouse button for 10–15 seconds.
- Releases the mouse button.
- RTILA X waits for the page to process the challenge.
Note: PerimeterX/DataDome handling requires humanoid behavior to be enabled. If humanoid is disabled, RTILA X cannot solve these challenges.
| Tip | Why It Matters |
|---|---|
| Always test your API key before running | An invalid key or zero balance will cause your automation to fail at the first CAPTCHA. |
| Keep your 2Captcha balance topped up | If your balance runs out mid-automation, CAPTCHA solving will fail. |
| Enable humanoid behavior with CAPTCHA solving | Humanoid pre-interaction helps avoid behavioral detection before the CAPTCHA is even solved. |
| Use proxies with CAPTCHA solving | Some websites tie CAPTCHAs to IP addresses. Using proxies helps avoid repeated CAPTCHAs. |
| Increase sensitivity for stubborn CAPTCHAs | If CAPTCHAs keep reappearing, increase humanoid sensitivity to “High”. |
| Monitor your 2Captcha spending | CAPTCHA solving costs money per solve. Monitor your spending to avoid surprises. |
| Don’t disable humanoid for PerimeterX/DataDome | These challenges require humanoid behavior to solve. Disabling humanoid makes them unsolvable. |
| CAPTCHA solving adds time | Each CAPTCHA solve takes 10–30 seconds. Factor this into your automation timing. |
| Some CAPTCHAs can’t be solved | Very advanced or custom CAPTCHAs may not be solvable. In these cases, manual intervention may be needed. |
| Combine with other stealth features | CAPTCHA solving works best when combined with proxies, humanoid behavior, and fingerprint alignment. |