NeuroCaptcha

RecaptchaV3EnterpriseTaskProxyless

Параметры, запрос и ответ для reCAPTCHA v3 Enterprise без прокси: тип задачи RecaptchaV3EnterpriseTaskProxyless.

На этой странице

reCAPTCHA v3 Enterprise: виджета нет, страница вызывает grecaptcha.enterprise.execute, а сайт получает score. Задача решается с наших IP-адресов — прокси не нужен.

Цена2,00 $ за 1000 задач (0,002 $ за задачу), только за решённые — цены
Проксине нужен
Очередь в getQueueStats18, 19, 20
Также принимается какRecaptchaV3Enterprise

Параметры#

Поля объекта task в createTask:

type
stringобязательный
RecaptchaV3EnterpriseTaskProxyless
websiteURL
stringобязательный
Полный адрес страницы, на которой показана reCAPTCHA: http(s), до 2048 символов. Именно страницы, а не iframe reCAPTCHA.
websiteKey
stringобязательный
Ключ сайта: атрибут data-sitekey виджета или параметр k запроса anchor в DevTools → Network. До 256 символов, без пробелов.
pageAction
string
Действие, которое страница передаёт в grecaptcha.execute(sitekey, {action: …}), например login. До 128 символов.
minScore
number
Минимальный score токена от 0 до 1, обычно 0.3, 0.7 или 0.9.
enterprisePayload
object
Дополнительные параметры grecaptcha.enterprise.render / execute, например {"s": "…"}, до 8 КиБ JSON. Если recaptchaDataSValue или pageAction пусты, берутся ключи s и action.
apiDomain
string
Домен, с которого грузится виджет: www.google.com (по умолчанию) или www.recaptcha.net.
userAgent
string
User-Agent браузера, который отправит токен, до 512 символов. Возвращается в solution.userAgent.
cookies
string
Cookies целевого сайта для решающего браузера: name=value; name2=value2, до 8192 символов. Хранятся зашифрованными.

Запрос#

POST /createTask
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV3EnterpriseTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "YOUR_SITE_KEY",
    "pageAction": "login",
    "minScore": 0.7
  }
}

Полный пример#

Создать задачу, опрашивать каждые 2 секунды, вывести токен:

import os
import time

import requests

API = "https://neurocaptcha.com"
KEY = os.environ["API_KEY"]


def call(method, payload):
    data = requests.post(f"{API}/{method}", json={"clientKey": KEY, **payload}, timeout=30).json()
    if data.get("errorId"):
        raise RuntimeError(f'{data["errorCode"]}: {data.get("errorDescription", "")}')
    return data


task = {
    "type": "RecaptchaV3EnterpriseTaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "YOUR_SITE_KEY",
    "pageAction": "login",
    "minScore": 0.7,
}

# 1. create the task: its price is held, not charged
task_id = call("createTask", {"task": task})["taskId"]

# 2. poll every 2 s; a failed task raises with its error code and costs nothing
deadline = time.time() + 300
while time.time() < deadline:
    time.sleep(2)
    result = call("getTaskResult", {"taskId": task_id})
    if result["status"] == "ready":
        print(result["solution"]["gRecaptchaResponse"])
        break
else:
    raise TimeoutError("the task was not solved in time")

Ответ#

getTaskResult после решения:

getTaskResult
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AFcWeA6Z3vq0VhGm1oS8r0bAxKk4…",
    "userAgent": ""
  },
  "cost": "0.002000",
  "ip": "198.51.100.7",
  "createTime": 1793370000,
  "endTime": 1793370007,
  "solveCount": 1
}

Советы#

  • Действие ищите в коде страницы: grecaptcha.execute('<sitekey>', {action: 'login'}). С неверным action сайт отклонит токен.
  • Просите тот score, который действительно нужен сайту: высокий minScore может решаться дольше.
  • Токен приходит в solution.gRecaptchaResponse; сам score не возвращается — сайт узнаёт его у Google при проверке токена.
  • Enterprise-страницы грузят recaptcha/enterprise.js и вызывают grecaptcha.enterprise.*. Если страница передаёт s, скопируйте его в enterprisePayload.
  • Если сайт привязывает токен к IP-адресу, выберите тип с вашим прокси.