Diese Anleitung verfolgt ein einziges Ziel: Sie so schnell wie möglich vom Nullpunkt zum ersten erfolgreichen API-Aufruf und einem gelösten Token zu führen. Keine Theorie, keine Umwege — nur die Mindestschritte und lauffähiger Code.
Alle von CaptchaAI unterstützten CAPTCHA-Typen folgen demselben vierstufigen Muster:
- Senden — die CAPTCHA-Daten an
in.phpschicken - Task-ID speichern aus der Antwort
- Pollen — alle 5 Sekunden
res.phpabfragen, bis das Ergebnis fertig ist - Token verwenden — auf der Zielseite oder im Request einfügen
Schritt 0: API-Schlüssel besorgen
- Auf captchaai.com registrieren
- Ihr Dashboard öffnen
- Den 32-stelligen API-Schlüssel kopieren
Ihr Konto benötigt aktive Threads, um Tasks zu senden. Beim Evaluieren des Dienstes können Sie Test-Threads beim Support anfragen.
Schritt 1: ein CAPTCHA senden
Das Beispiel löst ein Cloudflare Turnstile — einen der häufigsten Typen. Sie benötigen zwei Werte von der Zielseite:
- sitekey — der öffentliche Schlüssel des Turnstile-Widgets (Attribut
data-sitekeyoder Turnstile-Skriptparameter, beginnt mit0x) - pageurl — die vollständige URL der Seite, auf der das Widget geladen wird
cURL
curl -X POST "https://ocr.captchaai.com/in.php" \
-d "key=YOUR_API_KEY" \
-d "method=turnstile" \
-d "sitekey=0x4AAAAAAAC3DHQFLr1GavNl" \
-d "pageurl=https://example.com/login" \
-d "json=1"
Python
import requests
response = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "turnstile",
"sitekey": "0x4AAAAAAAC3DHQFLr1GavNl",
"pageurl": "https://example.com/login",
"json": 1,
})
print(response.json())
Node.js
const response = await fetch("https://ocr.captchaai.com/in.php", {
method: "POST",
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: new URLSearchParams({
key: "YOUR_API_KEY",
method: "turnstile",
sitekey: "0x4AAAAAAAC3DHQFLr1GavNl",
pageurl: "https://example.com/login",
json: "1",
}),
});
console.log(await response.json());
PHP
<?php
$response = file_get_contents("https://ocr.captchaai.com/in.php?" . http_build_query([
"key" => "YOUR_API_KEY",
"method" => "turnstile",
"sitekey" => "0x4AAAAAAAC3DHQFLr1GavNl",
"pageurl" => "https://example.com/login",
"json" => 1,
]));
echo $response;
Schritt 2: Task-ID sichern
Erfolgsantwort:
{
"status": 1,
"request": "71823469"
}
Das Feld request ist Ihre Task-ID — Sie benötigen sie, um das Ergebnis abzurufen.
Wenn status 0 ist, ist etwas schiefgelaufen. Der Fehlercode steht in request:
| Fehler | Bedeutung | Lösung |
|---|---|---|
ERROR_WRONG_USER_KEY |
API-Schlüsselformat falsch | 32 Zeichen prüfen |
ERROR_KEY_DOES_NOT_EXIST |
Schlüssel nicht gefunden | Mit Dashboard abgleichen |
ERROR_ZERO_BALANCE |
Keine freien Threads | Aufladen oder warten |
ERROR_PAGEURL |
Parameter pageurl fehlt |
Vollständige URL ergänzen |
ERROR_WRONG_GOOGLEKEY |
sitekey leer oder ungültig | sitekey neu extrahieren (Turnstile beginnt mit 0x) |
Schritt 3: Ergebnis pollen
Erst 15 Sekunden warten, dann alle 5 Sekunden abfragen, bis ein Ergebnis vorliegt.
Python
import time
time.sleep(15)
while True:
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY",
"action": "get",
"id": "71823469",
"json": 1,
}).json()
if result.get("request") == "CAPCHA_NOT_READY":
time.sleep(5)
continue
if result.get("status") == 1:
token = result["request"]
print(f"Solved! Token: {token[:60]}...")
break
raise RuntimeError(result)
Node.js
await new Promise((r) => setTimeout(r, 15000));
while (true) {
const r = await fetch(
`https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=71823469&json=1`,
);
const data = await r.json();
if (data.request === "CAPCHA_NOT_READY") {
await new Promise((r) => setTimeout(r, 5000));
continue;
}
if (data.status === 1) {
console.log("Solved:", data.request.slice(0, 60));
break;
}
throw new Error(JSON.stringify(data));
}
Schritt 4: Token verwenden
Die Injektionsweise hängt vom CAPTCHA-Typ ab:
- Turnstile / reCAPTCHA: in
cf-turnstile-responsebzw.g-recaptcha-responseschreiben oder den Callback der Seite aufrufen. - Bild-OCR: erkannten Text ins Antwort-Input setzen.
- GeeTest / FunCaptcha: die zurückgegebenen Felder gemäß Site-Vorgaben zusammensetzen.
Minimaler Browser-Aufruf:
document.querySelector('[name="cf-turnstile-response"]').value = token;
document.querySelector("form").submit();
Häufige Anfangsfehler
- Leerzeichen im API-Schlüssel — entfernen.
- Fehlendes Protokoll in
pageurl— musshttps://...sein. - Zu früher erster Poll — 15 Sekunden warten.
- Zu häufiges Pollen — alle 5 s reichen aus.
- Threads ausgeschöpft — siehe API-Fehlercodes und Ihren Plan.
Nächste Schritte
Weiter geht es nach dem CAPTCHA-Typ, der Ihnen am häufigsten begegnet:
- reCAPTCHA v2 per API lösen
- Cloudflare Turnstile per API lösen
- GeeTest v3 per API lösen
- Bild-CAPTCHA per API lösen
Holen Sie Ihren API-Schlüssel auf captchaai.com/api.php und schließen Sie Ihre erste erfolgreiche Lösung in unter 5 Minuten ab.
Diskussionen (0)
Beteiligen Sie sich an der Unterhaltung
Melden Sie sich an, um Ihre Meinung zu teilen.
AnmeldenNoch keine Kommentare.