Логотип «GitHub»

Версия API:

API v1API v2

2Captcha API v1

Новый JSON API

Попробуйте новый API. API v2 построен на JSON

Более ранний API v1 продолжает оставаться стабильным и поддерживаться. Если вы не планируете использовать новый API v2, никаких действий не требуется. Мы поддерживаем обе версии API.

Попробуйте API v2

2Captcha - это сервис для автоматического распознавания изображений. Сервис позволяет решать капчу, а также конвертировать в текст любые изображения, которые может распознать человек. API сервиса позволяет быстро и легко автоматизировать выполнение этих задач.

Введение

Мы предоставляем программный интерфейс (API), который позволяет интегрировать ваше программное обеспечение с нашим сервисом и автоматизировать процесс распознавания изображений и решения капчи.

Процесс распознавания изображений и решения капчи состоит из нескольких простых шагов:

  1. Вы отправляете изображение на наш сервер.
  2. Сервер возвращает вам уникальный идентификатор вашей задачи (Captcha ID).
  3. Вы запускаете цикл, который проверяет, выполнена ли задача.
  4. Сервер возвращает вам результат распознавания.

Последние изменения

22 апреля 2024

Добавлена поддержка Tencent

12 апреля 2024

Добавлена поддержка atbCAPTCHA

19 декабря 2023

Добавлена поддержка Frienly Captcha

14 ноября 2023

Добавлена поддержка Cutcaptcha

21 сентября 2023

Добавлена поддержка CyberSiAra, MTCaptcha и DataDome

16 мая 2023

Добавлена поддержка распознавания аудио

27 января 2023

Добавлена поддержка Amazon WAF Captcha

7 декабря 2022

Добавлена поддержка Cloudflare Turnstile

13 октября 2022

Временно убрана поддержка капчи TikTok

29 июля 2022

Добавлена поддержка Lemin Cropped Captcha

24 марта 2022

Добавлена поддержка Geetest v4

5 июля 2021

Добавлена поддержка домена recaptcha.net для reCAPTCHA

22 декабря 2020

Добавлена Демо страница

1 сентября 2020

Добавлен метод для решения reCAPTCHA Enterpise

27 июля 2020

Добавлен метод для решения капчи TikTok

1 июня 2020

Добавлена поддержка Capy Puzzle

29 мая 2020

Добавлена поддержка data-s, cookies и userAgent для reCAPTCHA V2

4 июля 2019

Добавлена поддержка параметра surl для FunCaptcha

18 июня 2019

Добавлен интерфейс управления адресами pingback. Подробнее

31 мая 2019

Добавлен метод ReportGOOD и мы рекомендуем всем его использовать. Подробнее

11 февраля 2019

Добавлен метод для Geetest капчи. Подробнее

1 февраля 2019

Добавлен метод для отладки. Подробнее

14 декабря 2018

Добавили описание API для reCAPTCHA V3 Подробнее

21 сентября 2018

Обновили логику pingback. Теперь нужно регистрировать только домен/IP вместо полного URL. Подробнее

17 апреля 2018

Добавлен новый параметр для расширенной поддержки языков. Подробнее

18 января 2018

Добавлен новый параметр для невидимой reCAPTCHA. Подробнее

17 января 2018

Добавлен новый метод для FunCaptcha! Описание метода

25 декабря 2017

Метод KeyCaptcha снова доступен! Описание метода здесь.

12 декабря 2017

Метод AudioCaptha более не поддерживается.

27 февраля 2017

Добавлены рекомендации по решению невидимой reCAPTCHA. Больше информации здесь.

24 ноября 2016

Добавлены новые коды ошибок, связанные с ограничениями на запросы к сервису. Больше информации здесь.

9 ноября 2016

Добавлены новые примеры кода для решения reCAPTCHA V2. Вы можете найти их здесь.

9 ноября 2016

В настоящее время мы можем решить reCAPTCHA V2 на любом сайте. От вас требуется прислать полный URL страницы, на которой нужно решить reCAPTCHA (ранее это не требовалось). Отправка информации о прокси не обязательная, но мы рекомендуем это делать.

Тарифы

Наши тарифы доступны на странице Тарифы

Демо страница

Вы можете ознакомиться с примерами решения различных видов капчи на PHP, Java и Python на нашей Демо странице.

Решение капчи

Наш API построен на HTTP-запросах и поддерживает как протокол HTTP, так и HTTPS.

Адреса API:

  • http://2captcha.com/in.php используется для отправки капчи
  • http://2captcha.com/res.php используется для получения ответа на капчу

Алгоритм решения капчи с помощью нашего сервиса достаточно прост и практически одинаков для всех видов капчи.

  1. Получите ваш персональный ключ API в настройках вашего аккаунта. Для каждого пользователя генерируется уникальный аутентификационный токен, мы называем "персональный ключ API". Это строка из 32 символов, которая выглядит примерно так:
    1abc234de56fab7c89012d34e56fa7b8
    Этот ключ используется для всех ваших запросов к серверу.
  2. Отправьте запрос HTTP POST на URL нашего API:
    http://2captcha.com/in.php
    с персональным ключом API и параметрами, соответствующеми виду вашей капчи.
    Сервер вернёт идентификатор вашей капчи или код ошибки, если что-то пошло не так.
  3. Подождите 5 секунд (для reCAPTCHA — 20 секунд ).
  4. Отправьте запрос HTTP GET на URL нашего API:
    http://2captcha.com/res.php
    с персональным ключом API и полученным ранее идентификатором капчи, чтобы получить результат.
    Если ваша капча уже решена, сервер вернёт ответ на неё в формате, соответстующем виду капчи.
    По умолчанию сервер возвращает ответ как простой текст, например: OK|ТЕКСТ. Ответ также можно получить в формате JSON {"status":1,"request":"ТЕКСТ"}, для этого нужно использовать параметр json.
    Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.
    Если с вашим запросом что-то не так, сервер вернёт код ошибки.

Обычные капчи

Обычная капча — это изображение, на котором размещён искажённый текст, который может быть прочитан человеком. Чтобы решить капчу, нужно ввести текст с изображения.

Чтобы решить нормальную капчу с помощью нашего сервиса, вам необходимо загрузить изображение с помощью HTTP POST запроса к URL нашего API:
http://2captcha.com/in.php
Сервер принимает изображения в формате multipart или base64.

Пример multipart-формы

<form method="post" action="http://2captcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
Ваш ключ:
<input type="text" name="key" value="YOUR_APIKEY">
Файл капчи:
<input type="file" name="file">
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

Пример base64-формы

<form method="post" action="http://2captcha.com/in.php">
<input type="hidden" name="method" value="base64">
Ваш ключ:
<input type="text" name="key" value="YOUR_APIKEY">
Тело файла капчи в формате base64:
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

BASE64_FILE — тело файла капчи в формате base64.

Вы можете указать дополнительные параметры в вашем запросе, чтобы определить, какой тип капчи вы решаете и помочь нашим работникам решить её правильно. Полный список параметров приведён в таблице ниже.

Если вы отправили корректный запрос, сервер вернёт ID вашей капчи в виде простого текста, например:
OK|2122988149
или в формате JSON:
{"status":1,"request":"2122988149"}
если вы использовали параметр json в запросе.

Если что-то пошло не так, сервер вернёт ошибку. Описание ошибок приведено в главе Обработка ошибок.

Подождите 5 секунд и отправьте HTTP GET запрос к URL нашего API:
http://2captcha.com/res.php
с персональным ключом API и полученным ранее идентификатором капчи, чтобы получить результат. Список параметров для запроса приведен в таблице ниже.

Если ваша капча уже решена, сервер вернёт ответ на неё в виде простого текста, например:
OK|TEXT
или в формате JSON
{"status":1,"request":"TEXT"}
если вы использовали параметр json.

Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

Если что-то пошло не так, сервер вернёт ошибку, описание которой можно найти в главе Обработка ошибок.

Список параметров POST-запроса к http://2captcha.com/in.php

POST параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post — говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 — говорит о том, что вы отправляете изображение в формате base64
file Файл Да* Файл изображения.
* - обязателен, если вы отправляете картинку как файл (method=post)
body Строка Да* Изображение, закодированное в формат Base64,
* - обязателен, если вы отправляете картинку в Base64 (method=base64)
phrase Число
По умолчанию: 0
Нет 0 — капча состоит из одного слова
1 — капча состоит из двух или более слов
regsense Число
По умолчанию: 0
Нет 0 — капча не чувствительна к регистру
1 — капча чувствительна к регистру
numeric Число
По умолчанию: 0
Нет 0 — не определено
1 — капча состоит только из цифр
2 — капча состоит только из букв
3 — капча состоит либо только из букв, либо только из цифр
4 — в капче ДОЛЖНЫ быть и буквы, и цифры
calc Число
По умолчанию: 0
Нет 0 — не определено
1 — капча требует совершения математического действия (например: напишите результат 4 + 8 = )
min_len Число
По умолчанию: 0
Нет 0 — не определено
1..20 — минимальное количетсво символов в ответе
max_len Число
По умолчанию: 0
Нет 0 — не определено
1..20 — максимальное количетсво символов в ответе
language Число
По умолчанию: 0
Нет 0 — не определено
1 — капча содержит только кириллицу
2 — капча содержит только латиницу
lang Строка Нет Код языка. См. список поддерживаемых языков.
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Нет Текст будет показан работнику, чтобы помочь ему правильно решить капчу.
Например: введите только красные буквы.
imginstructions Изображение
Макс. 400x150px, 100 Кбайт
Нет Изображение будет показано работнику, чтобы помочь ему решить капчу правильно.
Сервер принимает изображения в формате multipart или base64.
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Текстовые капчи

Текстовая капча — это капча, которая не содержит изображений и представлена в виде простого текста. Обычно для решения нужно ответить на какой-либо вопрос.

Например: "Если завтра суббота, то какой сегодня день?".

Чтобы решить этот вид капчи с помощью нашего сервиса, вам нужно передать текст в параметре textcaptcha в POST-запросе к нашему API:
http://2captcha.com/in.php

Пример формы для текстовой капчи

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

<body>
<form method="post" action="http://2captcha.com/in.php" enctype="multipart/form-data" accept-charset="UTF-8">
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
<input type="text" name="textcaptcha" value="Если завтра суббота, то какой сегодня день?">
<input type="submit" value="Отправить и получить ID">
</form>
</body>
</html>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

Вы можете испольовать дополнительные параметры в вашем запросе. Полный список параметров приведён в таблице ниже.

Если вы отправили корректный запрос, сервер вернёт ID вашей капчи в виде простого текста, например:
OK|Пятница
или в формате JSON
{"status":1,"request":"Пятница"}
если вы использовали параметр json в запросе.

Если что-то пошло не так, сервер вернёт ошибку. Описание ошибок приведено в главе Обработка ошибок.

Подождите 5 секунд и отправьте HTTP GET запрос к URL нашего API:
http://2captcha.com/res.php с персональным ключом API и полученным ранее идентификатором капчи, чтобы получить результат. Список параметров для запроса приведен в таблице ниже.

Если ваша капча уже решена, сервер вернёт ответ на неё в виде простого текста, например:
OK|TEXT
или в формате JSON
{"status":1,"request":"TEXT"}
если вы использовали параметр json.

Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY В таком случае повторите ваш запрос через 5 секунд.

Если что-то пошло не так, сервер вернёт ошибку, описание которой можно найти в главе Обработка ошибок.

Список параметров POST-запроса к http://2captcha.com/in.php

POST параметр Тип Обязателен Описание
key Строка Да your API key
language Число
По умолчанию: 0
Нет 0 — не определено
1 — капча содержит только кириллицу
2 — капча содержит только латиницу
lang Строка Нет Код языка. См. список поддерживаемых языков.
textcaptcha Строка
Максимум 140 символов
Кодировка: UTF-8
Нет Текст капчи.
Например: Если завтра суббота, то какой сегодня день?
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

reCAPTCHA V2

reCAPTCHA V2, также известная как "Я не робот" reCAPTCHA, очень популярна и выглядит вот так:

reCAPTCHA V2

Решить reCAPTCHA V2 с помощью нашего нового метода очень легко, это не требует эмуляции браузера:

  1. Посмотрите исходный код элемента на странице, где вы встретили reCAPTCHA.

  2. Исследуйте код виджета reCAPTCHA V2
  3. Найдите ссылку, которая начинается с www.google.com/recaptcha/api2/anchor или найдите параметр data-sitekey.

  4. Скопируйте значение параметра k из ссылки или значение data-sitekey.

  5. Найдите параметр 'data-sitekey'
  6. Отправьте запрос HTTP GET или POST к нашему API:
    http://2captcha.com/in.php
    с персональным ключом API и параметром method, соответствующим виду вашей капчи, в данном случае — userrecaptcha, а также укажите значение, которые вы скопировали ранее в параметре googlekey. Укажите полный URL страницы, на которой вы хотите решить reCAPTCHA в параметре pageurl.
    Отправка данных прокси на текущий момент не обязательна, но мы всё же рекомендуем это делать.
    Полный список параметров для запроса можно найти в таблице ниже.

    Пример URL запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=userrecaptcha&googlekey=6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-&pageurl=http://mysite.com/page/with/recaptcha
    
  7. Если вы отправили корректный запрос, сервер вернёт ID вашей капчи в виде простого текста, например: OK|2122988149 или в формате JSON {"status":1,"request":"2122988149"} если вы использовали параметр json в запросе.

    Если что-то пошло не так, сервер вернёт ошибку. Описание ошибок приведено в главе Обработка ошибок.

  8. Подождите 15-20 секунд и отправьте HTTP GET запрос к нашему API: http://2captcha.com/res.php чтобы получить результат.
    Полный лист параметров для запроса можно найти в таблице ниже.

    Если ваша капча уже решена, то сервер вернёт ответ в виде простого текста или JSON. Ответ представляет собой токен, примерно такой:

    03AHJ_Vuve5Asa4koK3KSMyUkCq0vUFCR5Im4CwB7PzO3dCxIo11i53epEraq-uBO5mVm2XRikL8iKOWr0aG50sCuej9bXx5qcviUGSm4iK4NC_Q88flavWhaTXSh0VxoihBwBjXxwXuJZ-WGN5Sy4dtUl2wbpMqAj8Zwup1vyCaQJWFvRjYGWJ_TQBKTXNB5CCOgncqLetmJ6B6Cos7qoQyaB8ZzBOTGf5KSP6e-K9niYs772f53Oof6aJeSUDNjiKG9gN3FTrdwKwdnAwEYX-F37sI_vLB1Zs8NQo0PObHYy0b0sf7WSLkzzcIgW9GR0FwcCCm1P8lB-50GQHPEBJUHNnhJyDzwRoRAkVzrf7UkV8wKCdTwrrWqiYDgbrzURfHc2ESsp020MicJTasSiXmNRgryt-gf50q5BMkiRH7osm4DoUgsjc_XyQiEmQmxl5sqZP7aKsaE-EM00x59XsPzD3m3YI6SRCFRUevSyumBd7KmXE8VuzIO9lgnnbka4-eZynZa6vbB9cO3QjLH0xSG3-egcplD1uLGh79wC34RF49Ui3eHwua4S9XHpH6YBe7gXzz6_mv-o-fxrOuphwfrtwvvi2FGfpTexWvxhqWICMFTTjFBCEGEgj7_IFWEKirXW2RTZCVF0Gid7EtIsoEeZkPbrcUISGmgtiJkJ_KojuKwImF0G0CsTlxYTOU2sPsd5o1JDt65wGniQR2IZufnPbbK76Yh_KI2DY4cUxMfcb2fAXcFMc9dcpHg6f9wBXhUtFYTu6pi5LhhGuhpkiGcv6vWYNxMrpWJW_pV7q8mPilwkAP-zw5MJxkgijl2wDMpM-UUQ_k37FVtf-ndbQAIPG7S469doZMmb5IZYgvcB4ojqCW3Vz6Q
    

    Если ваша капча ещё не решена, то сервер вернёт код CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

  9. Найдите элемент с id g-recaptcha-response и сделайте его видимым, удалив параметр display:none.

    Найдите html элемент с id='g-recaptcha-response'

    Внимание: иногда содержимое страницы генерируется динамически и вы можете не найти данный элемент.
    В таком случае вам нужно изучить скрипты, отвечающие за генерацию содержимого страницы. Опция "Inspect" в Google Chrome может помочь в этом.

  10. На странице отобразится текстовое поле. Всё что вам остается сделать — вставить полученный токен в это поле и отправить форму.

  11. Вставьте полученный токен в поле
  12. Поздравляем, вы решили reCAPTCHA!

  13. Успех

reCAPTCHA Callback

Иногда вы не найдете кнопки, отправляющей форму. Вместо нее может использоваться callback-функция. Эта функция выполняется, когда задание рекапчи выполнено.

Обычно callback-функция определена в параметре data-callback, например:

data-callback="myCallbackFunction"

Или иногда она указана как параметр callback у функции grecaptcha.render, например так:

grecaptcha.render('example', {
'sitekey' : 'someSitekey',
'callback' : myCallbackFunction,
'theme' : 'dark'
});

Кроме того, есть ещё один простой способ найти callback-функцию — это открыть javascript-консоль вашего браузера и изучить объект конфигурации reCAPTCHA:

___grecaptcha_cfg.clients[0].aa.l.callback

Имейте в виду, что часть aa.l меняется, а также, что на одном сайте может быть несколько имплементации reCAPTCHA, поэтому вам нужно посмотреть и на clients[1], clients[2] и т.д.

Или, еще проще - воспользуйтесь скриптом для поиска параметров reCAPTCHA

В конце концов вам нужно запустить callback-функцию:

myCallbackFunction();

Или даже так:

___grecaptcha_cfg.clients[0].aa.l.callback();

Иногда функция требует какой-либо агрумент на входе. В большинстве случаев нужно передать токен. Например:

myCallbackFunction('TOKEN');

Invisible reCAPTCHA V2

У reCAPTCHA V2 также есть невидимая версия.
Её образец можно увидеть по ссылке: https://www.google.com/recaptcha/api2/demo?invisible=true
Кроме того, недавно мы обнаружили некоторые изменения в алгоритме невидимой reCAPTCHA на нескольких сайтах. Мы добавили в API новый параметр invisible=1 который нужно использовать для невидимой reCAPTCHA.
Ниже мы расскажем больше о невидимой reCAPTCHA.

Невидимая рекапча размещена на слое DIV, который имеет z-index — 10 000 px, что делает его невидимым пользователю.

Капча активируется при загрузке страницы, или при каком-либо действии пользователя, например при нажатии на кнопку или отправке формы. Если куки пользователя хорошие, то он даже не заметит, что капча была. Если куки не очень хорошие, то при отправке формы он тут же получит по центру экрана стандартную рекапчу, где нужно выбрать несколько изображений.

В большинстве случаев, после того, как пользователь решил капчу, вызывается callback-функция. О ней вы можете прочитать здесь.

Если вы всё ещё не уверены, какая reCAPTCHA на сайте — обычная или невидимая — вот несколько способов это определить:

  • Вы не видите чекбокс "Я не робот", но получаете капчу, когда делаете какое-либо действие на сайте
  • Ссылка iframe рекапчи содержит параметр size=invisible
  • Конфигурационный объект рекапчи содержит параметр size, значение которого invisible, например ___grecaptcha_cfg.clients[0].aa.l.size имеет значение invisible

Что делать, чтобы в браузере можно было пройти Invisible reCAPTCHA?

Метод 1: используем javascript:

  1. Измените значение элемента g-recaptcha-response на токен, полученный от нашего сервера:

    document.getElementById("g-recaptcha-response").innerHTML="TOKEN";

  2. Выполните действие, которое должно выполняться на сайте после того, как вы решили reCAPTCHA.

Чаще всего на сайте нужно отправить форму. От вас потребуется идентифицировать эту форму по id, имени или какому-то ещё атррибуту и отправить форму. Вот несколько примеров:

document.getElementById("recaptcha-demo-form").submit(); //по id "recaptcha-demo-form"
document.getElementsByName("myFormName")[0].submit(); //по имени элемента "myFormName"
document.getElementsByClassName("example").submit(); //по имени класса "example"

А иногда после решения reCAPTCHA вызывается коллбек-функция.

Эта функция определяется в параметре data-callback, например: data-callback="myCallbackFunction"

И все что вам нужно сделать — вызвать эту функцию:

myCallbackFunction();
  1. Ура! Вы сделали это всего двумя строчками кода.

Метод 2: изменяем содержимое страницы:

  1. Вырежьте из тела документа div, содержащий саму рекапчу.

    <div style="visibility: hidden; position: absolute; width:100%; top: -10000px; left: 0px; right: 0px; transition: visibility 0s linear 0.3s, opacity 0.3s linear; opacity: 0;">
    <div style="width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 2000000000; background-color: #fff; opacity: 0.5;  filter: alpha(opacity=50)">
    </div>
    <div style="margin: 0 auto; top: 0px; left: 0px; right: 0px; position: absolute; border: 1px solid #ccc; z-index: 2000000000; background-color: #fff; overflow: hidden;">
    <iframe src="https://www.google.com/recaptcha/api2/bframe?hl=en&amp;v=r20170213115309&amp;k=6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs#zglq3yifgkmj" title="recaptcha challenge" style="width: 100%; height: 100%;" scrolling="no" name="zglq3yifgkmj" frameborder="0"></iframe>
    </div>
    </div>
  2. Вырежьте полностью блок:

    <div class=""><!-- BEGIN: ReCAPTCHA implementation example. -->
    <div id="recaptcha-demo" class="g-recaptcha" data-sitekey="6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs" data-callback="onSuccess" data-bind="recaptcha-demo-submit"><div class="grecaptcha-badge" style="width: 256px; height: 60px; transition: right 0.3s ease 0s; position: fixed; bottom: 14px; right: -186px; box-shadow: 0px 0px 5px gray;"><div class="grecaptcha-logo"><iframe src="https://www.google.com/recaptcha/api2/anchor?k=6LfP0CITAAAAAHq9FOgCo7v_fb0-pmmH9VW3ziFs&amp;co=aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbTo0NDM.&amp;hl=en&amp;v=r20170213115309&amp;size=invisible&amp;cb=uror1hlow5a" title="recaptcha widget" scrolling="no" name="undefined" width="256" height="60" frameborder="0"></iframe></div><div class="grecaptcha-error"></div><textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;  display: none; "></textarea></div></div>
    <script>
    var onSuccess = function (response) {
    var errorDivs = document.getElementsByClassName("recaptcha-error");
    if (errorDivs.length) {
    errorDivs[0].className = "";
    }
    var errorMsgs = document.getElementsByClassName("recaptcha-error-message");
    if (errorMsgs.length) {
    errorMsgs[0].parentNode.removeChild(errorMsgs[0]);
    }
    document.getElementById("recaptcha-demo-form").submit();
    };
    </script><!-- Optional noscript fallback. --><!-- END: ReCAPTCHA implementation example. --></div>
  3. На место вырезанного блока поставьте следующий код:

    <input type="submit">
    <textarea name="g-recaptcha-response">%g-recaptcha-response%</textarea>

В котором %g-recaptcha-response% — токен, который вы получили от нашего сервера.8. У вас появится кнопка “Submit query”, при нажатии на неё вы отправите на сайт, где установлена капча, все данные формы и g-recaptcha-response.

Список параметров для GET/POST запросов к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да userrecaptcha — определяет, что вы решаете reCAPTCHA V2 с помощью нового метода
googlekey Строка Да Значение параметра k или data-sitekey, которое вы нашли в коде страницы
pageurl Строка Да Полный URL страницы, на которой вы решаете reCAPTCHA V2
domain Строка
По умолчанию: google.com
Нет Домен, с которого загружается reCAPTCHA: recaptcha.net или google.com
invisible Число
По умолчанию: 0
Нет 1 — говорит нам, что на сайте невидимая reCAPTCHA. 0 — обычная reCAPTCHA.
data-s Строка Нет Значение параметра data-s найденное на странице. Актуально для поиска в Google и других сервисов Google.
cookies Строка Нет Ваши cookies которые будут использованы работником для решения капчи. В ответе на капчу мы вернем cookies работника, но только при использовании json=1.
Формат: КЛЮЧ:Значение, разделитель - точка с запятой, например: KEY1:Value1;KEY2:Value2;
userAgent Строка Нет Подставляем у работника ваш userAgent
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример URL запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

reCAPTCHA V3

reCAPTCHA V3 - это новейший вид капчи от Google, который основан на рейтинге "человечности" пользователя и не требует от пользователя выполнения каких-либо заданий.

Во многом новый вид капчи похож на reCAPTCHA V2, т.е. основной принцип остался тем же - пользователь получает от API reCAPTCHA токен, который отправляется в POST-запросе к сайту, а сайт верифицирует токен через API reCAPTCHA.

НО при верификации токена API reCAPTCHA теперь возвращает рейтинг "человечности" пользователя - score - число от 0.1 до 0.9. Получив это значение, сайт решает, как обрабатывать запрос.

Кроме того, появился новый параметр action, который позволяет по разному обрабатывать различные действия пользователя на сайте. При верификации токена API reCAPTCHA вернет имя действия, которое выполнил пользователь.

Наш подход к решению reCAPTCHA V3
Мы провели серию экспериментов и выяснили, что если пользователь на каком-либо сайте получает рейтинг 0.1, то с довольно высокой вероятностью он получит такой же рейтинг и на остальных сайтах.

Мы определяем рейтинг каждого работника нашего сервиса. Затем, когда получаем запрос на решение reCAPTCHA V3 с указанием минимального рейтинга min_score мы отдаем капчу работнику, имеющему рейтинг не ниже запрошенного. Абсолютное большинство решений в результате имеют требуемый рейтинг на том сайте, где нужно решить reCAPTCHA V3.

Как решать reCAPTCHA V3 с помощью нашего сервиса:

  1. В первую очередь нужно убедиться, что на сайте действительно используется reCAPTCHA V3.

    Основные признаки V3:

    • не видна пользователю, не требует кликать по картинкам;
    • скрипт api.js загружается с параметром render=sitekey, например:
      https://www.google.com/recaptcha/api.js?render=6LfZil0UAAAAAAdm1Dpzsw9q0F11-bmervx9g5fE
    • в массиве clients конфигурационного объекта ___grecaptcha_cfg используется индекс 100000: ___grecaptcha_cfg.clients[100000]
  2. Для решения V3 через наш API необходимо найти значения трех параметров:

    sitekey - его можно найти в html в значении параметра render при загрузке api.js, в параметре k в URI iframe, в который подгружается reCAPTCHA, либо в javscript, в вызове функции grecaptcha.execute или в конфигурационном объекте ___grecaptcha_cfg.

    action - это значение нужно искать в javascript коде сайта в вызове функции grecaptcha.execute. Пример: grecaptcha.execute('6LfZil0UAAAAAAdm1Dpzsw9q0F11-bmervx9g5fE', {action: do_something}).
    Иногда найти его достаточно сложно и требуется перевернуть вверх дном все js-файлы, подгружаемые сайтом. Кроме того, можно попробовать найти значение action в конфигурационном объекте ___grecaptcha_cfg, но очень часто оно может быть не задано там, а передаваться только при вызове grecaptcha.execute - поэтому наиболее эффективный метод - просмотр javascript кода.

    pageurl - полный URL страницы, где вы хотите решить reCAPTCHA V3.

    Кроме того, нужно понять, какое значение score вам требуется. Определить извне, при каком score сайт решит, что вы человек и пропустит ваш запрос, можно только экспериментально. Самый низкий рейгинг 0.1 - робот, а самый высокий 0.9 - человек. Но, многие сайты ставят пороговые значения от 0.2 до 0.5, т.к. обычный человек зачастую получает довольно низкий рейтинг. С наибольшей вероятностью от нашего API можно получить score 0.3, более высокие значения score у работников встречаются довольно редко.

  3. Имея все необходимые параметры, можно отправлять запрос к нашему API.

  4. Отправьте запрос HTTP GET или POST к нашему API:
    http://2captcha.com/in.php
    с персональным ключом API и параметром method, соответствующим виду капчи, в данном случае — userrecaptcha, в параметре version нужно указать v3, в параметре min_score - требуемое значение score. Также укажите значения, найденные на предыдущем шаге: sitekey укажите в параметре googlekey, полный URL страницы, на которой вы хотите решить reCAPTCHA в параметре pageurl, значение action - в одноименном параметре action, если его не указать мы будем использовать значение по умолчанию - verify.

    Пример URL запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=userrecaptcha&version=v3&action=verify&min_score=0.3
    &googlekey=6LfZil0UAAAAAAdm1Dpzsw9q0F11-bmervx9g5fE&pageurl=http://mysite.com/page/
    
  5. Если вы отправили корректный запрос, сервер вернёт ID вашей капчи в виде простого текста, например: OK|2122988149 или в формате JSON {"status":1,"request":"2122988149"} если вы использовали параметр json в запросе.

    Если что-то пошло не так, сервер вернёт ошибку. Описание ошибок приведено в главе Обработка ошибок.

  6. Подождите 10-15 секунд и отправьте HTTP GET запрос к нашему API: http://2captcha.com/res.php с чтобы получить результат по ID вашей капчи.
    Полный список параметров запроса можно найти в таблице ниже.

    Если ваша капча уже решена, то сервер вернёт ответ в виде простого текста или JSON. Ответ представляет собой токен, примерно такой:

    03AHJ_Vuve5Asa4koK3KSMyUkCq0vUFCR5Im4CwB7PzO3dCxIo11i53epEraq-uBO5mVm2XRikL8iKOWr0aG50sCuej9bXx5qcviUGSm4iK4NC_Q88flavWhaTXSh0VxoihBwBjXxwXuJZ-WGN5Sy4dtUl2wbpMqAj8Zwup1vyCaQJWFvRjYGWJ_TQBKTXNB5CCOgncqLetmJ6B6Cos7qoQyaB8ZzBOTGf5KSP6e-K9niYs772f53Oof6aJeSUDNjiKG9gN3FTrdwKwdnAwEYX-F37sI_vLB1Zs8NQo0PObHYy0b0sf7WSLkzzcIgW9GR0FwcCCm1P8lB--gf50q5BMkiRH7osm4DoUgsjc_XyQiEmQmxl5sqZP7aKsaE-EM00x59XsPzD3m3YI6SRCFRUevSyumBd7KmXE8VuzIO9lgnnbka4-eZynZa6vbB9cO3QjLH0xSG3--o-fxrOuphwfrtwvvi2FGfpTexWvxhqWICMFTTjFBCEGEgj7_IFWEKirXW2RTZCVF0Gid7EtIsoEeZkPbrcUISGmgtiJkJ_KojuKwImF0G0CsTlxYTOU2sPsd5o1JDt65wGniQR2IZufnPbbK76Yh_KI2DY4cUxMfcb2fAXcFMc9dcpHg6f9wBXhUtFYTu6pi5LhhGuhpkiGcv6vWYNxMrpWJW_pV7q8mPilwkAP-zw5MJxkgijl2wDMpM-UUQ_k37FVtf-ndbQAIPG7S469doZMmb5IZYgvcB4ojqCW3Vz6Q
    

    Если ваша капча ещё не решена, то сервер вернёт код CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

    Пример URL запроса:

    http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&json=1&id=2122988149
    
  7. После получения токена от нашего API, нужно корректно использовать его на сайте. Лучший метод понять, как это сделать - посмотреть на то, какие запросы отправляются на сайт, когда вы работаете с ним как обычный посетитель. Большинство браузеров позволяют легко это сделать в консоли разработчика, нужная вкладка обычно называется "Network".

    Токен обычно отправляется в параметрах POST-запроса, это может быть g-recaptcha-response как у reCAPTCHA V2, g-recaptcha-response-100000 или какой-либо другой параметр. Поэтому нужно внимательно просмотреть параметры запроса и найти, как именно передается токен, а затем сформировать аналогичный запрос.

  8. После того, как вы использовали токен на сайте и стало понятно, сработал он или нет - вы можете сообщить нам об этом. В случае, если токен не был принят - мы вернем деньги за капчу на ваш баланс. А в случае, если токен был принят - мы поставим работника, который его получил в приоритет для ваших запросов. Кроме того, это позволяет нам копить и анализировать статистику по этому виду капч для последующей оптимизации алгоритмов ее решения.

    Чтобы сообщить о том, сработал токен или нет - отправьте запрос к http://2captcha.com/res.php с вашим ключем API в параметре key, id капчи в одноименном параметре id и указав в параметре action, в зависимости от результата: reportgood - токен сработал или reportbad - токен не сработал.

    Примеры запросов:

    ReportBAD

    http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=reportbad&id=2122988149
    

    ReportGOOD

    http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=reportgood&id=2122988149
    

    Важное замечание: в интерфейсе на сайте не отображаются жалобы на любые виды капч с токеном, в том числе reCAPTCHA V3. Мы обрабатываем каждый такой запрос, но пока не придумали адекватный интерфейс для подобных жалоб. В будущем постараемся это сделать.

Список параметров для GET/POST запросов к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да userrecaptcha — определяет, что вы решаете reCAPTCHA
version Строка Да v3 — указывает на то, что это reCAPTCHA V3
googlekey Строка Да Значение параметра sitekey, которое вы нашли в коде сайта
pageurl Строка Да Полный URL страницы, на которой вы решаете reCAPTCHA V2
domain Строка
По умолчанию: google.com
Нет Домен, с которого загружается reCAPTCHA: recaptcha.net или google.com
action Строка
По умолчанию: verify
Нет Значение параметра action, которые вы нашли в коде сайта
min_score Число
По умолчанию: 0.4
Нет Требуемое значение рейтинга (score). На текущий момент сложно получить токен со score выше 0.3
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
reportgood — - сообщить о том, что токен сработал
reportbad — - сообщить о том, что токен не сработал
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

reCAPTCHA Enterpise

reCAPTCHA Enterpise - это новейший вид капчи от Google, который сочетает в себе возможности V2 и V3, а также позволяет администраторам сайта сообщать Google, о том, кто по их мнению взаимодействовал с сайтом после решения капчи - робот или человек.

Как решать reCAPTCHA Enterpise с помощью нашего сервиса:

  1. Найти sitekey и остальные параметры, в зависимости от того, как капча настроена на сайте, у нее может быть action как у V3, а так же min_score.

  2. Отправьте запрос HTTP GET или POST к нашему API:
    http://2captcha.com/in.php

    Пример URL запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=userrecaptcha&enterprise=1&action=verify&min_score=0.3
            &googlekey=6LfZil0UAAAAAAdm1Dpzsw9q0F11-bmervx9g5fE&pageurl=http://mysite.com/page/
    
  3. Получаете ID вашей капчи.

  4. Запрашиваете ответ у http://2captcha.com/res.php

    Пример URL запроса:

    http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&json=1&id=2122988149
    
  5. После получения токена от нашего API, нужно корректно использовать его на сайте. Для этого следует изучить код сайта и запросы, которые делаются к его бекенду. Универсального решения нет.

  6. После того, как вы использовали токен на сайте и стало понятно, сработал он или нет - вы можете сообщить нам об этом. В случае, если токен не был принят - мы вернем деньги за капчу на ваш баланс. А в случае, если токен был принят - мы поставим работника, который его получил в приоритет для ваших запросов. Кроме того, это позволяет нам копить и анализировать статистику по этому виду капч для последующей оптимизации алгоритмов ее решения.

    Чтобы сообщить о том, сработал токен или нет - отправьте запрос к http://2captcha.com/res.php с вашим ключем API в параметре key, id капчи в одноименном параметре id и указав в параметре action, в зависимости от результата: reportgood - токен сработал или reportbad - токен не сработал.

    Примеры запросов:

    ReportBAD

    http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=reportbad&id=2122988149
    

    ReportGOOD

    http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=reportgood&id=2122988149
    

Список параметров для GET/POST запросов к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да userrecaptcha — определяет, что вы решаете reCAPTCHA
version Строка
По умолчанию: v2
Нет Версия reCAPTCHA: v2 или v3
enterprise Число
По умолчанию: 0
Нет 1 — указывает на то, что это reCAPTCHA Enterpise
googlekey Строка Да Значение параметра sitekey, которое вы нашли в коде сайта
pageurl Строка Да Полный URL страницы, на которой вы решаете reCAPTCHA V2
action Строка
По умолчанию: verify
Нет Значение параметра action, которые вы нашли в коде сайта
min_score Число
По умолчанию: 0.4
Нет Требуемое значение рейтинга (score). На текущий момент сложно получить токен со score выше 0.3
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
reportgood — - сообщить о том, что токен сработал
reportbad — - сообщить о том, что токен не сработал
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Сетка (Grid)

Этот метод подходит для решения капч, на которых на изображение наложена сетка: reCAPTCHA, некоторые виды ArkoseLabs FunCaptcha.

Мы можем решать reCAPTCHA с различными сетками: 3x3, 2x4, 4x4.

И, конечно же, мы поддерживаем задания, в которых нужно обвести объект или несколько объектов. Подробнее тут.

Чтобы решить капчу вам нужно:

  1. Получить набор изображений и инструкцию. Обычно для этого нужно поставить галочку внутри виджета капчи, по которым нужно кликать. галочку. В зависимости от вида капчи - вы получите либо одно изобрание с наложенной сеткой, либо набор отдельных - в таком случае может быть удобнее сделать скриншот области, в которой они выводятся.

  2. Определить размер сетки и указать её размеры в параметрах:
    recaptchacols — количество колонок,
    recaptcharows — количество строк.
    Если размер сетки не определён, мы проверим размер изображения, и в случае, если размер 300х300 пикселей, мы наложим сетку 3x3. Если изображение имеет другой размер, мы наложим на него сетку 4x4.

  3. Отправить запрос HTTP POST к нашему API:
    http://2captcha.com/in.php
    установив значение параметра recaptcha равным 1.

    Сервер принимает изображения в формате multipart или base64. Вам неоходимо отправлять только набор изображений без сетки и синего блока.

    Также необходимо передать инструкцию, какие изображения нужно выбрать. Это можно сделать с помощью параметра textinstructions или imginstructions. Полный список параметров предоставлен в таблице ниже.

  4. Сервер вернёт ID вашей капчи или код ошибки, если что-то пошло не так.

  5. Подождите 5 секунд и отправьте запрос HTTP GET к нашему API:
    http://2captcha.com/res.php
    чтобы получить результат.

    Если ваша капча решена, то сервер вернёт ответ с номерами клеток сетки, на которые нужно кликать, например: OK|click:3/8/9.

    Нумерация клеток идет от 1 слева направо и сверху вниз.

    Если капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. Повторите ваш запрос через 5 секунд.

    Если возникла проблема с обработкой вашей капчи, сервер вернёт код ошибки.

  6. Вы кликаете на клетки, номера которых получили в ответе.

  7. В случае, если reCAPTCHA обновляет набор картинок для того же задания, вы можете отправить новый запрос включающий дополнительный параметр previousID указав в нем ID предыдущего запроса. Тогда наш работник будет проверять только обновленные изображения с учетом предыдущего ответа.

  8. Кроме того, вы можете отправлять еще один дополнительный параметр can_no_answer в случае, если в наборе изображений не остается подходящих и мы покажем работнику кнопку "нет подходящих изображений", а API вернет овтет No_matching_images.

Метод canvas

В случае, если задание reCAPTCHA требует обвести объект вы можете передать параметр canvas со значением 1.

Сервер вернёт ответ в формате: canvas:x,y,x,y,x,y;x,y,x,y,x,y;

Где каждая пара x и y — это координаты точек, на которые нужно поочередно кликать, чтобы обвести зону, в которой находится объект. Если таких зон несколько, то их координаты будут разделены точкой с запятой.

Например:

canvas:5,5,3,91,93,90,90,7,8,6; — одна зона
canvas:5,5,3,91,93,90,90,7,8,6;208,211,208,287,294,294,293,209,207,210; — две зоны

Точка 0,0 — это левый верхний угол изображения.

Чтобы пройти задание, вам нужно поочередно кликать на полученные точки.

Пример формы для reCAPTCHA V2 (устаревший метод) в формате multipart

<form method="post" action="http://2captcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
<input type="hidden" name="recaptcha" value="1"><br>
<input type="hidden" name="canvas" value="0"><br>
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Файл изображения reCAPTCHA:
<input type="file" name="file">
Файл изображения с инструкцией:
<input type="file" name="imginstructions">
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

Пример формы для отправки reCAPTCHA V2 (устаревший метод) в формате base64

<form method="post" action="http://2captcha.com/in.php">
<input type="hidden" name="method" value="base64">
<input type="hidden" name="recaptcha" value="1"><br>
<input type="hidden" name="canvas" value="0"><br>
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Тело файла изображения reCAPTCHA в формате base64:
<textarea name="body">BASE64_RECAPTCHA_FILE</textarea>
Тело файла изображения с инструкцией в формате base64:
<textarea name="imginstructions">BASE64_INSTRUCTION_FILE</textarea>
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

BASE64_RECAPTCHA_FILE — закодированное в формате base64 тело изображения reCAPTCHA V2.

BASE64_INSTRUCTION_FILE — закодированное в формате base64 тело изображения с инструкцией.

Список параметров POST-запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post — говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 — говорит о том, что вы отправляете изображение в формате base64
recaptcha Число Да 1 — говорит о том, что вы отправляете reCAPTCHA в виде изображения
canvas Число
По умолчанию: 0
Нет 1 — говорит о том, что вы хотите использовать метод canvas
file Файл Да* Файл изображения.
* - обязателен, если вы отправляете картинку как файл (method=post)
body Строка Да* Изображение, закодированное в формат Base64,
* - обязателен, если вы отправляете картинку в Base64 (method=base64)
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Да Текст с инструкцией, какие изображения выбирать.
Например: выберите все изображения с деревьями.
Не обязателен если вы отправляете инструкцию в виде изображения с помощью параметра imginstructions.
imginstructions Изображение
Макс. 400x150px, 100 Кбайт
Нет Изображение будет показано работнику, чтобы помочь ему решить капчу правильно.
Сервер принимает изображения в формате multipart или base64.
img_type Строка Нет Изображение будет распознано с помощью Computer Vision, что позволяет значительно сократить время решения капчи. Поддерживаемые варианты значений:
funcaptcha - отправка FunCaptcha, версия в которой необходимо кликнуть по квадрату соответствующему требованиям. Больше информации здесь.
funcaptcha_compare - отправка FunCaptcha, версия в которой при помощи стрелок нужно выбрать необходимый квадрат. Больше информации здесь.
recaptcha - отправка reCAPTCHA. Больше информации здесь.
Важно: при использовании параметра img_type обязательно передавать параметр textinstructions содержащий исходную инструкцию к капче на Английском языке, также вам необходимо отправлять исходые файлы изображений а не скриншоты.
recaptcharows Число Нет Количество строк в сетке.
recaptchacols Число Нет Количество колонок в сетке.
previousID Строка Нет Id вашего предыдущего запроса в рамках того же задания reCAPTCHA
can_no_answer Число
По умолчанию: 0
Нет 0 — не определено
1 — возможно, что изображение не содержит картинок, которые удовлетворяют инструкции.
Устанавливайте значение 1 только если на изображении может не быть картинок с правильным ответом.
Мы покажем работнику кнопку "Нет подходящих картинок", а вы получите в ответе No_matching_images.
language Число
По умолчанию: 0
Нет 0 — не определено
1 — капча содержит только кириллицу
2 — капча содержит только латиницу
lang Строка Нет Код языка. См. список поддерживаемых языков.
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Внимание: вам необходимо отправлять само изображение, а не скриншот. Не пытайтесь комбинировать изображение с чем-либо ещё, отправляйте его как есть.
Максимальный размер изображения для reCAPTCHA 600 Кбайт.
Максимальный размер изображения для imginstructions 100 Кбайт.

Список параметров для GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Координаты (coordinates)

Этот метод позволяет решать любую капчу, которая требует кликать по изображениям, например Ghost Captcha в SnapChat, reCAPTCHA V2, ASIRRA и т.п.

Чтобы решить капчу нужно:

  1. Получить изображение и инструкцию, по каким картинкам кликать.

  2. Отправить запрос HTTP POST к нашему API: http://2captcha.com/in.php указав 1 в качестве значениея параметра coordinatescaptcha.
    Сервер принимает изображения в формате multipart или base64.

    Вы можете передать дополнительные инструкции в виде текста с помощью параметра textinstructions, но это необязательно, если инструкция уже содержится на изображении.

    Полный список параметров приведён в таблице ниже.

  3. Сервер вернёт ID капчи или код ошибки, если что-то пошло не так.

  4. Подождите 5 секунд и отправьте HTTP GET запрос к нашему API: http://2captcha.com/res.php чтобы получить результат.

    Если ваша капча уже решена, сервер вернёт координаты точек, по которым нужно кликнуть, например: OK|coordinate:x=39,y=59;x=252,y=72. Точка с координатами x=0,y=0 — верхний левый угол изображения.

    Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

  5. Чтобы пройти задание, вам нужно поочередно кликать по полученным координатам.

Пример multipart-формы для Coordinates

<form method="post" action="http://2captcha.com/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
<input type="hidden" name="coordinatescaptcha" value="1">
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Файл изображения ClickCaptcha:
<input type="file" name="file">
Инструкция:
<input type="text" name="textinstructions" value="Выберите всех привидений">
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

Пример формы для загрузки ClickCaptcha в формате base64

<form method="post" action="http://2captcha.com/in.php">
<input type="hidden" name="method" value="base64">
<input type="hidden" name="coordinatescaptcha" value="1">
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Тело изображения ClickCaptcha в формате base64:
<textarea name="body">BASE64_CLICKCAPTCHA_FILE</textarea>
Инструкция:
<input type="text" name="textinstructions" value="Click on ghosts">
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

BASE64_CLICKCAPTCHA_FILE — тело файла изображения, закодированное в формате base64.

Список параметров POST-запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post — говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 — говорит о том, что вы отправляете изображение в формате base64
coordinatescaptcha Число Да 1 — указывает, что вы отправляете ClickCaptcha
file Файл Да* Файл изображения.
* - обязателен, если вы отправляете картинку как файл (method=post)
body Строка Да* Изображение, закодированное в формат Base64,
* - обязателен, если вы отправляете картинку в Base64 (method=base64)
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Да Текст с инструкцией по решению ClickCaptcha.
Например: выберите всех привидений
Необязателен, если инструкция уже есть на изображении.
imginstructions Изображение
Макс. 400x150px, 100 Кбайт
Нет Изображение будет показано работнику, чтобы помочь ему решить капчу правильно.
Сервер принимает изображения в формате multipart или base64.
min_clicks Число
По умолчанию: 1
Нет Минимальное количество кликов, которое нужно сделать
max_clicks Число Нет Максимальное количество кликов, которое можно сделать
language Число
По умолчанию: 0
Нет 0 — не определено
1 — капча содержит только кириллицу
2 — капча содержит только латиницу
lang Строка Нет Код языка. См. список поддерживаемых языков.
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Список параметров для GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

RotateCaptcha

RotateCaptcha — это вид капчи, для решения которой нужно поворачивать изображение. Наиболее популярная реализация — FunCaptcha.

FunCaptcha

Для решения RotateCaptcha требуется:

  1. Получить изображение или несколько изображений, которые требуется повернуть.

  2. Не обязательно: определить угол поворота в градусах для одного шага и передать его в параметре angle.
    Если не указан — мы используем значение по умолчанию для FunCaptcha: 40 градусов.

    Полный список параметров приведен в таблице ниже.

  3. Отправить изображения на наш сервер с помощью запроса HTTP POST к нашему API: http://2captcha.com/in.php указав значение rotatecaptcha для параметра method. Сервер принимает изображения в формате multipart или base64.

    Сервер вернёт ID вашей капчи или код ошибки.

  4. Подождите 5 секунд и отправьте запрос HTTP GET к нашему API: http://2captcha.com/res.php чтобы получить результат.

    Если ваша капча решена, сервер вернёт ответ, содержащий углы поворота для каждого изображения, например: OK|40|200|-120.
    Положительные значение означают что изображение нужно повернуть по часовой стрелке, отрицательные — против часовой стрелки.

    Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт ошибку, описание которой можно найти в главе Обработка ошибок.

  5. Для решения вашей RotateCaptcha поверните изображения на соответствующий угол.

Пример multipart-формы для отправки RotateCaptcha файлом

<form method="post" action="http://2captcha.com/in.php" enctype="multipart/form-data">
Ключ API:<br>
<input  name="key" value="YOUR_APIKEY"><br>
Тип:<br>
<input  name="method" value="rotatecaptcha"><br>
Угол:<br>
<input  name="angle" value="40"><br>
Файл:<br>
<input type="file" name="file"><br>
<input type="submit" value="Загрузить и получить ID">
</form>

Пример формы для отправки RotateCaptcha в формате base64

<form method="post" action="http://2captcha.com/in.php">
Ключ API:<br>
<input  name="key" value="YOUR_APIKEY"><br>
Тип:<br>
<input  name="method" value="rotatecaptcha"><br>
Угол:<br>
<input  name="angle" value="40"><br>
Файл:<br>
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

Список параметров POST-запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да Метод решения капчи.
rotatecaptcha — указывает на то, что вы отправляете RotateCaptcha
angle Число
По умолчанию: 40
Нет Угол поворота за один шаг в градусах.
Если не указано, используется значение по умолчанию для FunCaptcha: 40 градусов.
file Изображение Да* Файл изображения.
* - обязателен, если вы отправляете картинку как файл (method=post)
body Строка Да* Изображение, закодированное в формат Base64.
* - обязателен, если вы отправляете картинку в Base64 (method=base64)
lang Строка Нет Код языка. См. список поддерживаемых языков.
imginstructions Строка Нет Изображение с инструкцией, будет показано работнику, чтобы помочь ему правильно выполнить задание.
textinstructions Строка Нет Текст с инструкцией. Будет показан работнику, чтобы помочь ему правильно выполнить задание.
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Список параметров для GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Arkose Labs FunCaptcha

Теперь мы предоставляем метод для решения Arkose Labs FunCaptcha с помощью токена.

Этот метод очень прост:

  1. Вам нужно найти публичный ключ FunCaptcha и сервисный URL (surl).
    Публичный ключ можно найти в значении параметра data-pkey у div с FunCaptcha или же найти элемент с именем (name) fc-token, а из его значения вырезать ключ, который указан после pk.

    Сервисный URL можно найти в том же элементе с именем fc-token - это значение после surl. Этот параметр не обязателен и если вы его не указали - мы используе значение по умолчанию, которое работает в большинстве случаев. Но все же мы рекомендуем его указывать на случай, если на сайте используется нестандартный вариант.

  2. Отправьте HTTP GET или POST запрос к нашему API: http://2captcha.com/in.php, указав значение параметра method равным funcaptcha, найденный ранее публичный ключ укажите в параметре publickey, а surl в одноименном параметре запроса. Полный URL страницы укажите в параметре pageurl.
    Полный список параметров для запроса можно найти в таблице ниже.

    Пример URL запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=funcaptcha&publickey=12AB34CD-56F7-AB8C-9D01-2EF3456789A0&surl=https://client-api.arkoselabs.com&pageurl=http://mysite.com/page/with/funcaptcha/
    
  3. Если вы отправили корректный запрос, сервер вернёт ID вашей капчи в виде простого текста, например: OK|2122988149 или в формате JSON {"status":1,"request":"2122988149"}, если вы использовали параметр json в запросе.

    Если что-то пошло не так, сервер вернёт ошибку. Описание ошибок приведено в главе Обработка ошибок.

  4. Подождите 15-20 секунд и отправьте HTTP GET запрос к нашему API: http://2captcha.com/res.php, чтобы получить результат.
    Полный список параметров для запроса можно найти в таблице ниже.

    Если ваша капча уже решена, сервер вернёт ответ в виде простого текста или JSON. Ответ представляет собой токен, примерно такой:

    3084f4a302b176cd7.96368058|r=ap-southeast-1|guitextcolor=%23FDD531|metabgclr=%23FFFFFF|metaiconclr=%23202122|meta=3|lang=en|pk=12AB34CD-56F7-AB8C-9D01-2EF3456789A0|cdn_url=https://cdn.funcaptcha.com/fc|surl=https://funcaptcha.com
    

    Если ваша капча ещё не решена, сервер вернёт код CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

  5. Найдите элемент с id fc-token и измените его значение (value) на полученый токен.

  6. Осталось лишь сделать то, что вы хотели сделать на сайте: отправить форму, кликнуть на кнопку или что-то ещё.

Список параметров для GET/POST запросов к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да funcaptcha — указывает, что вы решаете FunCaptcha с помощью токена
publickey Строка Да Значение параметра pk или data-pkey которое вы нашли в коде страницы
surl Строка Нет Значение параметра surl которое вы нашли в коде страницы
data[key] Строка Нет Дополнительные данные передаваемые при загрузке FunCaptcha.
Пример: data[blob]=stringValue
pageurl Строка Да Полный URL страницы, на которой вы решаете FunCaptcha
userAgent Строка Нет Говорит нам использовать ваш user-agent.
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример URL запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

KeyCaptcha

KeyCaptcha — это такой вид капчи, для решения которой нужно собрать небольшой пазл.

Чтобы решить KeyCaptcha с помощью нашего сервиса, нужно:

  1. Найти следующие параметры KeyCaptcha в исходном коде страницы:

    s_s_c_user_id
    s_s_c_session_id
    s_s_c_web_server_sign
    s_s_c_web_server_sign2
    
  2. Отправить HTTP GET или POST запрос к нашему API: http://2captcha.com/in.php указав method равным keycaptcha и передать в запросе соответствующие значения параметров, найденные на предыдущем шаге, а также указать в параметре pageurl полный URL страницы с KeyCaptcha.
    Полный список параметров приведен в таблице ниже.

    Пример запроса:

     http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&s_s_c_user_id=10&s_s_c_session_id=493e52c37c10c2bcdf4a00cbc9ccd1e8&s_s_c_web_server_sign=9006dc725760858e4c0715b835472f22-pz-&s_s_c_web_server_sign2=2ca3abe86d90c6142d5571db98af6714&method=keycaptcha&pageurl=https://www.keycaptcha.ru/demo-magnetic/
    
  3. Если запрос был составлен верно, то сервер вернёт ID капчи в виде простого текста, например: OK|2122988149 или в виде JSON {"status":1,"request":"2122988149"}, если вы использовали параметр_json_.
    В противном случае сервер вернёт код ошибки.

  4. Подождите 15-20 секунд и отправьте запрос HTTP GET к нашему API: http://2captcha.com/res.php чтобы получить результат.
    Полный список параметров доступен в таблице ниже.

    Если капча уже решена, сервер вернёт ответ в виде простого текста или JSON. Ответ выглядит примерно так:

    ebdb5a6bf76da6887db60ef2041ab946|9006dc725760858e4c0715b835472f22|http://back10.keycaptcha.com/swfs/ckc/5bded85426de3c57a7529a84bd0d4d08-|493e52c37c10c2bcdf4a00cbc9ccd1e8|1
    

    Если капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

  5. Найдите и удалите следующий блок, который подключает javascript-файл:

    <script language="JavaScript" src="http://backs.keycaptcha.com/swfs/cap.js"></script>
    

    Найдите и удалите элемент div с id="div_for_keycaptcha":

    <div id="div_for_keycaptcha"...>...</div>
    

    Внимание: иногда содержимое страницы генерируется динамически и вы можете не найти нужные элементы или они могут немного отличаться.
    В таком случае вам нужно хорошенько разобраться в коде страницы и используемых на ней скриптов.

  6. Найдите элемент с id="capcode" и измените его значение на ответ, полученный от нашего сервера.

    <input name="capcode" id="capcode" value="1|2|3|4|5" type="hidden">
    
  7. Нажмите на кнопку, отправляющую форму.

  8. Ура, вы прошли KeyCaptcha!

    Весь этот процесс может быть легко автоматизирован. Посмотрите пример javascript кода, который делает это прямо в консоли браузера.

Пример формы multipart для отправки KeyCaptcha

<form method="post" action="http://2captcha.com/in.php" enctype="multipart/form-data">
Ваш ключ API:
<input  name="key" value="YOUR_APIKEY"><br>
s_s_c_user_id:<br>
<input  name="s_s_c_user_id" value=""><br>
s_s_c_session_id:<br>
<input  name="s_s_c_session_id" value=""><br>
s_s_c_web_server_sign:<br>
<input  name="s_s_c_web_server_sign" value=""><br>
s_s_c_web_server_sign2:<br>
<input  name="s_s_c_web_server_sign2" value=""><br>
pageurl:<br>
<input  name="pageurl" value=""><br>
It's keycaptcha:<br>
<input type="text" value="keycaptcha" name="method"><br>
<input type="submit" value="UPLOAD AND GET ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

Список параметров GET/POST запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да keycaptcha — говорит о том, что вы отправляете KeyCaptcha
s_s_c_user_id Строка Да Значение параметра s_s_c_user_id, найденное на странице
s_s_c_session_id Строка Да Значение параметра s_s_c_session_id, найденное на странице
s_s_c_web_server_sign Строка Да Значение параметра s_s_c_web_server_sign, найденное на странице
s_s_c_web_server_sign2 Строка Да Значение параметра s_s_c_web_server_sign2, найденное на странице
pageurl Строка Да Полный URL страницы с KeyCaptcha
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример URL запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Geetest

Geetest - это такой вид капчи, где требуется передвинуть кусок пазла или выбрать несколько объектов в нужном порядке.

Чтобы решить Geetest-капчу через наш API необходимо:

  1. Найти следующие параметры на странице сайта с капчей (обычно их можно найти внутри функции initGeetest):

    • gt - публичный ключ сайта (статический)
    • challenge - динамический ключ задания
    • api_server - домен API (обязателен для некоторых сайтов)

Важно: для каждого запроса к нашему API необходимо получать новое значение challenge. Если капча уже была загружена на странице, то значение challenge является недействительным. Вам необходимо изучить запросы, которые выполняются при загрузке страницы и найти тот, в котором возвращается значение challenge. Затем, для получения нового challenge вам нужно каждый раз выполнять данный запрос и парсить его.

  1. Отправьте запрос HTTP GET или POST к нашему API: http://2captcha.com/in.php указав в значении параметра method значение geetest, а также передайте значения, найденные на предыдущем шаге в соответствующих параметрах и полный URL страницы с капчей в pageurl.
    Полный список параметров можно найти в таблице ниже.

    Пример запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=geetest&gt=f1ab2cdefa3456789012345b6c78d90e&challenge=12345678abc90123d45678ef90123a456b&api_server=api-na.geetest.com&pageurl=https://www.site.com/page/
    
  2. Если запрос был составлен верно, то сервер вернёт ID капчи в виде простого текста, например: OK|2122988149 или в виде JSON {"status":1,"request":"2122988149"}, если вы использовали параметр_json_.
    В противном случае сервер вернёт код ошибки.

  3. Подождите 15-20 секунд и отправьте запрос HTTP GET к нашему API: http://2captcha.com/res.php чтобы получить результат.
    Полный список параметров доступен в таблице ниже.

    Если капча уже решена, сервер вернёт ответ в формате JSON. Ответ содержит три параметра: challenge, validate и seccode:

    {
    "challenge":"1a2b3456cd67890e12345fab678901c2de",
    "validate":"09fe8d7c6ba54f32e1dcb0a9fedc8765",
    "seccode":"12fe3d4c56789ba01f2e345d6789c012|jordan"
    }
    

    Если капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

  4. Используйте значения, полученные в ответе от нашего API в запросе к сайту, передавая их в соотстветствующих полях запроса:

    • geetest_challenge
    • geetest_validate
    • geetest_seccode

Список параметров GET/POST запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да geetest - указывает, что вы отправляете капчу Geetest
gt Строка Да Значение параметра gt найденное на сайте
challenge Строка Да Значение параметра challenge найденное на сайте
api_server Строка Нет Значение параметра api_server найденное на сайте
offline Число
По умолчанию: 0
Нет В редких случаях initGeetest может вызываться с дополнительным параметром offline. Если offline: true, то нужно передать значение 1.
new_captcha Число
По умолчанию: 0
Нет В редких случаях initGeetest может вызываться с дополнительным параметром new_captcha. Если new_captcha: true, то нужно передать значение 1. Чаще всего используется совместно с offline.
pageurl Строка Да Полный URL страницы с капчей Geetest
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 1
Нет Для Geetest ответ всегда возвращается в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример URL запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Geetest v4

Geetest v4 - это новая версия капчи от Geetest, где вам всё еще нужно двигать кусочек пазла, чтобы пройти ее.

Чтобы решить Geetest-капчу через наш API необходимо:

  1. Найти на странице сайта с капчей значение captcha_id - обычно его можно найти внутри тега script, который подключает javascript код Geetest v4 на странице.

  2. Отправьте запрос HTTP GET или POST к нашему API: http://2captcha.com/in.php указав method=geetest_v4, значение captcha_id, найденное на странице а также полный URL страницы с капчей в pageurl.

    Пример запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=geetest_v4&captcha_id=f1ab2cdefa3456789012345b6c78d90e&pageurl=https://www.site.com/page/
    
  3. Если запрос был составлен верно, то сервер вернёт ID капчи в виде простого текста, например: OK|2122988149 или в виде JSON {"status":1,"request":"2122988149"}, если вы использовали параметр_json_.
    В противном случае сервер вернёт код ошибки.

  4. Подождите 15-20 секунд и отправьте запрос HTTP GET к нашему API: http://2captcha.com/res.php чтобы получить результат.

    Если капча уже решена, сервер вернёт ответ в формате JSON. Пример ответа:

    {
    "captcha_id": "e392e1d7fd421dc63325744d5a2b9c73",
    "lot_number": "7fafac97a43d4701aee908afa49c73ba",
    "pass_token": "6f1c27bd15777d5e9e6e1ba94604c28e7b13b94eed3f7c8b79ceaf4660da6320",
    "gen_time": "1648112802",
    "captcha_output": "FEB0Fyp2UEcHdeFQ0PEN-BHenkuCzlpmfX_OLXuf49iF_rPvbjYc9whxQg-sYOCPSzX_19HF0gCPgSoAZ-JPxE46ddE7L6y0J-D_5CcMnT0IYKHFK-NdcBo_m6nISKrpSH3QE9l5r53UTChJdR-bOJPO20gA0bgPEMvDCew7UkQ="
    }
    

    Если капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

  5. Используйте значения, полученные в ответе от нашего API в запросе к сайту, передавая их аналогично тому, как они передаются, если вы решаете капчу вручную.

Список параметров GET/POST запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да geetest_v4 - указывает, что вы отправляете капчу Geetest v4
captcha_id Строка Да Значение параметра captcha_id которое вы нашли на странице
pageurl Строка Да Полный URL страницы с капчей Geetest
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 1
Нет Для Geetest ответ всегда возвращается в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример URL запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Capy Puzzle

Capy - это капча в виде пазла

Capy Puzzle captcha

Принцип решения капчи предельно прост:

  1. Найдите в исходном коде страницы ключ капчи. Его можно найти в поле с именем (аттрибут name) capy_captchakey, либо в ссылке на скрипт https://www.capy.me/puzzle/get_js/?k=PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v .

    Также, возьмите часть URL скрипта, указывающую на root-директорию сервера, например https://www.capy.me/ и передайте ее в параметре api_server

  2. Отправьте запрос HTTP GET или POST к нашему API:
    http://2captcha.com/in.php
    с персональным ключом API и параметром method, соответствующим виду вашей капчи, в данном случае — capy, а также укажите найденный ключ капчи в параметре captchakey. Укажите полный URL страницы, на которой вы хотите решить Capy в параметре pageurl.
    Полный список параметров для запроса можно найти в таблице ниже.

    Пример URL запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=capy&captchakey=PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v&pageurl=http://mysite.com/
    
  3. Если вы отправили корректный запрос, сервер вернёт ID вашей капчи в виде простого текста, например: OK|2122988149 или в формате JSON {"status":1,"request":"2122988149"} если вы использовали параметр json в запросе.

    Если что-то пошло не так, сервер вернёт ошибку. Описание ошибок приведено в главе Обработка ошибок.

  4. Подождите 15-20 секунд и отправьте HTTP GET запрос к нашему API: http://2captcha.com/res.php чтобы получить результат.
    Полный список параметров для запроса можно найти в таблице ниже.

    Если капча уже решена, сервер вернёт ответ в формате JSON. Ответ содержит три параметра: captchakey, challengekey и answer:

    {
    "captchakey": "PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v",
    "challengekey": "y1Pu234nCwq56WnqB7y8TSZq0Qzp0ltK",
    "answer": "0xax8ex0xax84x0xkx7qx0xux7qx0xux7gx0x18x7gx0x1sx76x0x26x6ix0x2qx6ix0x3ex68x0"
    }
    

    Если капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

  5. Используйте значения, полученные в ответе от нашего API в запросе к сайту, передавая их в соотстветствующих полях запроса:

    • capy_captchakey
    • capy_challengekey
    • capy_answer

Список параметров для GET/POST запросов к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да capy — указывает, что вы решаете Capy Puzzle
captchakey Строка Да Значение параметра captchakey, которое вы нашли в коде страницы
pageurl Строка Да Полный URL страницы, на которой вы решаете Capy Puzzle
api_server Строка Нет URL сервера, с которого подгружается капча. По умолчанию: https://jp.api.capy.me/
version Строка
По умолчанию: puzzle
Нет Вид задания: puzzle (собрать пазл) или avatar (перетянуть предмет)
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 1
Нет Для Capy Puzzle сервер всегда вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример URL запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

TikTok

Данный метод временно не поддерживается.

Lemin Cropped Captcha

Lemin - один из видов капчи, использующей пазлы

Для решения капчи нужно:

  1. Найти значение captcha_id в исходном коде страницы или в ссылке на скрипт капчи, которая выглядит следующим образом: https://api.leminnow.com/captcha/v1/cropped/CROPPED_1abcd2f_a1234b567c890d12ef3a456bc78d901d/js.

    Также, нужно взять основную часть URL вида: https://api.leminnow.com/ - это будет значением параметра api_server.

    И, наконец, нужно определить id родительского div элемента капчи - это значение нужно будет передать в параметре div_id.

  2. Оправьте запрос HTTP GET or POST к нашему API: http://2captcha.com/in.php устанавив значение параметра method в lemin, а также передайте значение параметров captcha_id, div_id и api_server и полный URL страницы с капчей в параметре pageurl.
    Описание всех параметров доступно в таблице ниже.

    Пример запроса:

    {
    "key": "1abc234de56fab7c89012d34e56fa7b8",
    "method": "lemin",
    "captcha_id": "CROPPED_3dfdd5c_d1872b526b794d83ba3b365eb15a200b",
    "div_id": "lemin-cropped-captcha",
    "api_server": "https://api.leminnow.com/",
    "pageurl": "https://2captcha.com/demo/lemin",
    "json":1
    }
    
  3. API вернет вам ID капчи:

    {
    "status": 1,
    "request": "2122988149"
    }
    

    Если запрос был некорректным - вы получит код ошибки.

  4. Подождите 10-15 секунд и запрашивайте ответ_HTTP GET_ у API: http://2captcha.com/res.php.
    Полный список параметров в таблице ниже.

    Если капча решена, вы получите в ответе значения answer и challenge_id

    {
    "answer":"0x0xcgx0x0xbsx0xaxb8x0xkxakx0xux92x0x1sx76x0x2gx5ux0x34x4mx0x3ox3ex0x42x34x0x4cx2qx0x4mx2gx0x50x26x0x5ax26x0x5ax1sx0x50x1sx0x50x1ix0x50x18x0x50xux0x5axux0x5axkx0x5axax0x5ax0x_?_gAAAAABi4-Efd-oTDcTyTsnv7vbHGJW_ucw7GmoYCUxjfbvfMChlne2EIKYrVNV_TfBDN68WX_TDAEQ90xbWjatuYGkaUHsC1lzf7pM7dS8J-WhKQK1rBYaSOgAzGuNVhYX_zrNWHFFr",
    "challenge_id":"a33515c5-9095-4c2a-b2eb-c86214d62f98"
    }
    

    Если капча не решена - получите_CAPCHA_NOT_READY_. Повторите запрос через 5 секунд.

    Если возникла ошибка, API вернет соотвествующий код ошибки.

  5. Используйте полученные значения для запроса к сайту, где обходите капчу:

    • answer
    • challenge_id

Список параметров GET/POST запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да вш ключ API
method Строка Да lemin - указывает что вы решаете капчу Lemin
captcha_id Строка Да Значение параметра captcha_id найденное на странице
div_id Строка Нет id родительского div, внутри которого находится капча
api_server Строка Нет Основная часть URL, откуда подгружаются скрипты капчи. По умолчанию: https://api.leminnow.com/
pageurl Строка Да Полный URL страницы с капчей
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

Список параметров GET запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 1
Нет Для Lemin сервер всегда вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Request URL example:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Cloudflare Turnstile

Cloudflare Turnstile - капча от Cloudflare

Для решения капчи нужно:

  1. Найти значение sitekey в исходном коде страницы или JS-коде сайта. В API капчи это значение передается либо в аттрибуте data-sitekey у div-элемента капчи, либо в свойстве sitekey в JavaScript коде. Также, его можно найти в URL iframe капчи. Формат значения: 0x1AAAAAAAAkg0s2VIOD34y5.

    Кроме того капча может иметь еще два дополнительных строковых параметра: action (аттрибут data-action) и data (аттрибут data-cdata).

  2. Оправьте запрос HTTP GET or POST к нашему API: http://2captcha.com/in.php устанавив значение параметра method в turnstile, а также передайте sitekey и полный URL страницы с капчей в параметре pageurl.
    Описание всех параметров доступно в таблице ниже.

    Пример запроса:

    http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=turnstile&sitekey=0x1AAAAAAAAkg0s2VIOD34y5&pageurl=http://mysite.com/
    
  3. API вернет вам ID капчи: Текстом OK|2122988149 или в JSON {"status":1,"request":"2122988149"}. Если запрос был некорректным - вы получит код ошибки.

  4. Подождите 10-15 секунд и запрашивайте ответ_HTTP GET_ у API: http://2captcha.com/res.php.
    Полный список параметров в таблице ниже.

    Если капча решена, вы получите в ответе токен следующего вида:

    0.YLeK-x3KEpV7itsgBxdZcs5yzIagQ8w8sWHCHsQXH66Mx-V8dN7fRCoydys8BZjt-QUR4KZ2kUxcGi_ZXGjyp1N4iWOEQo4jsa_6kX6-E243Dt3KMxnv36p_jgyclFAdEXriaZQVcEMLjunJJrmpim-5CGuWktjAxyG7zDIJuNNDsZrq9WMLjSxHddOcly2f3iIcqLAhWAkoGASz27VZa6hFw6OfP3Uf984zKZnPWVa1K91ms9jtJe2xRBwnonCR3dpPJC_C7OPDCYY3IR-e78Q6pJvLNdh0qx-f5YU7UZPAC74scs3NZPyyNusy95cK.ZUyj-S_XefnHH_sbOiF2jQ.57975f115dfb9e22aaa6e2055314758a0c5b05bc5e64951f6fe585c23aeff028
    

    Если капча не решена - получите_CAPCHA_NOT_READY_. Повторите запрос через 5 секунд.

    Если возникла ошибка, API вернет соотвествующий код ошибки.

  5. Используйте полученный токен при работе с сайтом, где обходите капчу. Токен чаще всего передается через элекмент input с аттрибутом name="cf-turnstile-response", а если используется режим совместимости с reCAPTCHA, то еще и через input с аттрибутом name="g-recaptcha-response". Или же через коллбек-функцию, которая задается при вызове turnstile.render в свойстве callback или через аттрибут data-callback.

Капча Turnstile на страницах Cloudflare Challenge
Страница Turnstile Challege

Если вам нужно обойти капчу Turnstile на странице Cloudflare Challenge вы ДОЛЖНЫ передать ряд дополнильных параметров:

  • action
  • data
  • pagedata
  • useragent

Для случаев, когда Turnstile используется как самостоятельная капча, размещенная на самом сайте, эти параметры не являются обязательными.

Как перехватить параметры вызова метода turnstile.render

Для перехвата параметров вы можете переопределить метод turnstile.rended. Например, вы можете сделать инъекцию JavaScript на странице. Важно: код должен выполниться до того, как загрузится капча.

const i = setInterval(()=>{
if (window.turnstile) {
clearInterval(i)
window.turnstile.render = (a,b) => {
let p = {
method: "turnstile",
key: "YOUR_API_KEY",
sitekey: b.sitekey,
pageurl: window.location.href,
data: b.cData,
pagedata: b.chlPageData,
action: b.action,
userAgent: navigator.userAgent,
json: 1        
}
console.log(JSON.stringify(p))
window.tsCallback = b.callback
return 'foo'
}
}
},50)

Список параметров GET/POST запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да вш ключ API
method Строка Да turnstile - указывает что вы решаете капчу turnstile
sitekey Строка Да Значение параметра sitekey найденное на странице
action Строка Нет* Значение дополнительного параметра action, найденного на странице
data Строка Нет* Значение дополнительного параметра data, найденного на странице
pagedata Строка Нет* Значение параметра chlPageData при вызове turnstile.render
useragent Строка Да User-Agent вашего браузера. Должен совпадать с User-Agent который вы используете для доступа к сайту. Используйте только современные браузеры, выпущенные в последние 6 месяцев.
pageurl Строка Да Полный URL страницы с капчей
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.

* - параметры, обязательные для обхода Turnstile на страницах Cloudflare Challenge

Список параметров GET запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 1
Нет 1 - вернуть ответ в JSON, 0 - в виде текста
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Request URL example:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Amazon WAF

Amazon WAF Captcha также известная как AWS WAF Captcha - это часть системы интеллектуальной защиты от угроз от Amazon AWS

Для обхода Amazon WAF Captcha вам потребуются следующие параметры:

  • sitekey - значение параметра key из исходного кода страницы
  • iv - значение параметра iv из исходного кода страницы
  • context - значение параметра context из исходного кода страницы
  • challenge_script - URL скриптаchallenge.js
  • captcha_script- URL скрипта captcha.js
  • pageurl - полный URL страницы, на которой вы получили капчу

Пример тела запроса к http://2captcha.com/res.php

{
"key":"1abc234de56fab7c89012d34e56fa7b8",
"method":"amazon_waf",
"sitekey":"AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AHMDLodoefdvyOnsHMRtEKQAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMUX+ZqwwuANRnZujSAgEQgDvHSxUQmVBuyUtumoW2n4ccTG7xQN1r3X/zz41qmQaYv9SSSvQrjIoDXKaUQ23tVb4ii8+uljuRdz/HPA==",
"pageurl":"https://non-existent-example.execute-api.us-east-1.amazonaws.com/latest",
"context":"9BUgmlm48F92WUoqv97a49ZuEJJ50TCk9MVr3C7WMtQ0X6flVbufM4n8mjFLmbLVAPgaQ1Jydeaja94iAS49ljb+sUNLoukWedAQZKrlY4RdbOOzvcFqmD/ZepQFS9N5w15Exr4VwnVq+HIxTsDJwRviElWCdzKDebN/mk8/eX2n7qJi5G3Riq0tdQw9+C4diFZU5E97RSeahejOAAJTDqduqW6uLw9NsjJBkDRBlRjxjn5CaMMo5pYOxYbGrM8Un1JH5DMOLeXbq1xWbC17YSEoM1cRFfTgOoc+VpCe36Ai9Kc=",
"iv":"CgAHbCe2GgAAAAAj",
"challenge_script":"https://41bcdd4fb3cb.610cd090.us-east-1.token.awswaf.com/41bcdd4fb3cb/0d21de737ccb/cd77baa6c832/challenge.js",
"captcha_script":"https://41bcdd4fb3cb.610cd090.us-east-1.captcha.awswaf.com/41bcdd4fb3cb/0d21de737ccb/cd77baa6c832/captcha.js",
"json":1
}

Если все ОК, в ответ вы получите ID капчи{"status":1,"request":"2122988149"} или код ошибки если ваш запрос составлен некорректно.

Подождите 15-20 секунд и сделайте GET запрос к http://2captcha.com/res.php для получения ответа на капчу.
Полный список параметров запроса есть в таблице.

Если ваша капча решена, то в ответ вы получете токен следующего вида:

{
"status": 1,
"request": {
"captcha_voucher":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0aW1lc3RhbXAiOiIyMDIzLTAzLTIwVDEzOjM2OjM3Ljg1Nzk5MjEyMFoiLCJjbGllbnRfaWQiOiIxOTI4NTIzMi1jMTRiLTRlMDUtYjQ2OC02ODBiYjE3ZWNhM2MiLCJkb21haW4iOiJlZnc0N2ZwYWQ5LmV4ZWN1dGUtYXBpLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tIiwiZXhwIjoxNjc5MzE5Mzk3LCJwcm9ibGVtIjoiYmlmdXJjYXRlZHpvbyIsInByb2JsZW1fb3ZlcnJpZGUiOmZhbHNlLCJudW1fc29sdXRpb25zX3Byb3ZpZGVkIjoxfQ.qgSX4tZqZQwXNzVQgVe3OsUMR3vf7-fLWNzZKIHXN-4",
"existing_token":"25b7ee41-2d4e-46f7-a52e-2d53d10c199a:EQoAf2Zd5kEWAAAA:qGp2oQxLMEny1L7qBP6uRYJ/DRDRL2v50309/M/O7Gul+k1zh6ZqDVGNbrG6LYmUD+4dSYJMNM2IuxgQYbVHp83OwF8p/BgolBwp45CulWxzCjyEGy1/degDo5ivZ8AjFVymUJI/vCq0BOhD4GGZqR8oveOYcUN7OIJy5mtE2reNI92qCiRCqEr8ccZo02DsBDBDQEQOR+q17gQn2vn0Hp3Ss7A="
}
}

Если капча еще не решена - получите CAPCHA_NOT_READY. Просто повторяйте запрос с интервалом не менее 5 секунд пока не получите ответ или код ошибки.

Используйте полученные значения для взаимодействия с сайтом, обычно они отправляются в соответвующих полях POST-запроса к бекенду сайта, но вам обязательно нужно найти, как именно уходит токен в вашем случае и подставлять его соответствующим образом.

Список параметров запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да amazon_waf - указывает на то, что вы решаете Amazon WAF Captcha
sitekey Строка Да Значение key со страницы
iv Строка Да Значение iv со страницы
context Строка Да Значение context со страницы
pageurl Строка Да Полный URL страницы с капчей
challenge_script Строка Нет Ссылка на скрипт challenge.js на странице
captcha_script Строка Нет Ссылка на скрипт captcha.js на странице
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
proxy Строка Нет Формат: логин:пароль@123.123.123.123:3128
Больше информации о прокси здесь.
proxytype Строка Нет Тип вашего прокси-сервера: HTTP, HTTPS, SOCKS4, SOCKS5.

Список параметров GET-запроса к http://2captcha.com/res.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
reportgood — - сообщить о том, что токен сработал
reportbad — - сообщить о том, что токен не сработал
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Пример запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

CyberSiARA

Основанный на токенах метод автоматического решения капчи CyberSiARA.

Спецификация метода

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да cybersiara
master_url_id Строка Да Значение параметра MasterUrlId из запроса к API/CyberSiara/GetCyberSiara
pageurl Строка Да Полный URL страницы с капчей
userAgent Строка Да User-Agent вашего браузера
proxy Строка Нет Ваш прокси в формате: login:password@123.123.123.123:3128
Подробнее
proxytype Строка Нет Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
json Число Нет Передайте 1 чтобы получить ответ в формате JSON.
По умолчанию: 0
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key": "YOUR_API_KEY",
    "method": "cybersiara",
    "master_url_id": "tpjOCKjjpdzv3d8Ub2E9COEWKt1vl1Mv",
    "pageurl": "https://demo.mycybersiara.com/",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример ответа
{
    "status": 1,
    "request": "eyJhbGciOiJIUzUxMi..MjEzODYwMjE="
}

MTCaptcha

Основанный на токенах метод автоматического решения капчи MTCaptcha.

Спецификация метода

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да mt_captcha
sitekey Строка Да Значение параметра sitekey найденное на странице
pageurl Строка Да Полный URL страницы с капчей
proxy Строка Нет Ваш прокси в формате: login:password@123.123.123.123:3128
Подробнее
proxytype Строка Нет Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
json Число Нет Передайте 1 чтобы получить ответ в формате JSON.
По умолчанию: 0
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key":"YOUR_API_KEY",
    "method":"mt_captcha",
    "sitekey":"MTPublic-KzqLY1cKH",
    "pageurl":"https://2captcha.com/demo/mtcaptcha",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример ответа
{
    "status": 1,
    "request": "v1(fa78e9fe,c64ca2f..8e476cd94a6a,Hx3jMg3)"
}

Cutcaptcha

Основанный на токенах метод автоматического решения капчи Cutcaptcha.

Полученный токен необходимо установить в качестве атрибута value для элемента input#cap_token и/или передать функции обратного вызова.

Спецификация метода

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да cutcaptcha
misery_key Строка Да Значение переменной CUTCAPTCHA_MISERY_KEY определенное на странице
api_key Строка Да Значение аттрибута data-apikey у тега body внутри iframe капчи. Также, имя javascript файла капчи, подключаемого на странице
pageurl Строка Да Полный URL страницы с капчей
proxy Строка Нет Ваш прокси в формате: login:password@123.123.123.123:3128
Подробнее
proxytype Строка Нет Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
json Число Нет Передайте 1 чтобы получить ответ в формате JSON.
По умолчанию: 0
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key": "YOUR_API_KEY",
    "method": "cutcaptcha",
    "misery_key": "a1488b66da00bf332a1488993a5443c79047e752",
    "api_key": "SAb83IIB",
    "pageurl": "https://example.cc/foo/bar.html",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример ответа
{
    "status": 1,
    "request": "BazM23cpFUUyAAAdqPwNEDZx0REtH3ss"
}
Использование токена

Полученный токен поместите в значение тега input с id = cap_token, затем отправьте форму, внутри которой находится этот input, например:

document.querySelector('input#cap_token').value='BazM23cpFUUyAAAdqPwNEDZx0REtH3ss'
document.querySelector('form').submit()

Если на странице задана коллбек-функция, то можно отправить токен через нее:

capResponseCallback('BazM23cpFUUyAAAdqPwNEDZx0REtH3ss')

Friendly Captcha

Основанный на токенах метод автоматического решения капчи Friendly Captcha.

Полученный токен необходимо установить в качестве атрибута value для элемента input#cap_token и/или передать функции обратного вызова.

Важно: Для успешного использования полученного токена, виджет капчи не должен быть загружен на странице. Для этого вам необходимо прерывать запросы к /friendlycaptcha/...module.min.js на странице. Когда виджет капчи уже загружен на странице, большая вероятность что полученный токен не сработает.

Спецификация метода

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да friendly_captcha
sitekey Строка Да Значение аттрибута data-apikey элемента div капчи
pageurl Строка Да Полный URL страницы с капчей
proxy Строка Нет Ваш прокси в формате: login:password@123.123.123.123:3128
Подробнее
proxytype Строка Нет Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
json Число Нет Передайте 1 чтобы получить ответ в формате JSON.
По умолчанию: 0
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key": "YOUR_API_KEY",
    "method": "friendly_captcha",
    "sitekey": "2FZFEVS1FZCGQ9",
    "pageurl": "https://example.com",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример ответа
{
    "status": 1,
    "request": "f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD"
}

Полученный токен поместите в значение тега input с name = frc-captcha-solution, затем отправьте форму, внутри которой находится этот input, например:

document.querySelector('input.frc-captcha-solution').value='f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD'
document.querySelector('form').submit()

Имейте в виду, что имя для input может быть кастомизировано с помощью аттрибута data-solution-field-name и в этом случае нужно использовать значение этого аттрибута, как имя.

Если на странице задана коллбек-функция, то можно отправить токен через нее. Например, если data-callback="doneCallback" то вы должны выполнить:

doneCallback('f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD')

atbCAPTCHA

Основанный на токенах метод автоматического решения капчи atbCAPTCHA.

Спецификация метода

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да atb_captcha
app_id Строка Да Значение параметра appId в исходном коде сайта
api_server Строка Да Значение параметра apiServer в исходном коде сайта
pageurl Строка Да Полный URL страницы с капчей
proxy Строка Нет Ваш прокси в формате: login:password@123.123.123.123:3128
Подробнее
proxytype Строка Нет Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
json Число Нет Передайте 1 чтобы получить ответ в формате JSON.
По умолчанию: 0
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key": "YOUR_API_KEY",
    "method": "atb_captcha",
    "app_id": "af23e041b22d000a11e22a230fa8991c",
    "api_server": "https://cap.aisecurius.com",
    "pageurl": "https://www.example.com/",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример ответа
{
    "status": 1,
    "request": "sl191suxzluwxxh6f:"
}
Использование токена

Полученный при решении токен передается в callback-функцию, определенную в свойстве success при инициализации капчи. Эта функция обычно используется для выполнения запроса к бекенду сайта и верификации токена. Вы можете либо выполнить callback-функцию, передавая токен в качестве аргумента, либо составить запрос к сайту, подставив в него токен.

const myCallbackFunction = (token) {
    // верификация токена
}
var myCaptcha = as.Captcha(document.getElementById('demo'), {
    appId: 'af23e041b22d000a11e22a230fa8991c',
    success: myCallbackFunction
})

Tencent

Основанный на токенах метод автоматического решения капчи Tencent.

Спецификация метода

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да tencent
app_id Строка Да Значение параметра appId в исходном коде сайта
pageurl Строка Да Полный URL страницы с капчей
captcha_script Строка Нет URL скрипта капчи, найденный в коде страницы. По умолчанию: https://turing.captcha.qcloud.com/TCaptcha.js
proxy Строка Нет Ваш прокси в формате: login:password@123.123.123.123:3128
Подробнее
proxytype Строка Нет Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
json Число Нет Передайте 1 чтобы получить ответ в формате JSON.
По умолчанию: 0
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key": "YOUR_API_KEY",
    "method": "tencent",
    "app_id": "190014885",
    "pageurl": "https://www.example.com/",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример ответа
{
    "status": 1,
    "request": {
        "appid": "190014885",
        "ret": 0,
        "ticket": "tr0344YjJASGmJGtohyWS_y6tJKiqVPIdFgl87vWlVaQoueR8D6DH28go-i-VjeassM31SXO7D0*",
        "randstr": "@KVN"
    }
}
Использование токена

Полученный при решении токен передается в callback-функцию, определенную во втором аргументе вызова конструктора TencentCaptcha при инициализации капчи.

new TencentCaptcha(CaptchaAppId, callback, options);

Эта функция обычно используется для выполнения запроса к бекенду сайта и верификации токена. Вы можете либо выполнить callback-функцию, передавая токен в качестве аргумента, либо составить запрос к сайту, подставив в него токен.

Например, если капча инициализурована следующим образом:

const myCallbackFunction = (token) {
    // verify the token
}
var captcha = new TencentCaptcha('190014885', myCallbackFunction, {});
captcha.show();

То вам нужно вызвать:

let data = JSON.parse(res)
myCallbackFunction(res.request)

Где res - это ответ API в формате JSON.

DataDome

Основанный на Cookies метод автоматического решения капчи DataDome.
Установите полученные куки в вашем браузере для обхода капчи.

Для решения капчи DataDome обязательно использовать прокcи.

Внимание, вам необходимо следить за значением параметра t в captcha_url при его наличии. Значение t должно быть равно fe.
Если t=bv, это значит что ваш ip забанен капчей и вам необходимо сменить ip адресс.

Внимание, вам необходимо следить за качеством используемого прокси. Если ваш прокси заблокирован капчей DataDome, то при решении капчи вы будете получать ошибки ERROR_PROXY_CONNECTION_FAILED или ERROR_CAPTCHA_UNSOLVABLE, в таком случае вам необходимо сменить используемый прокси сервер.

Внимание, в запросе необходимо присылать User-Agent, который используется при доступе к сайту, мы используем его при загрузке и решении капчи. Всегда используйте User-Agent современных браузеров.

Спецификация метода

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да datadome
captcha_url Строка Да Значение параметра src для элемента iframe содержащего капчу на странице.
pageurl Строка Да Полный URL страницы, при переходе на которую триггерится капча
userAgent Строка Да User-Agent браузера, который будет использован работником при загрузке капчи.
proxy Строка Да Ваш прокси в формате: login:password@123.123.123.123:3128
Подробнее
proxytype Строка Да Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5
json Число Нет Передайте 1 чтобы получить ответ в формате JSON.
По умолчанию: 0
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key": "YOUR_API_KEY",
    "method": "datadome",
    "captcha_url": "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAA...P~XFrBVptk&t=fe&referer=https%3A%2F%2Fhexample.com&s=45239&e=c538be..c510a00ea",
    "pageurl": "https://example.com/",
    "proxy":"username:password@1.2.3.4:5678",
    "proxytype":"http",
    "userAgent":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.3",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример результата
{
    "status": 1,
    "request": "datadome=G4TdaXfDqz0B..OJDxGGtKDktILJQEDxM; Max-Age=31536000; Domain=.example.com; Path=/; Secure; SameSite=Lax"
}

Распознавание аудио

Мы предоставляем сервис по распознаванию речи, который позволяет конвертировать аудиозапись в текст. Метод может быть использован как для решения аудио капчи, так и для распознавания любой аудиозаписи. Метод имеет следующие ограничения:

  • Максимальный размер файла: 1 МБ
  • Длительность записи: без ограничения
  • Поддерживаемый формат аудио: только mp3
  • Поддерживаемые языки: Русский, Английский, Французский, Немецкий, Греческий, Португальский

Процесс распознавания речи полностью автоматизирован и выполняется нейросетью, обученной для конвертации речи в текст.

Для распознавания аудио вам нужно:

  • Закодировать mp3 файл в base64
  • Отправить запрос к нашему API, подставив в него полученную base64-строку и указав язык

Пример тела запроса к http://2captcha.com/in.php

{
"key":"1abc234de56fab7c89012d34e56fa7b8",
"method":"audio",
"body":"",
"lang":"pt",
"json":1
}

Если все ОК, в ответ вы получите ID своего запроса{"status":1,"request":"2122988149"} или код ошибки если ваш запрос составлен некорректно.

Подождите 15-20 секунд и сделайте GET запрос к http://2captcha.com/res.php для получения результата распознавания.
Полный список параметров запроса есть в таблице.

Если запись успешно распознана, вы получите результат в виде текста

{
"status": 1,
"request": "Привет!"
}

Если распознавание еще не завершено - вы получите CAPCHA_NOT_READY. Просто повторяйте запрос с интервалом не менее 5 секунд пока не получите ответ или код ошибки.

Используйте полученные текст так, как вам это нужно.

Список параметров запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да audio - указывает на то, что вы отправляете аудиозапись на распознавание
body Строка Да Аудиозапись в формате mp3 закодированноя в base64
lang Строка Да Язык аудио. Поддерживаемые языки: en, fr, de, el, pt, ru.

Список параметров GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get - получить ответ на капчу
id Число Да ID запроса, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON

Пример запроса:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

Метод Bounding Box

Этот метод можно использовать для решения задач, в которых вам необходимо выбрать определенный объект или нарисовать рамку вокруг объекта, показанного на изображении, а также для разметки данных.

Метод имеет следующие ограничения:

  • Поддерживаемые форматы изображений: JPEG, PNG, GIF
  • Максимальный размер файла: 600 kB
  • Максимальный размер изображения: 1000px с любой стороны

Чтобы воспользоваться методом Bounding Box необходимо:

  1. Получить изображение и инструкцию, какие объекты необходимо выбрать на изображении.

  2. Отправить запрос HTTP POST к нашему API: http://2captcha.com/in.php указав bounding_box в качестве значения параметра method.
    Сервер принимает изображения в формате base64.

    Вам необходимо обязательно передать дополнительные инструкции в виде текста или изображения. В виде текста с помощью параметра textinstructions, или в виде изображения с помощью параметра imginstructions.

    Полный список параметров приведён в таблице ниже.

  3. Сервер вернёт ID капчи или код ошибки, если что-то пошло не так.

  4. Подождите 5 секунд и отправьте HTTP GET запрос к нашему API: http://2captcha.com/res.php чтобы получить результат.

    Если задание выполненно, то сервер вернёт координаты рамки, в которой находится указанный в описаниии объект, например: OK|[{"xMin":559,"xMax":797,"yMin":164,"yMax":430}]. В ответе содержатся координаты двух точек прямоугольника, расположенных по диагонали. Отсчёт координат от верхнего левого угла изображения.

    Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд.

    Если что-то пошло не так, сервер вернёт код ошибки.

Пример формы для загрузки изображения с помощью метода bounding_box в формате base64

<form method="post" action="http://2captcha.com/in.php">
<input type="hidden" name="method" value="bounding_box">
Ваш ключ API:
<input type="text" name="key" value="YOUR_APIKEY">
Тело изображения bounding_box в формате base64:
<textarea name="image">BASE64_IMAGE</textarea>
Инструкция:
<input type="textinstructions" name="textinstructions" value="Обведи машину на изображении">
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API.

BASE64_IMAGE — тело файла изображения, закодированное в формате base64.

Список параметров POST-запроса к http://2captcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да bounding_box
image Строка Да Изображение, закодированное в формате Base64
textinstructions Строка Да* Текст с инструкцией по разметке данных. Будет показан работнику, чтобы помочь ему правильно выполнить задание.
Необязателен, если инструкция уже есть в виде параметра imginstructions.
imginstructions Строка Да* Изображение с инструкцией по разметке данных, будет показано работнику, чтобы помочь ему правильно выполнить задание.
Изображение должно быть закодированно в формате Base64.
Необязателен, если инструкция уже есть в виде параметра textinstructions.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
soft_id Число Нет ID разработчика ПО. Разработчики, интегрировавшие свое ПО с нашим сервисом, получают 10% от стоимости каждого такого запроса.
lang Строка Нет Код языка. См. список поддерживаемых языков.
can_no_answer Число
По умолчанию: 0
Нет 0 — не определено
1 — возможно, что изображение не содержит объектов, которые удовлетворяют инструкции.
Устанавливайте значение 1 только если на изображении может не быть картинок с нужным объектом.
Мы покажем работнику кнопку "Нет подходящих картинок", а вы получите в ответе No_matching_images.
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
URL должен быть зарегистрирован на сервере. Больше информации здесь.

Список параметров для GET-запроса к http://2captcha.com/res.php

GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
Пример запроса

Эндпоинт: https://2captcha.com/in.php
Метод: POST

{
    "key": "YOUR_API_KEY",
    "method": "bounding_box",
    "image": "/9j/4AAQSkZJRgABAQEAYABgAAD//gA7Q1JFQVRPUjogZ2Q...",
    "textinstructions": "Обведите всех людей на изображении",
    "json": 1
}

Запрос вернет id вашей капчи, используйте его для запроса результата.

Запрос результата

Пример запроса

Эндпоинт: https://2captcha.com/res.php
Method: POST

{
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": 2122988149,
    "json": 1
}
Пример ответа
{
    "status": 1,
    "request": "[{\"xMin\":100,\"xMax\":316,\"yMin\":66,\"yMax\":210}]"
}

Язык капчи

Наш API позволяет указать язык капчи с помощью параметра lang.

Каждый работник нашего сервиса может рассказать нам, какими языками он владеет. Когда вы отправляете нам капчу с указанием языка в параметре lang мы распределяем вашу капчу работникам, которые говорят на этом языке. Это позволяет решать капчи на разных языках, например китайском или вьетнамском.

Список поддерживаемых языков приведен в таблице.

Код языка (значение lang) Язык
en Английский
ru Русский
es Испанский
pt Португальский
uk Украинский
vi Вьетнамский
fr Французский
id Индонезийский
ar Арабский
ja Японский
tr Турецкий
de Немецкий
zh Китайский
fil Филиппинский
pl Польский
th Тайский
it Итальянский
nl Нидерландский
sk Словацкий
bg Болгарский
ro Румынский
hu Венгерский
ko Корейский
cs Чешский
az Азербайджанский
fa Персидский (Фарси)
bn Бенгальский
el Греческий
lt Литовский
lv Латышский
sv Шведский
sr Сербский
hr Хорватский
he Иврит
hi Хинди
nb Норвежский
sl Словенский
da Датский
uz Узбекский
fi Финский
ca Каталонский
ka Грузинский
ms Малайский
te Телугу
et Эстонский
ml Малаялам
be Белорусский
kk Казахский
mr Маратхи
ne Непальский
my Бирманский
bs Боснийский
hy Армянский
mk Македонский
pa Панджаби

Обработка ошибок

Очень важно правильно обрабатывать ошибки в вашем коде, чтобы избежать блокировки вашего аккаунта и остановки предоставления сервиса.

Посмотрите отладочный метод доступный в нашем API. Он может помочь вам определить причину возникновения ошибки.

Обычно, если при обработке вашего запроса возникла ошибка или запрос сформирован некорректно, сервер вернёт код ошибки.
Ниже вы найдете таблицы со списком возможных кодов ошибки:

Ошибки, как и ответы на капчи, возвращаются в виде простого текста, либо в формате JSON, если вы используете параметр json=1.

Вы можете получить список всех ошибок, которые возвращает in.php, отправив вот такой запрос.

В очень редких случаях сервер может вернуть HTML-страницу с ошибкой 500 или 502 — пожалуйста, имейте это в виду и обрабатывайте эту ситуацию корректно.
Если вы получили что-либо, не похожее на ответ ли код ошибки, подождите 5 секунд и отправьте запрос повторно.

Ошибки in.php

Код ошибки Описание Действие
ERROR_WRONG_USER_KEY Вы указали значение параметра key в неверном формате, ключ должен содержать 32 символа. Прекратите отправку запросов и проверьте ваш ключ API.
ERROR_KEY_DOES_NOT_EXIST Ключ, который вы указали, не существует. Прекратите отправку запросов и проверьте ваш ключ API.
ERROR_ZERO_BALANCE На вашем счету недостаточно средств. Прекратите отправку запросов. Пополните баланс вашего счета, чтобы продолжить работу с сервисом.
ERROR_PAGEURL Параметр pageurl не задан в запросе. Остановите отправку запросов и измените ваш код, чтобы передавать правильное значение параметра pageurl.
Подробнее.
ERROR_NO_SLOT_AVAILABLE Вы можете получить данную ошибку в двух случаях:
1. Если решаете обычные капчи или ArkoseLabs FunCaptcha: Максимальная ставка, которую вы указали в настройках вашего аккаунта, ниже текущей ставки на сервере.
Вам нужно скорректировать максимальную ставку.
2. Если решаете капчи с токенами: Очередь ваших капч, которые ещё не распределены на работников, слишком длинная. Длина очереди зависит от общего числа капч, которые ждут распределения, и может составлять от 50 до 100 капч.
Если вы получили данную ошибку, не отправляйте ваш запрос повторно сразу же после её получения.
1. Скорректируйте максимальную ставку в настройках вашего аккаунта.
2. Сделайте паузу в 2-3 секунды и попробуйте повторить ваш запрос.
ERROR_ZERO_CAPTCHA_FILESIZE Размер вашего изображения менее 100 байт. Проверьте файл изображения.
ERROR_TOO_BIG_CAPTCHA_FILESIZE Размер вашего изображения более 600 Кбайт либо более 1000 пикселей по любой из сторон. Проверьте файл изображения.
ERROR_WRONG_FILE_EXTENSION Файл имеет неподдерживаемое расширение. Допустимые расширения: jpg, jpeg, gif, png. Проверьте файл изображения.
ERROR_IMAGE_TYPE_NOT_SUPPORTED Сервер не может опознать тип вашего файла. Проверьте файл изображения.
ERROR_UPLOAD Сервер не может прочитать файл из вашего POST-запроса.
Это происходит, если POST-запрос некорректно сформирован в части отправки файла, либо содержит невалидный base64.
Вам нужно исправить ошибку в коде, осуществляющем загрузку файла.
ERROR_IP_NOT_ALLOWED Запрос отправлен с IP-адреса, который не добавлен в список разрешённых вами IP-адресов. Проверьте список разрешённых IP-адресов.
IP_BANNED Ваш IP-адрес заблокирован за чрезмерное количество попыток авторизации с неверным ключем авторизации. Бан будет автоматически снят через 5 минут.
ERROR_BAD_TOKEN_OR_PAGEURL Вы можете получить эту ошибку, если отправляете нам reCAPTCHA V2. Ошибка возвращается если вы прислали невалидную пару значений googlekey и pageurl. Обычно так бывает, если reCAPTCHA подгружается в iframe с другого домена или поддомена. Внимательно посмотрите на код страницы и найдите правильные значения googlekey и pageurl.
ERROR_GOOGLEKEY Вы можете получить эту ошибку, если отправляете нам reCAPTCHA V2. Ошибка возвращается если sitekey в вашем запросе пустой или имеет некорректный формат. Проверьте ваш код, отвечающий за поиск sitekey и отправку запроса к нашему API.
ERROR_PROXY_FORMAT Вы используете некорректный формат прокси при отправке запроса к in.php Скорректируйте формат прокси в соответствии с описанием в разделе Работа с прокси.
ERROR_WRONG_GOOGLEKEY Параметр googlekey отсутствует в вашем запросе. Проверьте ваш код, отвечающий за поиск sitekey и отправку запроса к нашему API.
ERROR_CAPTCHAIMAGE_BLOCKED Вы отправили изображение, которые помечено в нашей базе данных как нераспознаваемое.
Обычно это происходит, если сайт, на котором вы решаете капчу, прекратил отдавать вам капчу и вместо этого выдает изображение с информацией о блокировке.
Попробуйте обойти ограничения этого сайта.
TOO_MANY_BAD_IMAGES Вы присылаете слишком много изображений, которые невозможно распознать Убедитесь что ваши последние капчи отображатся и читаемы, а также проверьте нераспознаваемые капчи которые мы для вас сохранили. Исправьте ваш софт для того чтобы отправлять изображения правильно.
MAX_USER_TURN Вы делаете больше 60 обращений к in.php в течение 3 секунд.
Ваш ключ API заблокирован на 10 секунд. Блокировка будет снята автоматически.
Увеличьте тайм-аут между запросами к in.php до 100 мс.
ERROR: NNNN Где NNNN — номер ошибки.
Вы превысили лимит запросов и ваш аккаунт временно заблокирован.
Вам необходимо установить правильные тайм-ауты. Больше информации в главе Лимиты запросов.
ERROR_BAD_PARAMETERS Код ошибки возвращается если в вашем запросе отсутствуют обязательные параметры или значения параметров имеют некорректный формат. А также, если у вас одновременно включен режим SandBox и режим 100% распознавания.
Например, вы присылаете reCAPTCHA в виде картинок без инструкции для работников. Или же присылаете некорректные cookies при решении reCAPTCHA V2 или TikTok
Проверьте что ваш запрос содержит все необходимые параметры и они имеют правильный формат.
Используйте режим отладки для проверки параметров, которые нам отправляете.
ERROR_BAD_PROXY Вы можете получить эту ошибку, если ваш прокси-сервер был помечен ПЛОХИМ, т.к. нам не удалось к нему подключиться. Используйте другой прокси-сервер в своих запросах.

Ошибки res.php

Код ошибки Описание Действие
CAPCHA_NOT_READY Ваша капча ещё не решена. Подождите 5 секунд и повторите ваш запрос.
ERROR_CAPTCHA_UNSOLVABLE Мы не можем решить вашу капчу — три наших работника не смогли её решить, либо мы не получили ответ в течение 90 секунд.
Мы не спишем с вас деньги за этот запрос.
Вы можете попробовать отправить капчу ещё раз.
ERROR_WRONG_USER_KEY Вы указали значение параметра key в неверном формате, ключ должен содержать 32 символа. Прекратите отправку запросов и проверьте ваш ключ API.
ERROR_KEY_DOES_NOT_EXIST Ключ, который вы указали, не существует. Прекратите отправку запросов и проверьте ваш ключ API.
ERROR_WRONG_ID_FORMAT Вы отправили ID капчи в неправильном формате. ID состоит только из цифр. Проверьте ID вашей капчи или код, который отвечает за получение и отправку ID.
ERROR_WRONG_CAPTCHA_ID Вы отправили неверный ID капчи. Проверьте ID вашей капчи или код, который отвечает за получение и отправку ID.
ERROR_BAD_DUPLICATES Ошибка возвращается, если вы используете функцию 100% распознавания. Ошибка означает, что мы достигли максимального числа попыток, но требуемое количество совпадений достигнуто не было. Вы можете попробовать отправить вашу капчу ещё раз.
ERROR_REPORT_NOT_RECORDED Ошибка возвращается при отправке жалобы на неверный ответ если вы уже пожаловались на большое количество верно решённых капч (более 40%). Или если прошло более 15 минут с момента отправки капчи на решение. Убедитесь, что вы отправляете жалобы только в случае неправильного решения.
ERROR_DUPLICATE_REPORT Ошибка возвращается при отправке отчетов если вы повторно отправляете отчет на одну и ту же капчу. Убедитесь, что вы отправляете отчет на каждую капчу только один раз.
ERROR: NNNN Где NNNN — номер ошибки.
Вы превысили лимит запросов и ваш аккаунт временно заблокирован.
Вам необходимо установить правильные тайм-ауты. Больше информации в главе Лимиты запросов.
ERROR_IP_ADDRES Ошибка возвращается при добавлении домена или IP для pingback (callback).
Это происходит, если вы отправляете запрос на добавление IP или домена с IP адреса, не совпадающего с вашим IP или доменом для pingback.
Отправьте запрос с того же IP адреса, на который хотите получать pingback.
ERROR_TOKEN_EXPIRED Вы можете получить эту ошибку, если решаете капчу Geetest.
Этот код ошибки означает, что истек срок действия значения challenge из вашего запроса.
Попробуйте отправить запрос еще раз. Если вы всегда получаете эту ошибку, значит мы не можем решить Geetest капчу на этом сайте.
ERROR_EMPTY_ACTION Параметр action не был передан или передан без значения. Добавьте в запрос нужный параметр и значение, например, get или getbalance.
ERROR_PROXY_CONNECTION_FAILED Вы можете получить эту ошибку, если нам не удалось загрузить капчу через ваш прокси-сервер. Этот прокси будет помечен ПЛОХИМ и мы не будем принимать запросы с ним в течении 10 минут. А in.php будет возвращать ошибку ERROR_BAD_PROXY при использовании этого прокси. Используйте другой прокси-сервер в своих запросах.

Отладка

Иногда бывает сложно понять, почему наш API возвращает код ошибки в ответ на ваш запрос, который выглядит корректным.

В нашем API доступен метод, который может помочь вам определить причину возникновения ошибки, показав вам что именно мы получили от вас в запросе.

Метод может использоваться как с in.php так и с res.php с любым запросом.

Добавьте параметр debug_dump=1 к вашему запросу и наш сервер вернет дамп вашего запроса, содержащий все параметры, которые мы от вас получили.

Пример запроса:

http://2captcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=userrecaptcha&googlekey=6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-&json=1&header_acao=1&pageurl=http://mysite.com/page/with/recaptcha/&pingback=http://1.2.3.4/pingback_handler/&debug_dump=1

Пример ответа:

array(8) {
["key"]=>
string(32) "1abc234de56fab7c89012d34e56fa7b8"
["method"]=>
string(13) "userrecaptcha"
["googlekey"]=>
string(40) "6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-"
["json"]=>
string(1) "1"
["header_acao"]=>
string(1) "1"
["pageurl"]=>
string(38) "http://mysite.com/page/with/recaptcha/"
["pingback"]=>
string(32) "http://1.2.3.4/pingback_handler/"
["debug_dump"]=>
string(1) "1"
}
array(0) {
}
array(0) {
}
{"status":0,"request":"ERROR_KEY_DOES_NOT_EXIST"} 

С помощью этого метода можно легко отловить случаи, когда ваш запрос содержит неверные данные или какой-либо из обязательных параметров отсутствует.

Лимиты запросов

Пожалуйста, помните о том, что каждый ваш запрос к нашему API генерирует множество запросов к нашим БД. Поэтому мы просим вас устанавливать правильные тайм-ауты для ваших запросов, а также корректно обрабатывать ошибки в случаях, если сервер возвращает любой вид ошибки или что-либо отличное от ответа или кода ошибки (например, HTML-страницу с ошибкой).

Например:

  • Если сервер вернул ERROR_NO_SLOT_AVAILABLE — подождите 5 секунд прежде чем отправлять ваш запрос ещё раз.
  • Если сервер вернул ERROR_ZERO_BALANCE — подождите 60 секунд.
  • После загрузки капчи подождите как минимум 5 секунд (15-20 для recaptcha) и только потом запрашивайте ответ.
  • Если капча не решена, отправляйте повторный запрос не ранее чем через 5 секунд.

Если задержки в вашем ПО настроены некорректно, ваш аккаунт или IP-адрес будет временно заблокирован и сервер вернёт числовой код ошибки. По истечени времени блокировки ваш аккаунт будет автоматически разблокирован. Список кодов ошибок приведен в таблице ниже.

Коды ошибок, возвращаемые при установке ограничений для учётной записи

Код ошибки Время блокировки Причина блокировки
ERROR: 1001 10 минут Вы получили 120 ответов ERROR_NO_SLOT_AVAILABLE за одну минуту из-за того, что ваша максимальная ставка ниже, чем текущая ставка на сервере.
ERROR: 1002 5 минут Вы получили 120 ответов ERROR_ZERO_BALANCE за одну минуту из-за того, что на вашем счету недостаточно средств.
ERROR: 1003 30 секунд Вы получаете ответ ERROR_NO_SLOT_AVAILABLE из-за того, что на сервере скопилась большая очередь из ваших капч, которые не распределены работникам.
Вы получили в три раза больше ошибок, чем число капч, которое вы загрузили (но не менее 120 ошибок). Увеличьте тайм-аут, если вы получаете этот код ошибки.
ERROR: 1004 10 минут Ваш IP-адрес заблокирован, потому что мы получили 5 запросов с некорректным ключем API с вашего IP.
ERROR: 1005 5 минут Вы делаете слишком много запросов к res.php для получения ответов.
При блокировке аккаунта используется следующее правило: R > C * 20 + 1200
Где:
R — число ваших запросов
C — число капч, которые вы загрузили
Это означает, что вы не должны обращаться к res.php за ответом для каждой капчи более 20 раз.
Пожалуйста, помните, что запрос баланса к res.php также учитывается!
Чтобы получать ваши ответы быстрее и без риска быть заблокированным, вы можете использовать метод pingback, и мы отправим вам ответ, как только решим вашу капчу.
MAX_USER_TURN 10 секунд Вы делаете больше 60 обращений к in.php в течение 3 секунд. Увеличьте тайм-аут между запросами к in.php до 100 мс.

Работа с прокси

Прокси могут быть использованы для решения большинства видов javascript-капчи:

Прокси позволяют решать капчу с того же IP-адреса, с которого вы обращаетесь к сайту, защищенному капчей.
В большинстве случаев использовать прокси не обязательно. Но, для некоторых видов защиты сайтов вы должны их использовать. Например: страницы защиты Cloudflare и Datadome требуют совпадения IP-адресов.
Кроме того, хорошие прокси с регулярной их ротацией могут повысить скорость и процент успешных решений для Arkose Labs FunCaptcha.

Прокси не поддерживаются при решении reCAPTCHA V3 and Enterprise V3 так как использование прокси в этом случае сильно снижает score полученных токенов.

Если вы отправляете нам данные прокси-сервера, мы проверяем его доступность, пробуя открыть сайт через ваш прокси. Если открыть сайт не получается, мы не будем использовать ваш прокси-сервер.
Если ваш прокси проходит проверку, он будет использован для загрузки reCAPTCHA при её решении.

Мы имеем собственные прокси, которые можем вам предложить. Покупайте резидентные прокси, чтобы избежать ограничений и блокировок. Быстрый старт.

Мы поддерживаем следующие виды прокси: SOCKS4, SOCKS5, HTTP, HTTPS с аутенификацией по IP или по логину и паролю.

Если ваш прокси использует авторизацию по IP-адресу, вам необходимо добавить наш IP в список разрешённых адресов:
138.201.188.166

Укажите адрес и порт вашего прокси в качестве значения параметра proxy
Укажите тип вашего прокси в параметре proxytype.

Если ваш прокси использует аутентификацию по логину и паролю, укажите их в параметре proxy.

Параметры POST-запроса для прокси

Параметр POST Тип Обязателен Описание
proxy Строка Нет При аутенификации по IP: IP_адрес:ПОРТ
Пример: proxy=123.123.123.123:3128
При аутенификации по логину и паролю: логин:пароль@IP_адрес:ПОРТ
Пример: proxy=proxyuser:strongPassword@123.123.123.123:3128
proxytype Строка Нет Тип вашего прокси: HTTP, HTTPS, SOCKS4, SOCKS5.
Пример: proxytype=SOCKS4

Параметр cookies

Наш API обеспечивает расширенную поддержку файлов cookies для reCAPTCHA V2 и reCAPTCHA V2 Enterprise.

Вы можете предоставить свои cookies, используя приведенный ниже формат в качестве значения параметра json_cookies. Мы установим переданные вами cookies в браузере нашего работника.

После успешного решения капчи, мы вернем все файлы cookies, установленные для доменов: google.com и для домена вашего целевого веб-сайта из значения параметра pageurl.

Вы должны использовать параметр json=1 в своем запросе к res.php, для получения cookies.

Cookies формат:

{
"json_cookies": [
{
    "name": "my-cookie-name-1",
    "value": "my-cookie-val-1",
    "domain": "example.com",
    "hostOnly": true,
    "path": "\/",
    "secure": true,
    "httpOnly": false,
    "session": false,
    "expirationDate": 1665434653,
    "sameSite": "strict"
},
{
    "name": "my-cookie-name-2",
    "value": "my-cookie-val-2",
    "domain": ".google.com",
    "hostOnly": false,
    "path": "\/",
    "secure": true,
    "httpOnly": false,
    "session": false,
    "expirationDate": 1668015805.8028,
    "sameSite": "no_restriction"
}
]
}

Обязательные свойства для каждой передаваемой cookie:

  • domain (String) - домен для cookie
  • name (String) - имя cookie
  • value (String) - значение cookie
  • secure (Boolean) - должны ли мы установить атрибут secure?

Автоматический возврат ответа (pingback)

Мы предоставляем метод pingback (callback), который позволяет автоматически получить ответ на вашу капчу, когда она решена.
Это дает вам возможность получать ответы, не делая запросов к http://2captcha.com/res.php, а также избежать блокировки вашего аккаунта из-за превышения лимита запросов.

Для получения ответов в автоматическом режиме вам необходимо:

  1. Зарегистрировать ваш домен или IP, на который будут отправляться ответы.
  2. Передать ваш URL для отправки ответа в параметре pingback вашего запроса к http://2captcha.com/in.php.
  3. Обработать запрос HTTP POST, который приходит от нашего сервера на ваш URL. Данные в запросе приходят как URLencoded FormData (application/x-www-form-urlencoded). Запрос содержит два параметра: id (ID вашей капчи) и code - ответ на нее.

Incoming pingback request example:

id=51555263943&code=ANSWER

Вы можете использовать любой URL на зарегистрированом домене или IP и URL может включать ваши собственные параметры.
Но, тут есть одно ограничение: если вы отправляете капчу GET-запросом, а ваш URL для pingback включает несколько параметров, например http://mysite.com/pingback/?myId=1&myCat=2&something_else=test то сохранится только первый из них ?myId=1. Чтобы этого избежать, используйте POST-запрос с multipart/form-data.

Управление доменами и IP

Вы можете управлять вашими зарегистрированными доменами и IP на странице управления адресами pingback или с помощью HTTP GET запросов к http://2captcha.com/res.php
Параметры запросов описаны в таблице ниже.

Важно: Домен или IP может быть добавлен только с того же самого IP адреса, на который он указывает.

Список параметров GET запросов к http://2captcha.com/res.php

Параметр GET Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да add_pingback — зарегистрировать новый URL
get_pingback — получить список зарегистрированных URL
del_pingback — удалить URL
addr Строка - Ваш URL для отправки ответа.
Например: http://mysite.com/pingback/url/ или 123.123.123.123/pingback/url/
Вы можете использовать значение all совместно с del_pingback для удаления всех URL.
json Число
По умолчанию: 0
Нет 0 — сервер отправит ответ в виде простого текста
1 — сервер отправит ответ в формате JSON

Примеры запросов

Добавить новый IP или домен:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=add_pingback&addr=http://mysite.com/test.php

Получить список зарегистрированных IP или доменов:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get_pingback&json=1

Удалить всех зарегистрированные IP или домены:

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=del_pingback&addr=all

Отчет об ответах

Отправлять отчеты об ответах не обязательно для решения капчи. Но это может помочь вам уменьшить стоитмость решения и повысить точность. Мы описали, почему важно отправлять отчеты в нашем блоге.

Мы рекомендуем сообщать как о неправильных ответах, так и о правильных.

Если ответ не был принят сайтом, используйте метод reportbad чтобы сообщить нам об этом. Мы перепроверим ответ и вернем деньги за неправильный ответ на ваш баланс.

Если же ответ был успешно принят - используйте метод reportgood. Это позволит нам повысить точность для будущих запросов.

Важно: не пытайтесь отправлять отчеты reportbad на верные ответы. Если вы будете это делать, то мы заблокируем вам возможность использования этого метода..

Отчеты для капч с токеном, таких как reCAPTCHA V2/V3, KeyCaptcha, FunCaptcha не видны в интерфейсе на сайте. Но мы собираем статистику по всем таким отчетам для повышения качества решений.

Отчёты о некорректных ответах не работают, если включена опция 100% распознавания.

Примеры запросов:

ReportBAD

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=reportbad&id=2122988149

ReportGOOD

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=reportgood&id=2122988149

Список параметров GET запроса к http://2captcha.com/res.php

Параметр GET Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
reportgood — сообщить о верном ответе
reportbad — сообщить о неверном ответе
id Строка Да ID капчи
json Число
По умолчанию: 0
Нет 0 — сервер отправит ответ в виде простого текста
1 — сервер отправит ответ в формате JSON

В ответ на ваш запрос сервер ответит OK_REPORT_RECORDED или вернёт код ошибки, если что-то не так.

Если вы получаете слишком много неверных ответов, вы можете указать дополнительные параметры вашей капчи, чтобы помочь нашим работникам решить её правильно.

Дополнительные методы

Вы можете получить дополнительную информацию от нашего API, например, баланс вашего счета.
Список дополнительных параметров приведён ниже.

Список параметров GET запросов для http://2captcha.com/res.php

Параметр GET Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да getbalance — получить ваш баланс
get — получить ответы на множество капч с помощью одного запроса. Требует указания параметра ids.
get2 — получить стоимость решения отправленной капчи и ответ на нее. Требует указания ID капчи в параметре id.
ids Строка - ID ваших капч, разделенные запятыми.
id Строка - ID вашей капчи.
json Число
По умолчанию: 0
Нет 0 — сервер отправит ответ в виде простого текста
1 — сервер отправит ответ в формате JSON

Пример запроса (простой текст):

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get2&id=2122988149

Пример ответа (простой текст):

OK|ABCDE|0.00085

Пример запроса (JSON):

http://2captcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get2&id=2122988149&json=1

Пример ответа (JSON):

{
"status":1,
"request":"ABCDE",
"price":"0.00085"
}

Примеры кода

Примеры кода, а также библиотеки и модули для интеграции с нашим API вы можете найти в репозитории на GitHub:

Еще больше примеров кода можно всегда найти поиском rucaptcha OR 2captcha по GitHub. Если код сделан для 2captcha.com, просто замените URL на rucaptcha.com, API абсолютно идентичен.

Важно: в примерах кода могут использоваться URL серверов 2captcha.com, вам необходимо изменить их на rucaptcha.com. Вы не сможете получить ответ на вашу капчу, если отправили её на 2captcha.com, а ответ запрашиваете у rucaptcha.com.

Песочница (Sandbox)

Мы предоставляем режим песочницы (sandbox), в котором вы можете видеть и самостоятельно решать ваши капчи. Он может помочь вам в тестировании вашего ПО. Не забудьте его отключить, если вы хотите, чтобы капчи решались нашими работниками.
Вы можете включить этот режим в настройках аккаунта.

При включении режима Sandbox отправляемые на наш сервер капчи не будут распределены работникам.

Обычная капча будет доступна в интерфейсе работника

Капчи с токенами, такие как reCAPTCHA V2, Geetest, и т.п. доступны в приложении работника

Важно: для использования приложения работника вам необходимо переключиться в интейрфейс работника с помощью переключателя в правом верхнем углу страницы. Затем скопировать ключ работника и использовать его в приложении.

reCAPTCHA V3 не поддерживается в режиме SandBox и будет отдана на решение работникам.