Jeder Endpunkt, Parameter und Fehlercode an einem Ort.
Basis-URLs
| Zweck | URL |
|---|---|
| Aufgabe abschicken | https://ocr.captchaai.com/in.php |
| Ergebnis erhalten | https://ocr.captchaai.com/res.php |
| Überprüfen Sie den Kontostand | https://ocr.captchaai.com/res.php?key=KEY&action=getbalance |
Authentifizierung
Alle Anfragen erfordern key=YOUR_API_KEY als Parameter.
Aufgabe senden – Allgemeine Parameter
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
key |
Ja | Ihr API-Schlüssel |
method |
Ja | CAPTCHA-Typ-ID |
pageurl |
Ja* | URL der Seite mit dem CAPTCHA |
json |
Nein | Legen Sie 1 für JSON-Antworten fest |
soft_id |
Nein | Entwickleranwendungs-ID |
proxy |
Nein | Proxy im type:host:port:user:pass-Format |
proxytype |
Nein | HTTP, HTTPS, SOCKS4, SOCKS5 |
*Für image/OCR CAPTCHAs nicht erforderlich.
Methodenreferenz
reCAPTCHA v2
method=userrecaptcha
googlekey=SITE_KEY
pageurl=PAGE_URL
Optional: invisible=1 für unsichtbare Variante.
reCAPTCHA v3
method=userrecaptcha
googlekey=SITE_KEY
pageurl=PAGE_URL
version=v3
action=ACTION_NAME
reCAPTCHA Enterprise
method=userrecaptcha
googlekey=SITE_KEY
pageurl=PAGE_URL
enterprise=1
Cloudflare Turnstile
method=turnstile
sitekey=SITE_KEY
pageurl=PAGE_URL
Cloudflare Challenge
method=cloudflare_challenge
sitekey=SITE_KEY
pageurl=PAGE_URL
GeeTest v3
method=geetest
gt=GT_VALUE
challenge=CHALLENGE_VALUE
pageurl=PAGE_URL
api_server=API_SERVER (optional)
GeeTest v4
method=geetest
gt=CAPTCHA_ID
pageurl=PAGE_URL
version=4
BLS CAPTCHA
method=bls
sitekey=SITE_KEY
pageurl=PAGE_URL
instructions=INSTRUCTIONS (optional)
code=CODE (optional)
Bild/OCR CAPTCHA (base64)
method=base64
body=BASE64_STRING
Image/OCR CAPTCHA (Datei-Upload)
method=post
file=@captcha.png (multipart)
Image/OCR Optionale Parameter
| Parameter | Werte | Beschreibung |
|---|---|---|
numeric |
0=beliebig, 1=Ziffern, 2=Buchstaben, 3=entweder, 4=keine |
Zeichentyp |
regsense |
0=ohne Berücksichtigung, 1=Groß- und Kleinschreibung beachten |
Groß- und Kleinschreibung beachten |
minLen |
1-20 |
Mindesttextlänge |
maxLen |
1-20 |
Maximale Textlänge |
phrase |
0=einzelnes Wort, 1=Satz (Leerzeichen) |
Antwort mit mehreren Wörtern |
calc |
0=Text, 1=mathematischer Ausdruck |
Mathe-CAPTCHA |
language |
0=beliebig, 1=Kyrillisch, 2=Lateinisch |
Zeichensatz |
textinstructions |
Text | Lösungshinweis |
Antwort senden
Erfolg
OK|TASK_ID
JSON (json=1):
{"status": 1, "request": "TASK_ID"}
Fehler
ERROR_KEY_DOES_NOT_EXIST
JSON:
{"status": 0, "request": "ERROR_KEY_DOES_NOT_EXIST"}
Ergebnis abrufen
GET https://ocr.captchaai.com/res.php?key=KEY&action=get&id=TASK_ID
Verarbeitung
CAPCHA_NOT_READY
Erfolg
OK|TOKEN_OR_TEXT
Fehler
ERROR_CAPTCHA_UNSOLVABLE
Referenz zu Fehlercodes
| Fehlercode | Bedeutung | Aktion |
|---|---|---|
ERROR_WRONG_USER_KEY |
Ungültiges API-Schlüsselformat | Überprüfen Sie das Schlüsselformat |
ERROR_KEY_DOES_NOT_EXIST |
API-Schlüssel nicht gefunden | Überprüfen Sie den Schlüssel im Dashboard |
ERROR_ZERO_BALANCE |
Unzureichende Mittel | Konto aufladen |
ERROR_NO_SLOT_AVAILABLE |
Server beschäftigt | Versuchen Sie es nach 5 Sekunden erneut |
ERROR_CAPTCHA_UNSOLVABLE |
Dieses CAPTCHA kann nicht gelöst werden | Versuchen Sie es erneut mit einer neuen Herausforderung |
ERROR_BAD_DUPLICATES |
Zu viele identische Fehler | Überprüfen Sie die Bildqualität |
ERROR_WRONG_CAPTCHA_ID |
Ungültige Aufgaben-ID | Neue Aufgabe senden |
ERROR_TOO_BIG_CAPTCHA_FILESIZE |
Das Bild ist größer als 100 KB | Komprimieren oder Größe ändern |
ERROR_IMAGE_TYPE_NOT_SUPPORTED |
Ungültiges Bildformat | Verwenden Sie PNG, JPG oder GIF |
ERROR_PAGEURL |
Fehlende oder ungültige Seiten-URL | Geben Sie die vollständige URL an |
ERROR_GOOGLEKEY |
Fehlender Sitekey | Sitekey von der Seite extrahieren |
Best Practices für Umfragen
import time
import requests
API_KEY = "YOUR_API_KEY"
BASE = "https://ocr.captchaai.com"
def solve_captcha(submit_params):
submit_params["key"] = API_KEY
submit_params["json"] = 1
resp = requests.post(f"{BASE}/in.php", data=submit_params)
data = resp.json()
if data["status"] != 1:
raise Exception(f"Submit error: {data['request']}")
task_id = data["request"]
# Wait before first poll
time.sleep(10)
for _ in range(60):
result = requests.get(
f"{BASE}/res.php",
params={"key": API_KEY, "action": "get", "id": task_id, "json": 1}
).json()
if result["request"] == "CAPCHA_NOT_READY":
time.sleep(5)
continue
if result["status"] == 1:
return result["request"]
raise Exception(f"Solve error: {result['request']}")
raise TimeoutError("CAPTCHA solve timed out")
Zeitrichtlinien:
- Anfängliche Wartezeit: 10 Sekunden (20 Sekunden für reCAPTCHA v3)
- Abfrageintervall: 5 Sekunden
- Maximale Versuche: 60 (insgesamt 5 Minuten)
Überprüfen Sie den Kontostand
balance = requests.get(
f"{BASE}/res.php",
params={"key": API_KEY, "action": "getbalance"}
).text
print(f"Balance: ${balance}")
FAQ
Was ist die maximale Bildgröße?
100 KB für image/OCR CAPTCHAs. Komprimieren Sie größere Bilder oder ändern Sie ihre Größe, bevor Sie sie senden.
Wie lange bleiben Token gültig?
reCAPTCHA: ~120 Sekunden. Turnstile: ~300 Sekunden. GeeTest: ~60–120 Sekunden. Senden Sie Token sofort nach Erhalt.
Kann ich Proxys mit allen CAPTCHA-Typen verwenden?
Proxys werden für tokenbasierte CAPTCHAs (reCAPTCHA, Turnstile, GeeTest) unterstützt. Gilt nicht für image/OCR.
Verwandte Leitfäden
- API-Antwortformate und Fehlercodes
- CaptchaAI Schnellstart
Lösen Sie alle CAPTCHAs in wenigen Minuten – Holen Sie sich Ihren API-Schlüssel.