reCAPTCHA v3 attribue un score entre 0.0 et 1.0. Le comportement du site cible depend de seuils de validation cote serveur. Une comparaison pertinente doit donc mesurer la distribution des scores dans un contexte reelement exploitable.
Elements a comparer
- Distribution des scores obtenus (0.1-0.3, 0.3-0.5, 0.5-0.7, 0.7+).
- Taux de token acceptes selon vos seuils serveur.
- Impact des signaux attaches (
action,cookies,userAgent,proxy). - Stabilité des résultats par région et plage horaire.
Tableau de test suggere
| Mesure | CaptchaAI | Fournisseur B | Fournisseur C |
|---|---|---|---|
| Score moyen | à mesurer | à mesurer | à mesurer |
| Tokens >= 0.5 | à mesurer | à mesurer | à mesurer |
| Tokens >= 0.7 | à mesurer | à mesurer | à mesurer |
| Rejet serveur | à mesurer | à mesurer | à mesurer |
| Cout par token accepte | à mesurer | à mesurer | à mesurer |
Exemple d'appel v3 (avec signaux de score)
import requests
import time
API_KEY = "YOUR_API_KEY"
submit = requests.post(
"https://ocr.captchaai.com/in.php",
data={
"key": API_KEY,
"method": "userrecaptcha",
"version": "v3",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com/login",
"action": "login",
"json": 1,
},
timeout=30,
)
submit.raise_for_status()
task_id = submit.json()["request"]
for _ in range(40):
time.sleep(5)
poll = requests.get(
"https://ocr.captchaai.com/res.php",
params={"key": API_KEY, "action": "get", "id": task_id, "json": 1},
timeout=30,
)
payload = poll.json()
if payload["request"] != "CAPCHA_NOT_READY":
token = payload["request"]
break
Validation serveur indispensable
Controlez cote serveur:
successscoreaction
Un token techniquement retourne n'est pas forcement accepte par votre logique applicative.
Lecture business
Une solution peut sembler economique par token mais couter plus cher au final si les scores acceptes sont faibles et obligent a multiplier les retries.
Plan de test recommande
- Selectionnez une liste de pages de test representative (login, inscription, formulaire, checkout interne).
- Definissez des seuils serveurs cibles (0.3, 0.5, 0.7) selon vos politiques.
- Mesurez sur plusieurs jours avec même protocole de polling.
- Journalisez score retourne, action, succès et motif de rejet.
- Comparez le cout par token accepte et non seulement le cout unitaire.
Ce protocole evite les conclusions basees sur un seul lot de tests.
FAQ
Le score moyen suffit-il pour choisir?
Non. Le taux d'acceptation final par seuil est plus pertinent pour l'impact produit.
Faut-il toujours viser le score le plus eleve possible ?
Pas toujours. Des seuils trop hauts peuvent augmenter les retries. Alignez le seuil avec la politique de votre backend.
Pourquoi valider l'action?
Parce qu'un token avec une action inattendue peut etre refuse même si le score semble correct.
La bonne comparaison reCAPTCHA v3 repose sur des taux d'acceptation reels et pas seulement sur des scores moyens.