NeuroCaptcha

Type de tâche

reCAPTCHA v3 Enterprise

RecaptchaV3EnterpriseTaskProxylesssans proxy

reCAPTCHA v3 n’a pas de widget : le site attribue à chaque action un score de 0.0 à 1.0. L’API renvoie un token pour la pageAction demandée ; minScore fixe le score requis.

Variante Enterprise : le site charge enterprise.js et peut transmettre des données supplémentaires dans enterprisePayload ; envoyez-les telles quelles.

Sans proxy : nous résolvons depuis notre propre infrastructure. Idéal quand le site cible ne lie pas le token à une IP.

Prix

2,00 $USpour 1 000 tâches

0,002 $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
typestringobligatoireRecaptchaV3EnterpriseTaskProxyless
websiteURLstringobligatoireURL complète de la page contenant le captcha.
websiteKeystringobligatoireClé du site (data-sitekey ou le paramètre k de la requête anchor).
minScorenumberfacultatifScore requis, de 0.1 à 0.9. Plus il est élevé, plus la résolution est longue.
pageActionstringfacultatifNom de l’action transmis à grecaptcha.execute sur la page.
enterprisePayloadobjectfacultatifParamètres Enterprise supplémentaires, par exemple s, sous forme d’objet.
apiDomainstringfacultatifDomaine depuis lequel le widget est chargé : google.com ou recaptcha.net.
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.

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": "RecaptchaV3EnterpriseTaskProxyless",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-SITE-KEY",
        "minScore": 0.7,
        "pageAction": "login",
    },
}).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