RecaptchaV2EnterpriseTaskProxyless
Параметры, запрос и ответ для reCAPTCHA v2 Enterprise без прокси: тип задачи RecaptchaV2EnterpriseTaskProxyless.
На этой странице
reCAPTCHA v2 Enterprise: чекбокс или невидимый виджет, загруженный из recaptcha/enterprise.js. Задача решается с наших IP-адресов — прокси не нужен.
| Цена | 1,50 $ за 1000 задач (0,0015 $ за задачу), только за решённые — цены |
| Прокси | не нужен |
| Очередь в getQueueStats | 6 |
| Также принимается как | — |
Параметры#
Поля объекта task в createTask:
ПараметрОписание
typestringобязательныйRecaptchaV2EnterpriseTaskProxylesswebsiteURLstringобязательный- Полный адрес страницы, на которой показана reCAPTCHA: http(s), до 2048 символов. Именно страницы, а не iframe reCAPTCHA.
websiteKeystringобязательный- Ключ сайта: атрибут
data-sitekeyвиджета или параметрkзапросаanchorв DevTools → Network. До 256 символов, без пробелов. isInvisiblebooleantrueдля невидимой reCAPTCHA v2 (у виджетаdata-size="invisible", видна только плашка). По умолчаниюfalse.recaptchaDataSValuestring- Значение
data-s, если страница его передаёт (так делают некоторые сервисы Google). До 4096 символов. enterprisePayloadobject- Дополнительные параметры
grecaptcha.enterprise.render/execute, например{"s": "…"}, до 8 КиБ JSON. ЕслиrecaptchaDataSValueилиpageActionпусты, берутся ключиsиaction. apiDomainstring- Домен, с которого грузится виджет:
www.google.com(по умолчанию) илиwww.recaptcha.net. userAgentstring- User-Agent браузера, который отправит токен, до 512 символов. Возвращается в
solution.userAgent. cookiesstring- Cookies целевого сайта для решающего браузера:
name=value; name2=value2, до 8192 символов. Хранятся зашифрованными.
Запрос#
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "RecaptchaV2EnterpriseTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "YOUR_SITE_KEY",
"enterprisePayload": {
"s": "ENTERPRISE_S_VALUE"
}
}
}Полный пример#
Создать задачу, опрашивать каждые 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": "RecaptchaV2EnterpriseTaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "YOUR_SITE_KEY",
"enterprisePayload": {
"s": "ENTERPRISE_S_VALUE",
},
}
# 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 после решения:
{
"errorId": 0,
"status": "ready",
"solution": {
"gRecaptchaResponse": "03AFcWeA6Z3vq0VhGm1oS8r0bAxKk4…",
"userAgent": ""
},
"cost": "0.001500",
"ip": "198.51.100.7",
"createTime": 1793370000,
"endTime": 1793370007,
"solveCount": 1
}Советы#
websiteKey— в атрибутеdata-sitekeyили в параметреk=запросаanchor(DevTools → Network).- Нет чекбокса, только плашка в углу? Укажите
isInvisible: true. - Вставьте токен в
textarea#g-recaptcha-response(поле формыg-recaptcha-response) и вызовите колбэк виджета, если у него естьdata-callback. - Enterprise-страницы грузят
recaptcha/enterprise.jsи вызываютgrecaptcha.enterprise.*. Если страница передаётs, скопируйте его вenterprisePayload. - Если сайт привязывает токен к IP-адресу, выберите тип с вашим прокси.