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
$ 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
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
From zero to solved in 4 steps
No SDK lock-in. Use plain HTTP, our official client, or your favorite community wrapper.
-
01
Get your 32-char API key
Sign up at captchaai.com and grab the key from your dashboard.
-
02
POST to /in.php
Send `key`, `method` and the type-specific params (e.g. `googlekey`, `pageurl`).
-
03
Poll /res.php
Every ~5 s send `action=get&id=<taskId>` until you stop getting CAPCHA_NOT_READY.
-
04
Inject the token
Drop the returned token into the target form / request and continue.
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.
Drop into your stack
Same response shape across every language. Copy, paste, ship.
# 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
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.
- 5 concurrent threads
- Unlimited solves per thread
- All supported CAPTCHA types
- Legacy in.php / res.php API
ADVANCE
Best-fit for 250K–1M reCAPTCHA v2 / month. Effective from $0.09 / 1K.
- 50 concurrent threads
- Unlimited solves per thread
- All supported CAPTCHA types
- Proxy support per task
ENTERPRISE
Handles 7.5M–10M reCAPTCHA v2 / month. Effective from $0.030 / 1K.
- 200 concurrent threads
- Unlimited solves per thread
- All supported CAPTCHA types
- Priority worker pool
Full plan ladder — BASIC, STANDARD, ADVANCE, PREMIUM, CORPORATE, ENTERPRISE, VIP-1 / VIP-2 / VIP-3 — on captchaai.com/pricing.
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.”
“in.php / res.php meant we shipped in an afternoon — our existing 2Captcha worker code just needed the host swapped.”
“BASIC ($15, 5 threads) covered our entire reCAPTCHA v2 pipeline for the first six months. We upgraded to ADVANCE when peak concurrency hit 12.”
“Turnstile under 10s, Image CAPTCHAs under half a second. Latency matches what the docs say to the second.”
“CAPCHA_NOT_READY + a fixed 5s poll is all the retry logic we needed. Documented error codes saved us writing a state machine.”
“A predictable monthly bill made finance happy. No more spike alerts when a campaign goes viral.”
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?
How fast is the API, really?
Which CAPTCHA types do you support?
Is there a free trial?
Do I get charged for failed solves?
Can I rotate or revoke API keys?
Is the API drop-in compatible with my existing solver code?
How do I size a plan for my workload?
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