NeuroCaptcha

Type de tâche

reCAPTCHA v2

RecaptchaV2Taskvotre proxy

reCAPTCHA v2, c’est la case « Je ne suis pas un robot » et sa variante invisible. L’API renvoie un token gRecaptchaResponse que vous soumettez avec le formulaire de la page.

Avec votre proxy : la tâche est résolue via le proxy que vous transmettez, le token correspond donc à votre IP. Les identifiants du proxy sont supprimés après la résolution.

Prix

0,60 $USpour 1 000 tâches

0,0006 $US par tâche

Obtenir une clé API

Métriques en direct, 24 h

Les métriques en direct de ce type apparaîtront sur la page de statut après le lancement.

Paramètres de la tâche

ParamètreTypeobligatoireParamètres de la tâche
typestringobligatoireRecaptchaV2Task
websiteURLstringobligatoireURL complète de la page contenant le captcha.
websiteKeystringobligatoireClé du site (data-sitekey ou le paramètre k de la requête anchor).
isInvisiblebooleanfacultatiftrue pour le reCAPTCHA v2 invisible (sans case à cocher).
recaptchaDataSValuestringfacultatifValeur de data-s, si la page l’utilise (certains services Google).
userAgentstringfacultatifUser-Agent utilisé pour la résolution ; utilisez le même lors de l’envoi du token.
cookiesstringfacultatifCookies du site cible au format key1=value1; key2=value2.
proxyTypestringobligatoirehttp, socks4 ou socks5.
proxyAddressstringobligatoireAdresse IP ou hôte du proxy (adresses publiques uniquement).
proxyPortintegerobligatoirePort du proxy.
proxyLoginstringfacultatifIdentifiant du proxy, s’il exige une authentification.
proxyPasswordstringfacultatifMot de passe du proxy. Supprimé une fois la tâche résolue.

Exemple

import time
import requests

API = "https://"
KEY = "YOUR_API_KEY"

# 1. create a task: the price is held, not charged
task = requests.post(f"{API}/createTask", json={
    "clientKey": KEY,
    "task": {
        "type": "RecaptchaV2Task",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-SITE-KEY",
        "proxyType": "http",
        "proxyAddress": "203.0.113.10",
        "proxyPort": 8080,
        "proxyLogin": "user",
        "proxyPassword": "pass",
    },
}).json()
if task["errorId"]:
    raise RuntimeError(task["errorCode"])

# 2. poll the result (or pass "callbackUrl" and get a signed webhook)
while True:
    time.sleep(3)
    res = requests.post(f"{API}/getTaskResult",
                        json={"clientKey": KEY, "taskId": task["taskId"]}).json()
    if res["errorId"]:
        raise RuntimeError(res["errorCode"])
    if res["status"] == "ready":
        print(res["solution"]["gRecaptchaResponse"])
        break

Autres types de tâches