Le passage de 2Captcha à CaptchaAI se joue sur deux lignes : l'URL de l'endpoint et la clé API. CaptchaAI expose une API compatible 2Captcha — mêmes in.php et res.php, mêmes paramètres, même format de réponse.
Reste à savoir ce que la bascule rapporte. Trois arguments reviennent chez les équipes qui ont migré : la facturation par threads, la pile Cloudflare complète, des temps de résolution stables aux heures de pointe.
Ce que 2Captcha et CaptchaAI couvrent réellement
Regardez d'abord la matrice de types : c'est elle qui décide si la migration est possible.
| Caractéristique | 2Captcha | CaptchaAI |
|---|---|---|
| reCAPTCHA v2 et invisible | ✅ | ✅ |
| reCAPTCHA v3 | Partielle | ✅ Contrôle des scores |
| Cloudflare Turnstile | Partielle | ✅ |
| Cloudflare Challenge | ❌ | ✅ |
| GeeTest v3 | ✅ | ✅ |
| GeeTest v4 | Oui | ❌ (à venir) |
| hCaptcha | Oui | ❌ Non pris en charge |
| FunCaptcha (Arkose Labs) | Oui | ❌ Non pris en charge |
| BLS CAPTCHA | ❌ | ✅ |
| Image/OCR et grilles | ✅ | ✅ 27 500+ types |
| CaptchaFox, Friendly Captcha, Lemin | Variable | ✅ (bêta) |
Les angles morts d'abord : CaptchaAI ne prend en charge ni hCaptcha ni FunCaptcha, et GeeTest v4 est annoncé comme à venir. Si votre cible relève de ces types, la migration n'a pas de sens.
Le modèle de facturation : des threads, pas des résolutions
CaptchaAI facture des threads simultanés, avec un nombre de résolutions illimité par thread sur le mois :
- BASIC ($15/mois, 5 threads) — un crawler unique.
- ADVANCE ($90/mois, 50 threads) — une flotte de workers.
- ENTERPRISE ($300/mois, 200 threads) — plusieurs pipelines.
- VIP-3 ($7,500/mois, 5 000 threads) — le haut de gamme.
Un thread, c'est un CAPTCHA en vol : la résolution terminée, il reprend la suivante. Le budget est donc connu d'avance, et c'est le parallélisme qui fixe votre débit. Facturation en dollars US ; ne dimensionnez pas un plan en euros.
Autrement dit : sur 2Captcha vous estimez un volume, sur CaptchaAI un pic de simultanéité.
Vitesse : ce que change l'absence de file d'attente humaine
Les chiffres ci-dessous reposent sur des mesures observées et des retours d'utilisateurs. Les résultats varient selon l'environnement, le volume et le moment de la journée.
| Métrique | 2Captcha (observé) | CaptchaAI (plafond) |
|---|---|---|
| reCAPTCHA v2 | 20–60 s | < 60 s |
| CAPTCHA image | 8–20 s | < 0,5 s |
| Cloudflare Turnstile | 15–40 s | < 10 s |
2Captcha s'appuie sur des opérateurs humains : file d'attente, pauses, saturation aux heures de pointe. Une résolution automatisée ignore horaires et week-ends — décisif quand vos jobs tournent la nuit.
Le contrôle du score sur reCAPTCHA v3
Avec 2Captcha, les tokens v3 reviennent souvent entre 0,1 et 0,3 — trop bas pour les seuils habituels. CaptchaAI pilote le contexte de la résolution et vise des scores exploitables, au-delà de 0,7.
# CaptchaAI — control the v3 score
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"version": "v3",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"action": "login",
"json": 1,
})
Le paramètre action doit correspondre exactement à celui déclaré par la page cible ; sinon le score chute.
Couverture Cloudflare : Turnstile, Challenge et pages JS
2Captcha a ajouté Turnstile tardivement et ne traite pas les pages Cloudflare Challenge. CaptchaAI couvre la pile complète : Turnstile en moins de 10 secondes, avec un taux de réussite élevé. C'est souvent le vrai point de bascule.
Portails BLS : un cas concret côté francophone
Les portails BLS servent les rendez-vous consulaires et les demandes de visa, sujet très présent en Afrique du Nord francophone. 2Captcha ne propose pas ce type ; CaptchaAI l'expose via la méthode bls.
# CaptchaAI — BLS CAPTCHA with a high success rate
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "bls",
"pageurl": "https://bls-portal.example.com",
"sitekey": "BLS_SITE_KEY",
"json": 1,
})
Cadre d'usage : restez sur votre propre démarche ou un environnement autorisé, sans aucune donnée personnelle dans vos logs (hygiène RGPD).
API compatible 2Captcha : une seule URL à changer
Pour la plupart des intégrations, la migration se limite à l'endpoint.
# 2Captcha original
ENDPOINT = "https://2captcha.com"
# CaptchaAI — just change the URL
ENDPOINT = "https://ocr.captchaai.com"
# Same API format, same parameters, same response structure
Mêmes paramètres, même réponse JSON : vos wrappers maison continuent de fonctionner.
Avant / après sur un pipeline de scraping
Profil d'une équipe dont le crawler de veille tarifaire tourne sur une instance Scaleway à Paris.
Avant (2Captcha)
Pipeline: 500 pages/hour
Avg solve time: 35s
Failure rate: 8%
Peak hour solve: 60-90s
Monthly cost: $300
Night shift: Slow (fewer workers)
Weekends: Slower (fewer workers)
Flash sales: Breaks (demand spike)
Après (CaptchaAI)
Pipeline: 1,200 pages/hour
Avg solve time: 12s
Failure rate: 3%
Peak hour solve: 12-15s
Monthly cost: $280
Night shift: Same speed
Weekends: Same speed
Flash sales: Same speed
À débit constant, moins d'attente signifie moins de workers immobilisés, donc une facture d'infrastructure plus légère.
Migrer depuis 2Captcha sans casser l'existant
Faut-il réécrire le code d'intégration ?
Non. Changez l'URL, changez la clé, gardez le reste. Le schéma envoi puis polling reste valable :
import requests
import time
# Only these two lines change:
API_KEY = "YOUR_CAPTCHAAI_KEY"
API_URL = "https://ocr.captchaai.com"
def solve_recaptcha(sitekey, pageurl):
resp = requests.post(f"{API_URL}/in.php", data={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": sitekey,
"pageurl": pageurl,
"json": 1,
})
task_id = resp.json()["request"]
for _ in range(60):
time.sleep(5)
result = requests.get(f"{API_URL}/res.php", params={
"key": API_KEY, "action": "get",
"id": task_id, "json": 1,
})
data = result.json()
if data["request"] != "CAPCHA_NOT_READY":
return data["request"]
raise TimeoutError("Solve timeout")
Que faire du solde 2Captcha restant ?
Consommez-le : basculez les nouveaux projets, migrez les anciens à mesure que les crédits s'épuisent.
Peut-on tester avant de basculer ?
Oui. Faites tourner les deux services en parallèle quelques jours, comparez les taux de réussite, puis coupez.
Dépannage
| Problème | Cause | Correctif |
|---|---|---|
| Aucun gain de vitesse | Le code appelle encore 2captcha.com |
Vérifiez l'endpoint ocr.captchaai.com |
| Clé API refusée | Ancienne clé 2Captcha réutilisée | Récupérez une clé CaptchaAI |
| Échecs répétés sur Turnstile | Nom de méthode obsolète | Utilisez method=turnstile |
FAQ
CaptchaAI prend-il en charge hCaptcha et FunCaptcha ?
Non — pas encore pris en charge, ni l'un ni l'autre. Si votre cible repose sur l'un des deux, migrer ne réglera rien.
GeeTest v4 est-il disponible ?
Non, il est annoncé comme à venir. GeeTest v3 est pris en charge et se résout en moins de 12 secondes.
Quel plan choisir pour remplacer une consommation 2Captcha ?
Raisonnez en parallélisme : cinq threads suffisent à un crawler modeste (BASIC, $15/mois) ; une flotte de workers vise ADVANCE ($90/mois, 50 threads).
Peut-on faire cohabiter les deux services en production ?
Oui. Gardez 2Captcha en repli quelques semaines : un aiguillage sur l'URL de l'endpoint permet de rebasculer sans redéploiement.
Guides connexes
- La procédure de migration depuis 2Captcha, étape par étape
- Le comparatif des tarifs des API de résolution
Envie de mesurer l'écart sur vos propres cibles ? Ouvrez un compte CaptchaAI et changez l'URL de l'endpoint : moins de cinq minutes.