L'extension de navigateur CaptchaAI et une intégration en ligne de commande ne s'opposent pas : combinées, elles couvrent deux moments du même workflow. L'extension résout un défi CAPTCHA en un clic pendant une session interactive ; le CLI et l'API prennent le relais dès que le parcours doit tourner sans surveillance, en CI ou dans un worker planifié. L'enjeu n'est pas de choisir, mais de rendre le passage de l'un à l'autre prévisible : état du compte, profil de navigateur et comportement après résolution sur votre page.
Périmètre sûr : ce guide s'applique exclusivement à vos propres applications, à vos environnements de QA ou de production, ou à des systèmes pour lesquels vous avez une autorisation écrite. Il ne décrit ni l'automatisation de sites tiers, ni l'évasion de protections anti-bot.
Pourquoi associer l'extension et le CLI
L'extension est idéale quand un humain est devant l'écran : reproduire un bug, capturer les paramètres réels d'une page. Le CLI rejoue ensuite ce parcours sans interface. Le point commun est l'API CaptchaAI : une seule interface pour toutes les familles de CAPTCHA, une latence prévisible, et une facturation par thread avec des résolutions illimitées par thread. Le plus petit palier, BASIC ($15/mois, 5 threads), suffit à cadencer un pipeline de QA.
Le workflow de bout en bout
Le déroulé est le même depuis l'extension ou le CLI ; seul le déclencheur change.
- Isolez l'environnement. Séparez la QA de la production, stockez la clé CaptchaAI en secret CI, réutilisez un profil dédié.
- Capturez les bons paramètres. Relevez uniquement ce qu'attend la famille de CAPTCHA :
sitekey, URL de la page, action éventuelle, proxy. - Soumettez, puis interrogez le résultat. Encapsulez l'appel dans une fonction qui renvoie un token et trace la durée et le code retour.
- Appliquez le token dans la même session. Même contexte, même client HTTP, mêmes cookies : une session incohérente reste la première cause de rejet.
- Vérifiez côté backend, puis mesurez. Aucune requête ne doit passer sur un token non revérifié ; tracez la latence et l'acceptation.
Exemple : soumettre une tâche depuis Node.js
L'exemple ci-dessous, commenté en français, envoie une tâche à l'API et récupère l'identifiant de tâche :
import fetch from 'node-fetch';
const API_KEY = process.env.CAPTCHAAI_KEY;
export async function createTurnstileTask(siteKey, pageUrl) {
const res = await fetch('https://api.captchaai.com/createTask', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
clientKey: API_KEY,
task: {
type: 'TurnstileTaskProxyless',
websiteURL: pageUrl,
websiteKey: siteKey,
},
}),
});
const data = await res.json();
return data.taskId;
}
Une fois l'identifiant obtenu, interrogez régulièrement le résultat, puis appliquez le token dans la même session que celle qui a déclenché le défi : même contexte de navigateur, même client HTTP, mêmes cookies. Une session incohérente reste la première cause de rejet.
Instrumenter et journaliser chaque appel
Instrumentez les appels pour obtenir des métriques exploitables : durée d'obtention du token et code retour. Suivez séparément le taux de réussite du solveur et le taux d'acceptation : un token résolu n'est pas un parcours réussi. Sur des workers OVHcloud, Scaleway ou AWS eu-west-3 (Paris), surveillez la latence et minimisez les données personnelles journalisées (RGPD).
Dépannage
| Problème | Cause probable | Correctif |
|---|---|---|
ERROR_WRONG_USER_KEY |
Espace parasite ou mauvais compte. | Recopiez la clé, stockez-la en secret CI. |
ERROR_ZERO_BALANCE |
Solde sous le minimum par tâche. | Rechargez et ajoutez une alerte de solde. |
ERROR_PAGEURL / ERROR_BAD_PARAMETERS |
Paramètre manquant ou mal formé. | Revalidez l'URL et la sitekey. |
| Token refusé après résolution | Token appliqué dans une autre session. | Gardez tout dans le même contexte. |
Liste de contrôle avant la production
- Le périmètre reste limité à vos propres applications ou à des sources autorisées.
- La clé CaptchaAI vit dans un secret CI ou un coffre, jamais dans le code source.
- Les durées d'appel et les codes retour sont tracés à chaque exécution.
- Le token est appliqué dans la même session que celle qui a déclenché le défi.
- Un retry idempotent, avec backoff exponentiel borné, couvre les erreurs transitoires.
FAQ
Faut-il utiliser l'extension et le CLI en même temps ?
Rarement au même instant, mais les deux dans le même projet. L'extension sert aux sessions interactives ; le CLI les rejoue automatiquement. La résolution passant par la même API, vous n'entretenez qu'une intégration.
Où stocker la clé API CaptchaAI dans un pipeline CI ?
Dans le gestionnaire de secrets de votre plateforme (GitHub Actions, GitLab CI, Vault), jamais en clair dans le dépôt. Injectez-la à l'exécution via une variable d'environnement comme CAPTCHAAI_KEY.
CaptchaAI prend-il en charge hCaptcha ou FunCaptcha ?
Non — ces types ne sont pas pris en charge actuellement. CaptchaAI couvre reCAPTCHA v2 et v3, Cloudflare Turnstile et Challenge, GeeTest v3, les CAPTCHA image/OCR, les grilles d'images et BLS, avec CaptchaFox, Friendly Captcha et Lemin en bêta. GeeTest v4 est annoncé comme à venir.
Puis-je transposer ce workflow vers un autre langage ?
Oui. Le contrat submit/poll est identique ; seule change la librairie HTTP. L'exemple est en Node.js ; Python, Go, Java ou Ruby suivent la même logique.
Guides connexes
- Le démarrage rapide CaptchaAI
- La QA CAPTCHA en environnements autorisés
- Tester l'endpoint API sur vos formulaires
- Intégrer la résolution CAPTCHA en CI
- Résoudre reCAPTCHA v2 via l'API
Passez du prototype à un workflow reproductible en production. – Obtenez votre clé CaptchaAI.