Skip to content
CaptchaAI
Thread-based plans · unlimited solves per thread

Solve any CAPTCHA
via one fast API

reCAPTCHA v2 / v3 (+ Enterprise), Cloudflare Turnstile & Challenge, Geetest v3, Image, Grid and BLS — solved in seconds. Plans start at $15 / month for 5 threads with unlimited solves per thread.

Free credits on signup • No credit card required

~/captchaai-demo
$ curl -X POST https://ocr.captchaai.com/in.php \
    -F "key=YOUR_API_KEY" -F "method=turnstile" \
    -F "sitekey=0x4AAAAAAA..." -F "pageurl=https://example.com" -F "json=1"

 { "status": 1, "request": "0123456789" }

$ curl -X POST https://ocr.captchaai.com/res.php \
    -F "key=YOUR_API_KEY" -F "action=get" -F "id=0123456789" -F "json=1"

 { "status": 1, "request": "0.AAAA…" }
 solved in < 10s

Powering automation teams across

Scrapers
QA labs
Growth ops
Fintech
AdTech
Indie SaaS
Supported challenges

Every CAPTCHA. One endpoint.

From classic image grids to score-based tokens — submit the task, get back a working solution.

Image CAPTCHA

Distorted text and 27,500+ image variants incl. Solve Media and Facebook.

Success
> 99%
Avg latency
< 0.5s

Grid Image

reCAPTCHA-style image grid challenges, any difficulty.

Success
> 99%
Avg latency
< 1s

BLS Captcha

3×3 numeric-instruction grid CAPTCHAs optimized for BLS-style tasks.

Success
> 99%
Avg latency
< 1s

reCAPTCHA v2

Google "I'm not a robot" checkbox with image / audio challenge fallback.

Success
> 99.5%
Avg latency
< 60s

reCAPTCHA v2 Invisible

Invisible v2 flow triggered on submit — no user interaction required.

Success
> 99%
Avg latency
< 30s

reCAPTCHA v2 Enterprise

Enterprise v2 with enhanced response fields for automation pipelines.

Success
> 99.5%
Avg latency
< 60s

reCAPTCHA v3

Score-based, frictionless token solving — automated bypass.

Success
> 99%
Avg latency
< 4s

reCAPTCHA v3 Enterprise

Enterprise v3 with extended response metadata.

Success
> 99%
Avg latency
< 4s

Cloudflare Turnstile

Cloudflare's privacy-focused token-based CAPTCHA alternative.

Success
100%
Avg latency
< 10s

Cloudflare Challenge

Cloudflare anti-bot challenge — returns clearance cookie + user agent.

Success
> 99%
Avg latency
< 15s

Geetest v3

Slider / image puzzle CAPTCHA workflow with challenge-response handling.

Success
100%
Avg latency
< 12s
Workflow

From zero to solved in 4 steps

No SDK lock-in. Use plain HTTP, our official client, or your favorite community wrapper.

  1. 01

    Get your 32-char API key

    Sign up at captchaai.com and grab the key from your dashboard.

  2. 02

    POST to /in.php

    Send `key`, `method` and the type-specific params (e.g. `googlekey`, `pageurl`).

  3. 03

    Poll /res.php

    Every ~5 s send `action=get&id=<taskId>` until you stop getting CAPCHA_NOT_READY.

  4. 04

    Inject the token

    Drop the returned token into the target form / request and continue.

Built for production

Everything your stack expects

Webhooks, bulk submission, SLA, dashboards, and SDKs — without the enterprise price tag.

Thread-based plans

Buy concurrent threads, not solves. Every plan ships unlimited solves per thread.

No per-CAPTCHA fees

No surcharges by type, no daily caps, no overage shock. Predictable monthly bill.

AI-powered solver

Latest solvers for Turnstile, reCAPTCHA v3, Geetest and Cloudflare Challenge.

Legacy in.php / res.php API

Drop-in compatible with the 2Captcha-style protocol. Same params, same shape.

JSON or plain text

Set `json=1` for structured responses or leave it off for legacy plain-text format.

CaptchaAI Emulator

Compatibility layer that mimics other solving services — switch by changing the host.

Chrome extension

Auto-detects and solves CAPTCHAs in-browser for manual QA workflows.

Proxy support

Submit `proxy` + `proxytype` per task for sites that fingerprint the solver IP.

Predictable error codes

Documented ERROR_* codes (UNSOLVABLE, ZERO_BALANCE, NOT_READY) for clean retry logic.

Developer-first

Drop into your stack

Same response shape across every language. Copy, paste, ship.

ocr.captchaai.com
# 1. Submit a reCAPTCHA v2 task to in.php
curl -X POST https://ocr.captchaai.com/in.php \
  -F "key=YOUR_API_KEY" \
  -F "method=userrecaptcha" \
  -F "googlekey=6Lc_aCMTAAAAABx7u2W0WPXnVbI_v6ZdbM6rYf16" \
  -F "pageurl=https://example.com/login" \
  -F "json=1"
# → {"status":1,"request":"0123456789"}

# 2. Poll res.php every ~5s until ready
curl -X POST https://ocr.captchaai.com/res.php \
  -F "key=YOUR_API_KEY" \
  -F "action=get" \
  -F "id=0123456789" \
  -F "json=1"
# → {"status":1,"request":"03AHJ_Vuve5Asa..."}
import requests, time

API = "https://ocr.captchaai.com"
KEY = "YOUR_API_KEY"  # 32 characters from your dashboard

# Submit
task = requests.post(f"{API}/in.php", data={
    "key": KEY,
    "method": "userrecaptcha",
    "googlekey": "6Lc_aCMTAAAAABx7u2W0WPXnVbI_v6ZdbM6rYf16",
    "pageurl": "https://example.com/login",
    "json": 1,
}).json()
task_id = task["request"]

# Poll
while True:
    time.sleep(5)
    r = requests.post(f"{API}/res.php", data={
        "key": KEY, "action": "get", "id": task_id, "json": 1,
    }).json()
    if r["request"] != "CAPCHA_NOT_READY":
        break

token = r["request"]
print(token)
const API = "https://ocr.captchaai.com";
const KEY = process.env.CAPTCHAAI_KEY; // 32 characters

const form = (params) =>
  Object.entries(params).map(([k, v]) =>
    `${encodeURIComponent(k)}=${encodeURIComponent(v)}`
  ).join("&");

const submit = await fetch(`${API}/in.php`, {
  method: "POST",
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
  body: form({
    key: KEY,
    method: "turnstile",
    sitekey: "0x4AAAAAAA...",
    pageurl: "https://example.com",
    json: 1,
  }),
}).then((r) => r.json());

const taskId = submit.request;

for (;;) {
  await new Promise((r) => setTimeout(r, 5000));
  const res = await fetch(`${API}/res.php`, {
    method: "POST",
    headers: { "Content-Type": "application/x-www-form-urlencoded" },
    body: form({ key: KEY, action: "get", id: taskId, json: 1 }),
  }).then((r) => r.json());
  if (res.request !== "CAPCHA_NOT_READY") {
    console.log(res.request); // token
    break;
  }
}
<?php
$api = 'https://ocr.captchaai.com';
$key = getenv('CAPTCHAAI_KEY'); // 32 characters

function post($url, $data) {
    $ch = curl_init($url);
    curl_setopt_array($ch, [
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => http_build_query($data),
        CURLOPT_RETURNTRANSFER => true,
    ]);
    return json_decode(curl_exec($ch), true);
}

// Submit hCaptcha-style task via userrecaptcha method
$submit = post("$api/in.php", [
    'key'       => $key,
    'method'    => 'userrecaptcha',
    'googlekey' => '6Lc_aCMTAAAAABx7u2W0WPXnVbI_v6ZdbM6rYf16',
    'pageurl'   => 'https://example.com',
    'json'      => 1,
]);
$taskId = $submit['request'];

// Poll
do {
    sleep(5);
    $res = post("$api/res.php", [
        'key' => $key, 'action' => 'get', 'id' => $taskId, 'json' => 1,
    ]);
} while ($res['request'] === 'CAPCHA_NOT_READY');

echo $res['request']; // token
Also available: Go Java .NET Ruby Rust Postman
< 0.5s
Image / OCR solve speed
< 60s
reCAPTCHA v2 SLA ceiling
99.5%+
Documented success rate
27,500+
Image CAPTCHA variants
Pricing

Thread-based pricing. Unlimited solves.

Buy concurrent threads, not solves. Every plan ships unlimited solves per thread — no per-CAPTCHA fees, no daily caps, no surcharges by type.

BASIC

Up to ~100K reCAPTCHA v2 / month. Image & OCR workloads scale much higher.

$15 / month · 5 threads
  • 5 concurrent threads
  • Unlimited solves per thread
  • All supported CAPTCHA types
  • Legacy in.php / res.php API
Start with BASIC
Most popular

ADVANCE

Best-fit for 250K–1M reCAPTCHA v2 / month. Effective from $0.09 / 1K.

$90 / month · 50 threads
  • 50 concurrent threads
  • Unlimited solves per thread
  • All supported CAPTCHA types
  • Proxy support per task
Choose ADVANCE

ENTERPRISE

Handles 7.5M–10M reCAPTCHA v2 / month. Effective from $0.030 / 1K.

$300 / month · 200 threads
  • 200 concurrent threads
  • Unlimited solves per thread
  • All supported CAPTCHA types
  • Priority worker pool
Go ENTERPRISE

Full plan ladder — BASIC, STANDARD, ADVANCE, PREMIUM, CORPORATE, ENTERPRISE, VIP-1 / VIP-2 / VIP-3 — on captchaai.com/pricing.

Loved by developers

What teams say

Personas below illustrate common use-cases on the platform.

“Switched from a per-solve vendor and stopped watching the meter. We pay for threads now — every extra solve on top is free.”
AK
Alex K.
Backend Engineer (persona)
“in.php / res.php meant we shipped in an afternoon — our existing 2Captcha worker code just needed the host swapped.”
PM
Priya M.
Founder, indie SaaS (persona)
“BASIC ($15, 5 threads) covered our entire reCAPTCHA v2 pipeline for the first six months. We upgraded to ADVANCE when peak concurrency hit 12.”
MD
Marco D.
Scraping Lead (persona)
“Turnstile under 10s, Image CAPTCHAs under half a second. Latency matches what the docs say to the second.”
ST
Sara T.
QA Automation (persona)
“CAPCHA_NOT_READY + a fixed 5s poll is all the retry logic we needed. Documented error codes saved us writing a state machine.”
DR
Diego R.
DevOps (persona)
“A predictable monthly bill made finance happy. No more spike alerts when a campaign goes viral.”
HL
Hana L.
Growth Engineer (persona)
FAQ

Questions, answered

If you do not see your question, just ask — we usually reply within an hour.

How does CaptchaAI bill — per solve or per month?
Per concurrent thread, per month. Every plan ships with unlimited solves per thread — once a thread is paid for, every CAPTCHA cleared on it is included. There are no per-CAPTCHA fees, no daily caps, and no surcharges by type.
How fast is the API, really?
SLA ceilings (per the official solver pages): Image / OCR under 0.5s, Grid and BLS under 1s, reCAPTCHA v3 under 4s, Cloudflare Turnstile under 10s, Geetest v3 under 12s, Cloudflare Challenge under 15s, Invisible reCAPTCHA v2 under 30s, reCAPTCHA v2 / v2 Enterprise under 60s.
Which CAPTCHA types do you support?
Image CAPTCHA (27,500+ variants), Grid Image, BLS, reCAPTCHA v2 (+invisible, +callback, +enterprise), reCAPTCHA v3 (+enterprise), Cloudflare Turnstile, Cloudflare Challenge, and Geetest v3.
Is there a free trial?
Yes — contact support after creating your account to request a free trial. Plans start at BASIC ($15 / month, 5 threads).
Do I get charged for failed solves?
No. Plans bill on concurrent threads, not on solves. ERROR_CAPTCHA_UNSOLVABLE (rare) and timeouts do not consume your monthly fee — you simply retry.
Can I rotate or revoke API keys?
Yes. Manage your 32-character API key from the dashboard at any time.
Is the API drop-in compatible with my existing solver code?
Yes — CaptchaAI uses the legacy `in.php` (submit) / `res.php` (poll) protocol on `https://ocr.captchaai.com`. Existing 2Captcha-style worker code typically only needs the base URL changed. The CaptchaAI Emulator can layer additional compatibility for other services.
How do I size a plan for my workload?
Plan threads to match peak concurrency, not total volume. A single thread sustains roughly: 5.2M Image, 2.6M Grid/BLS, 648K reCAPTCHA v3, 259K Turnstile, 173K Cloudflare Challenge, 86K Invisible reCAPTCHA v2, or 43K reCAPTCHA v2 per month at full utilization.

Ship faster. Solve smarter.

Create an account in 30 seconds. Get a working API key. Start solving production CAPTCHAs today.

Plans from $15 / month for 5 threads • Free trial available via support • Cancel anytime