Skip to content
CaptchAPI
Référence de l'API

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/json

Champs de la requête

ChampTypeObligatoireDescription
clientKeystringouiVotre clé API.
task.typestringouiL'un des types de tâches pris en charge. Insensible à la casse.
task.websiteURLstringouiL'URL complète de la page portant le CAPTCHA, schéma compris.
task.websiteKeystringen généralLa sitekey du widget. Inutile pour les challenges Cloudflare pleine page, qui n'en ont pas.
task.pageActionstringnonNom de l'action reCAPTCHA v3. Envoyez la valeur utilisée par le site, sinon le score sera faussé.
task.isInvisiblebooleannonÀ activer pour les widgets reCAPTCHA v2 invisible et hCaptcha invisible.
task.datastringnonCharge utile supplémentaire exigée par certains widgets : le blob FunCaptcha, ou le rqdata hCaptcha.
task.funcaptchaApiJSSubdomainstringnonSous-domaine api.js Arkose personnalisé, lorsque la cible en utilise un.
task.userAgentstringnonUser-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.proxyTypestringavec proxyhttp, https, socks4 ou socks5.
task.proxyAddressstringavec proxyHôte ou IP du proxy. Doit être joignable depuis notre sortie.
task.proxyPortnumberavec proxyPort du proxy.
task.proxyLoginstringnonIdentifiant du proxy, si celui-ci s'authentifie.
task.proxyPasswordstringnonMot de passe du proxy, si celui-ci s'authentifie.

Exemples

reCAPTCHA v3 avec une action de page
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ReCaptchaV3TokenProxyLess",
    "websiteURL": "https://example.com/checkout",
    "websiteKey": "6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf",
    "pageAction": "checkout"
  }
}
Turnstile via votre propre proxy, avec un User-Agent exact
{
  "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"
  }
}
Challenge Cloudflare pleine page — sans sitekey
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "CloudflareChallengeCookie",
    "websiteURL": "https://example.com/protected"
  }
}

Réponse

Acceptée
{
  "errorId": 0,
  "taskId": "9f2c4b1e-6f0a-4d5e-b6c1-2f7a9d3e51c8"
}
Refusée — le HTTP reste 200
{
  "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.