Getting Started

How to Choose the Right CAPTCHA Solving Method

CaptchaAI supports 12+ CAPTCHA types. Each type requires specific API parameters. This guide helps you identify the CAPTCHA on your target page and choose the correct method.

Method Reference Table

CAPTCHA Type Method Key Parameters Typical Solve Time
reCAPTCHA v2 userrecaptcha googlekey, pageurl ~12s
reCAPTCHA v2 Invisible userrecaptcha googlekey, pageurl, invisible=1 ~12s
reCAPTCHA v2 Enterprise userrecaptcha googlekey, pageurl, enterprise=1 ~15s
reCAPTCHA v3 userrecaptcha googlekey, pageurl, version=v3, action ~8s
reCAPTCHA v3 Enterprise userrecaptcha googlekey, pageurl, version=v3, enterprise=1 ~10s
Cloudflare Turnstile turnstile sitekey, pageurl ~10s
Cloudflare Challenge cloudflare_challenge pageurl, proxy, proxytype ~15s
GeeTest v3 geetest gt, challenge, api_server, pageurl ~12s
Image/OCR base64 or post body (base64 image) ~5s
BLS CAPTCHA bls instructions, image_base64_1..9 ~10s
Grid Image post with recaptcha=1 File upload ~10s

How to Identify the CAPTCHA Type

Step 1: Inspect the Page Source

Look for these HTML patterns:

reCAPTCHA v2:

<div class="g-recaptcha" data-sitekey="6Le-wvkS..."></div>
<script src="https://www.google.com/recaptcha/api.js"></script>

reCAPTCHA v2 Invisible:

<div class="g-recaptcha" data-sitekey="6Le-wvkS..." data-size="invisible"></div>

reCAPTCHA v2 Enterprise:

<script src="https://www.google.com/recaptcha/enterprise.js"></script>

reCAPTCHA v3:

<script src="https://www.google.com/recaptcha/api.js?render=6Le-wvkS..."></script>

Cloudflare Turnstile:

<div class="cf-turnstile" data-sitekey="0x4AAAAA..."></div>
<script src="https://challenges.cloudflare.com/turnstile/v0/api.js"></script>

GeeTest:

<div id="geetest-captcha"></div>
<!-- Look for gt and challenge values in page scripts -->

Image CAPTCHA:

<img src="/captcha/generate" id="captcha-image">
<input type="text" name="captcha">

Step 2: Check for Enterprise Indicators

Enterprise versions of reCAPTCHA use different script URLs and may include additional parameters:

// Enterprise: uses recaptcha/enterprise.js
grecaptcha.enterprise.render(...)

// Standard: uses recaptcha/api.js
grecaptcha.render(...)

API Call Examples

reCAPTCHA v2

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-wvkS...",
    "pageurl": "https://example.com"
})

reCAPTCHA v2 Enterprise

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-wvkS...",
    "pageurl": "https://example.com",
    "enterprise": 1
})

reCAPTCHA v3

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-wvkS...",
    "pageurl": "https://example.com",
    "version": "v3",
    "action": "login"
})

Cloudflare Turnstile

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "turnstile",
    "sitekey": "0x4AAAAA...",
    "pageurl": "https://example.com"
})

Cloudflare Challenge

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "cloudflare_challenge",
    "pageurl": "https://example.com",
    "proxy": "http://user:pass@proxy:port",
    "proxytype": "HTTP"
})

GeeTest v3

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "geetest",
    "gt": "022c...",
    "challenge": "abc...",
    "api_server": "api.geetest.com",
    "pageurl": "https://example.com"
})

Image/OCR

import base64
with open("captcha.png", "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode()

resp = requests.get("https://ocr.captchaai.com/in.php", params={
    "key": API_KEY,
    "method": "base64",
    "body": img_b64
})

Decision Flowchart

Is it a text/image CAPTCHA?
├── Yes → method=base64 (upload image)
└── No → Is it reCAPTCHA?
    ├── Yes → Is it Enterprise?
    │   ├── Yes → enterprise=1
    │   └── No → Standard method
    │   Is it v3?
    │   ├── Yes → version=v3, add action
    │   └── No (v2) → Is it invisible?
    │       ├── Yes → invisible=1
    │       └── No → Standard userrecaptcha
    └── No → Is it Cloudflare?
        ├── Turnstile widget → method=turnstile
        ├── Full challenge page → method=cloudflare_challenge (needs proxy)
        └── No → Is it GeeTest?
            ├── Yes → method=geetest
            └── No → Check for hCaptcha, FunCaptcha, or BLS

FAQ

What if I can't identify the CAPTCHA type?

Check the page source for script URLs. Google's domains indicate reCAPTCHA, Cloudflare's indicate Turnstile, and GeeTest has its own domain. For unusual CAPTCHAs, try the image/OCR method.

Can CaptchaAI auto-detect the CAPTCHA type?

You need to specify the method parameter. The identification guide above covers all common types.

What's the difference between method=post and method=base64?

method=post uses multipart file upload, method=base64 sends the image as a base64-encoded string in a parameter. Both solve image CAPTCHAs — use whichever fits your workflow.

Discussions (0)

No comments yet.

Related Posts

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
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
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
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
Tutorials CAPTCHA Handling in Flask Applications with CaptchaAI
Integrate Captcha AI into Flask applications for automated CAPTCHA solving.

Integrate Captcha AI into Flask applications for automated CAPTCHA solving. Includes service class, API endpoi...

Automation Cloudflare Turnstile
Mar 17, 2026
Use Cases CAPTCHA Solving in Ticket Purchase Automation
How to handle CAPTCHAs on ticketing platforms Ticketmaster, AXS, and event sites using Captcha AI for automated purchasing workflows.

How to handle CAPTCHAs on ticketing platforms Ticketmaster, AXS, and event sites using Captcha AI for automate...

Automation Python reCAPTCHA v2
Feb 25, 2026
Tutorials Caching CAPTCHA Tokens for Reuse
Cache and reuse CAPTCHA tokens with Captcha AI to reduce API calls and costs.

Cache and reuse CAPTCHA tokens with Captcha AI to reduce API calls and costs. Covers token lifetimes, cache st...

Automation Python reCAPTCHA v2
Feb 15, 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
Getting Started Migrate from CapMonster Cloud to CaptchaAI
Step-by-step guide to migrate from Cap Monster Cloud to Captcha AI — endpoint mapping, parameter changes, and code migration examples.

Step-by-step guide to migrate from Cap Monster Cloud to Captcha AI — endpoint mapping, parameter changes, and...

Python reCAPTCHA v2 Cloudflare Turnstile
Mar 29, 2026
Getting Started CaptchaAI Proxy Configuration Guide
Complete guide to configuring proxies for Captcha AI.

Complete guide to configuring proxies for Captcha AI. Covers proxy formats, types (HTTP, SOCKS 5), authenticat...

Automation Python reCAPTCHA v2
Mar 14, 2026
Getting Started CaptchaAI Pricing: Thread-Based Breakdown
Understand Captcha AI pricing by CAPTCHA type and thread count.

Understand Captcha AI pricing by CAPTCHA type and thread count. Covers per-solve costs, thread-based plans, vo...

All CAPTCHA Types
Feb 15, 2026