Comparisons

Pourquoi les développeurs passent de 2Captcha à CaptchaAI

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


Envie de mesurer l'écart sur vos propres cibles ? Ouvrez un compte CaptchaAI et changez l'URL de l'endpoint : moins de cinq minutes.

Les commentaires sont désactivés pour cet article.