Troubleshooting

CaptchaAI Wrong CAPTCHA Type Error: How to Fix

Submitting a CAPTCHA with the wrong method parameter is the fastest way to waste credits and get errors. When you send userrecaptcha for a Turnstile, or turnstile for a GeeTest, CaptchaAI either returns ERROR_BAD_PARAMETERS, ERROR_CAPTCHA_UNSOLVABLE, or a token that the target rejects.


Symptoms

What happens Likely cause
ERROR_BAD_PARAMETERS Missing required fields for the method
ERROR_CAPTCHA_UNSOLVABLE Method does not match CAPTCHA type
Token solved but rejected by site Correct solver, wrong CAPTCHA type on page
Unexpected response format Used the wrong method family

CAPTCHA type to method mapping

CAPTCHA type CaptchaAI method Required parameters
reCAPTCHA v2 userrecaptcha googlekey, pageurl
reCAPTCHA v2 Enterprise userrecaptcha + enterprise=1 googlekey, pageurl
reCAPTCHA v2 Invisible userrecaptcha + invisible=1 googlekey, pageurl
reCAPTCHA v3 userrecaptcha + version=v3 googlekey, pageurl
reCAPTCHA v3 Enterprise userrecaptcha + version=v3 + enterprise=1 googlekey, pageurl
Cloudflare Turnstile turnstile sitekey, pageurl
Cloudflare Challenge cloudflare_challenge pageurl, proxy, userAgent
GeeTest v3 geetest gt, challenge, pageurl
Image/OCR base64 or post body (base64) or file upload
Grid Image post + grid_size File, grid_size, instructions

How to identify the CAPTCHA type

reCAPTCHA (any version)

def detect_recaptcha(html):
    if "www.google.com/recaptcha" in html or "www.recaptcha.net" in html:
        if 'data-sitekey="' in html:
            start = html.index('data-sitekey="') + 14
            end = html.index('"', start)
            sitekey = html[start:end]

            if "invisible" in html.lower() or 'data-size="invisible"' in html:
                return {"type": "recaptcha_v2_invisible", "method": "userrecaptcha",
                        "googlekey": sitekey, "extra": {"invisible": 1}}
            return {"type": "recaptcha_v2", "method": "userrecaptcha",
                    "googlekey": sitekey}

        # v3 is loaded via JavaScript, no visible widget
        if "recaptcha/api.js?render=" in html:
            start = html.index("render=") + 7
            end = html.index('"', start) if '"' in html[start:start+50] else html.index("'", start)
            sitekey = html[start:end]
            return {"type": "recaptcha_v3", "method": "userrecaptcha",
                    "googlekey": sitekey, "extra": {"version": "v3"}}
    return None

Cloudflare (Turnstile or Challenge)

def detect_cloudflare(html, status_code):
    if "cf-turnstile" in html or "challenges.cloudflare.com/turnstile" in html:
        sitekey = None
        if 'data-sitekey="' in html:
            start = html.index('data-sitekey="') + 14
            end = html.index('"', start)
            sitekey = html[start:end]
        return {"type": "turnstile", "method": "turnstile", "sitekey": sitekey}

    if status_code in [403, 503] and ("Just a moment" in html or "challenge-platform" in html):
        return {"type": "cloudflare_challenge", "method": "cloudflare_challenge"}

    return None

GeeTest

def detect_geetest(html):
    if "geetest" in html.lower() or "gt.js" in html or "initGeetest" in html:
        return {"type": "geetest", "method": "geetest"}
    return None

Combined detection

import requests

def detect_captcha_type(url):
    """Detect CAPTCHA type on a URL."""
    resp = requests.get(url)
    html = resp.text

    # Check each type
    result = detect_recaptcha(html)
    if result:
        return result

    result = detect_cloudflare(html, resp.status_code)
    if result:
        return result

    result = detect_geetest(html)
    if result:
        return result

    return {"type": "unknown", "method": None}


info = detect_captcha_type("https://example.com/login")
print(f"CAPTCHA type: {info['type']}")
print(f"CaptchaAI method: {info['method']}")

Common mistakes

Mistake What happens Fix
Using userrecaptcha for Turnstile Wrong token format, rejection Switch to turnstile method
Using turnstile for reCAPTCHA ERROR_BAD_PARAMETERS (wrong sitekey format) Switch to userrecaptcha
Missing enterprise=1 for Enterprise reCAPTCHA Low scores, token rejected Add enterprise=1
Missing version=v3 for reCAPTCHA v3 Treated as v2, wrong token type Add version=v3
Missing invisible=1 for invisible reCAPTCHA Solve may fail or return wrong token Add invisible=1
Using any token method for Cloudflare Challenge Challenge returns cookies, not tokens Use cloudflare_challenge

FAQ

How do I know if it is reCAPTCHA v2 or v3?

reCAPTCHA v2 shows a visible widget (checkbox or image challenge). reCAPTCHA v3 is invisible — it loads via JavaScript with render=SITEKEY and runs in the background.

What if the page uses a CAPTCHA I do not recognize?

Check the page source for known markers: recaptcha, cf-turnstile, geetest, hcaptcha. If none match, it may be a custom image CAPTCHA — use the base64 or post method.

Can I solve Enterprise reCAPTCHA with the standard method?

No. Enterprise reCAPTCHA requires enterprise=1. Without it, the token may solve but the site will reject it because Enterprise tokens have a different structure.


Get your CaptchaAI API key

Solve any CAPTCHA type correctly at captchaai.com.


Discussions (0)

No comments yet.

Related Posts

Tutorials Pytest Fixtures for CaptchaAI API Testing
Build reusable pytest fixtures to test CAPTCHA-solving workflows with Captcha AI.

Build reusable pytest fixtures to test CAPTCHA-solving workflows with Captcha AI. Covers mocking, live integra...

Automation Python reCAPTCHA v2
Apr 08, 2026
Tutorials Browser Console CAPTCHA Detection: Finding Sitekeys and Parameters
Use browser Dev Tools to detect CAPTCHA types, extract sitekeys, and find parameters needed for Captcha AI API requests.

Use browser Dev Tools to detect CAPTCHA types, extract sitekeys, and find all parameters needed for Captcha AI...

Automation reCAPTCHA v2 Cloudflare Turnstile
Mar 25, 2026
Use Cases Multi-Step Checkout Automation with CAPTCHA Solving
Automate multi-step e-commerce checkout flows that include CAPTCHA challenges at cart, payment, or confirmation stages using Captcha AI.

Automate multi-step e-commerce checkout flows that include CAPTCHA challenges at cart, payment, or confirmatio...

Automation Python reCAPTCHA v2
Mar 21, 2026
Integrations Selenium Wire + CaptchaAI: Request Interception for CAPTCHA Solving
Complete guide to using Selenium Wire for request interception, proxy routing, and automated CAPTCHA solving with Captcha AI in Python.

Complete guide to using Selenium Wire for request interception, proxy routing, and automated CAPTCHA solving w...

Python reCAPTCHA v2 Cloudflare Turnstile
Mar 13, 2026
Reference CAPTCHA Token Injection Methods Reference
Complete reference for injecting solved CAPTCHA tokens into web pages.

Complete reference for injecting solved CAPTCHA tokens into web pages. Covers re CAPTCHA, Turnstile, and Cloud...

Automation Python reCAPTCHA v2
Apr 08, 2026
Reference Browser Session Persistence for CAPTCHA Workflows
Manage browser sessions, cookies, and storage across CAPTCHA-solving runs to reduce repeat challenges and maintain authenticated state.

Manage browser sessions, cookies, and storage across CAPTCHA-solving runs to reduce repeat challenges and main...

Automation Python reCAPTCHA v2
Feb 24, 2026
Tutorials GeeTest Token Injection in Browser Automation Frameworks
how to inject Gee Test v 3 solution tokens into Playwright, Puppeteer, and Selenium — including the three-value response, callback triggering, and form submissi...

Learn how to inject Gee Test v 3 solution tokens into Playwright, Puppeteer, and Selenium — including the thre...

Automation Python Testing
Jan 18, 2026
Integrations Browser Profile Isolation + CaptchaAI Integration
Browser profile isolation tools create distinct browser environments with unique fingerprints per session.

Browser profile isolation tools create distinct browser environments with unique fingerprints per session. Com...

Automation Python reCAPTCHA v2
Feb 21, 2026
Comparisons WebDriver vs Chrome DevTools Protocol for CAPTCHA Automation
Compare Web Driver and Chrome Dev Tools Protocol (CDP) for CAPTCHA automation — detection, performance, capabilities, and when to use each with Captcha AI.

Compare Web Driver and Chrome Dev Tools Protocol (CDP) for CAPTCHA automation — detection, performance, capabi...

Automation Python reCAPTCHA v2
Mar 27, 2026
Use Cases Event Ticket Monitoring with CAPTCHA Handling
Build an event ticket availability monitor that handles CAPTCHAs using Captcha AI.

Build an event ticket availability monitor that handles CAPTCHAs using Captcha AI. Python workflow for checkin...

Automation Python reCAPTCHA v2
Jan 17, 2026
Troubleshooting GeeTest v3 Error Codes: Complete Troubleshooting Reference
Complete reference for Gee Test v 3 error codes — from registration failures to validation errors — with causes, fixes, and Captcha AI-specific troubleshooting.

Complete reference for Gee Test v 3 error codes — from registration failures to validation errors — with cause...

Automation Testing GeeTest v3
Apr 08, 2026
Troubleshooting Turnstile Token Invalid After Solving: Diagnosis and Fixes
Fix Cloudflare Turnstile tokens that come back invalid after solving with Captcha AI.

Fix Cloudflare Turnstile tokens that come back invalid after solving with Captcha AI. Covers token expiry, sit...

Python Cloudflare Turnstile Web Scraping
Apr 08, 2026
Troubleshooting Common GeeTest v3 Errors and Fixes
Diagnose the most common Gee Test v 3 errors — stale challenge, bad parameters, validation failures — and fix them with practical troubleshooting steps.

Diagnose the most common Gee Test v 3 errors — stale challenge, bad parameters, validation failures — and fix...

Automation Testing GeeTest v3
Jan 24, 2026