reCAPTCHA V3
reCAPTCHA V3 работает без взаимодействия с пользователем: скрипт молча выполняется в фоне и присваивает «оценку человечности» от 0.1 (вероятно бот) до 0.9 (вероятно человек). Сайт сам решает, что делать с оценкой — capcha не показывается вообще.
Обзор
- Полностью невидима — нет чекбокса и картиночных челленджей
- Каждый вызов привязан к action (например,
login,submit) - Токен отправляется с бэкенда, а не вставляется в DOM
Формат запроса
GET
/in.phpkeystringобязателенВаш API-ключ (32 символа)
methodstringобязателенЗначение: userrecaptcha
versionstringобязателенЗначение: v3
googlekeystringобязателенSitekey со страницы (параметр render= в URL api.js)
pageurlstringобязателенПолный URL-адрес, на котором отображается reCAPTCHA
actionstringпо умолчанию: verifyопциональноЗначение из вызова grecaptcha.execute()
domainstringпо умолчанию: google.comопциональноgoogle.com или recaptcha.net
data-sstringопциональноЗначение data-s (актуально для Google Search)
userAgentstringопциональноUser-Agent, передаваемый в браузер решателя
cookiesstringопциональноФормат: KEY1:Value1;KEY2:Value2;
proxystringопциональноФормат: login:password@123.123.123.123:3128
proxytypestringопциональноТип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
jsoninteger (0/1)по умолчанию: 0опционально0 — ответ текстом, 1 — ответ JSON
Как решать капчу
Шаг 1. Извлеките параметры
- sitekey — в
render=параметре URLapi.js, в вызовеgrecaptcha.execute()или в конфигурации страницы - action — в JS-коде рядом с вызовом
execute(по умолчаниюverify, если не нашли) - pageurl — полный URL страницы с reCAPTCHA V3
Шаг 2. Отправьте задачу нам
bash
curl -G "https://captcha-api.iwhat.pw/in.php" \
-d key=YOUR_API_KEY \
-d method=userrecaptcha \
-d version=v3 \
-d googlekey=6LenT8AaAAAAAKr5oXtqW3McYuZ1jVsDgP0BnLdF \
-d pageurl=https://example.com/page \
-d action=login \
-d json=1python
import requests
params = {
'key': 'YOUR_API_KEY',
'method': 'userrecaptcha',
'version': 'v3',
'googlekey': '6LenT8AaAAAAAKr5oXtqW3McYuZ1jVsDgP0BnLdF',
'pageurl': 'https://example.com/page',
'action': 'login',
'json': '1'
}
response = requests.get('https://captcha-api.iwhat.pw/in.php', params=params)
result = response.json()
task_id = result['request']
print(f"ID задачи: {task_id}")js
const params = new URLSearchParams({
key: 'YOUR_API_KEY',
method: 'userrecaptcha',
version: 'v3',
googlekey: '6LenT8AaAAAAAKr5oXtqW3McYuZ1jVsDgP0BnLdF',
pageurl: 'https://example.com/page',
action: 'login',
json: '1',
});
const res = await fetch(`https://captcha-api.iwhat.pw/in.php?${params}`);
const { request: taskId } = await res.json();
console.log(`ID задачи: ${taskId}`);Шаг 3. Получение решения
python
import time
time.sleep(20)
result = requests.get('https://captcha-api.iwhat.pw/res.php', params={
'key': 'YOUR_API_KEY',
'action': 'get',
'id': task_id,
'json': '1',
}).json()
if result['status'] == 1:
token = result['request']
print(f"Токен решения: {token}")Шаг 4. Отправьте токен с бэкенда
python
# Токен отправляется в теле запроса на бэкенд, НЕ вставляется в DOM
response = requests.post('https://example.com/api/login', data={
'username': 'user@example.com',
'password': 'password123',
'g-recaptcha-response': token,
})Формат ответа
JSON-ответ (при json=1):
json
{
"status": 1,
"request": "03AL8dmw3sQpWfXtNc7ZoJbYq1VgHkR9DeTmUlB2..."
}Распространённые ошибки
| Код | Описание |
|---|---|
ERROR_WRONG_USER_KEY | Неверный формат API-ключа |
ERROR_KEY_DOES_NOT_EXIST | Такого API-ключа не существует |
ERROR_ZERO_BALANCE | Недостаточно средств на балансе |
ERROR_PAGEURL | Отсутствует параметр pageurl |
ERROR_WRONG_GOOGLEKEY | sitekey пустой или в неверном формате |
CAPCHA_NOT_READY | Решение ещё не готово, подождите 5 сек |
Советы и рекомендации
- Прокси с reCAPTCHA V3 снижают процент успешных решений — используйте только при необходимости
- Указывайте точный
action— несовпадение с ожидаемым на сайте снижает итоговый score - Оценка надёжности держится примерно до
0.7; для более высоких значений может потребоваться повтор