Примеры кода
Готовые клиенты на Python, Node.js, TypeScript, Go, PHP, C#, Java и cURL: создать задачу, дождаться результата, обработать ошибки.
На этой странице
Каждый пример создаёт задачу reCAPTCHA v2, опрашивает её раз в 2 секунды и печатает токен. Запускайте с test-ключом: это бесплатно, а ответ приходит за пару секунд.
export API_KEY=0123456789abcdef0123456789abcdef # ваш ключПолные примеры#
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": "RecaptchaV2TaskProxyless",
"websiteURL": "https://www.google.com/recaptcha/api2/demo",
"websiteKey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
}
# 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")Что нужно#
| Язык | Требования |
|---|---|
| Python | Python 3.8+, pip install requests |
| Node.js | Node.js 18+ (встроенный fetch); сохраните как .mjs |
| TypeScript | Node.js 23.6+ запускает .mts напрямую; или tsx, Deno, Bun |
| Go | Go 1.21+, только стандартная библиотека (пример вебхука — 1.22+) |
| PHP | PHP 7.4+ с расширением curl |
| C# | .NET 6+ |
| Java | Java 11+ и Jackson (com.fasterxml.jackson.core:jackson-databind) |
| cURL | любая версия; показано двумя отдельными запросами |
Другие типы задач#
Меняется только объект task. Например, reCAPTCHA v3 — параметры каждого типа в разделе Типы задач:
{
"type": "RecaptchaV3TaskProxyless",
"websiteURL": "https://example.com/login",
"websiteKey": "YOUR_SITE_KEY",
"pageAction": "login",
"minScore": 0.7
}Отдельные запросы#
На странице каждого метода есть готовый запрос на всех языках: createTask, getTaskResult, getBalance, getQueueStats, getSpendingStats, getTaskTypes, отчёты.
Как использовать токен#
Подставьте токен туда, где его ждёт страница, и отправьте форму обычным способом. Для reCAPTCHA v2 это скрытое поле g-recaptcha-response; если у виджета есть data-callback, вызовите эту функцию с токеном. Для v3 посмотрите, как страница отправляет токен (поле формы или параметр запроса).
document.querySelector('[name="g-recaptcha-response"]').value = token;
document.querySelector("form").submit();Приём вебхуков#
Проверка подписи на Python, Node.js, Go и PHP — на странице Вебхуки.