createTask
Soumettre un CAPTCHA à résoudre et recevoir un identifiant de tâche.
Crée une tâche de résolution et répond immédiatement. La réponse contient un taskId que vous interrogez ensuite avec getTaskResult. Le prix de la tâche est débité de votre portefeuille ici, et recrédité automatiquement si la tâche se termine en échec.
POST https://api.captchapi.com/createTask
content-type: application/jsonChamps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
clientKey | string | oui | Votre clé API. |
task.type | string | oui | L'un des types de tâches pris en charge. Insensible à la casse. |
task.websiteURL | string | oui | L'URL complète de la page portant le CAPTCHA, schéma compris. |
task.websiteKey | string | en général | La sitekey du widget. Inutile pour les challenges Cloudflare pleine page, qui n'en ont pas. |
task.pageAction | string | non | Nom de l'action reCAPTCHA v3. Envoyez la valeur utilisée par le site, sinon le score sera faussé. |
task.isInvisible | boolean | non | À activer pour les widgets reCAPTCHA v2 invisible et hCaptcha invisible. |
task.data | string | non | Charge utile supplémentaire exigée par certains widgets : le blob FunCaptcha, ou le rqdata hCaptcha. |
task.funcaptchaApiJSSubdomain | string | non | Sous-domaine api.js Arkose personnalisé, lorsque la cible en utilise un. |
task.userAgent | string | non | User-Agent exact à utiliser. Un UA Firefox est honoré par un vrai moteur Gecko, pas par un en-tête falsifié, ce qui ajoute quelques secondes. |
task.proxyType | string | avec proxy | http, https, socks4 ou socks5. |
task.proxyAddress | string | avec proxy | Hôte ou IP du proxy. Doit être joignable depuis notre sortie. |
task.proxyPort | number | avec proxy | Port du proxy. |
task.proxyLogin | string | non | Identifiant du proxy, si celui-ci s'authentifie. |
task.proxyPassword | string | non | Mot de passe du proxy, si celui-ci s'authentifie. |
Exemples
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaV3TokenProxyLess",
"websiteURL": "https://example.com/checkout",
"websiteKey": "6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf",
"pageAction": "checkout"
}
}{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "TurnstileToken",
"websiteURL": "https://example.com/login",
"websiteKey": "0x4AAAAAAADnPIDROrmt1Wwj",
"proxyType": "http",
"proxyAddress": "203.0.113.10",
"proxyPort": 8080,
"proxyLogin": "user",
"proxyPassword": "pass",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
}
}{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "CloudflareChallengeCookie",
"websiteURL": "https://example.com/protected"
}
}Réponse
{
"errorId": 0,
"taskId": "9f2c4b1e-6f0a-4d5e-b6c1-2f7a9d3e51c8"
}{
"errorId": 1,
"errorCode": "ERROR_ZERO_BALANCE",
"errorDescription": "Your wallet balance is 0.00 USD. Top up to create tasks."
}Le débit a lieu ici, avant la résolution. C'est ce qui nous permet de répondre en millisecondes plutôt que de laisser votre requête ouverte pendant un contrôle de solvabilité. Chaque tâche en échec est recréditée sous le même identifiant : les deux mouvements se répondent toujours dans l'historique du portefeuille.