SOLVECAPTCHA.com API

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

Введение

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

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

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

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

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 (ранее это не требовалось). Отправка информации о прокси не обязательная, но мы рекомендуем это делать.

Тарифы

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

Вид капчи/метод Цена за 1000, руб. Описание
Обычная капча
Текстовая капча
18-44 Тариф гибкий и зависит от текущей загруженности сервиса. Вы можете ограничить максимальную ставку в ">настройках вашего аккаунта.
Большая капча 50 Большая капча — это изображение, сумма ширины и высоты которого превышает 400 пикселей. Метод тот же, что и для обычной капчи.
ReCaptcha V2 160 Тариф применяется для ReCaptcha V2 от Google, решаемой с помощью токена.
ReCaptcha V2 (старый метод)
ClickCaptcha
70 Тариф применяется для любой капчи, где нужно кликать на изображения.
RotateCaptcha
FunCaptcha
35 Тариф применяется для любой капчи, где нужно вращать изображение.
FunCaptcha с токеном 160 Тариф применяется для FunCaptcha, решённой с токеном.
KeyCaptcha 160 Тариф применяется для KeyCaptcha.

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

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

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

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

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

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

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

<form method="post" action="http://api.solvecaptcha.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://api.solvecaptcha.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://api.solvecaptcha.com/res.php
с персональным ключом API и полученным ранее идентификатором капчи, чтобы получить результат. Список параметров для запроса приведен в таблице ниже.

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

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

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

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

POST параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post — говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 — говорит о том, что вы отправляете изображение в формате 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 — капча содержит только латиницу
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Нет Текст будет показан работнику, чтобы помочь ему правильно решить капчу.
Например: введите только красные буквы.
imginstructions Изображение
Макс. 100x100px, 25 Кбайт
Нет Изображение будет показано работнику, чтобы помочь ему решить капчу правильно.
Сервер принимает изображения в формате 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://api.solvecaptcha.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://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

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

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

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

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

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

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

<body>
<form method="post" action="http://api.solvecaptcha.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://api.solvecaptcha.com/res.php с персональным ключом API и полученным ранее идентификатором капчи, чтобы получить результат. Список параметров для запроса приведен в таблице ниже.

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

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

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

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

POST параметр Тип Обязателен Описание
key Строка Да your API key
language Число
По умолчанию: 0
Нет 0 — не определено
1 — капча содержит только кириллицу
2 — капча содержит только латиницу
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://api.solvecaptcha.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://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

ReCaptcha V2

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

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

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

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

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

  4. Отправьте запрос HTTP GET или POST к нашему API:
    http://api.solvecaptcha.com/in.php
    с персональным ключом API и параметром method, соответствующим виду вашей капчи, в данном случае — userrecaptcha, а также укажите значение, которые вы скопировали ранее в параметре googlekey. Укажите полный URL страницы, на которой вы хотите решить ReCaptcha в параметре pageurl.
    Отправка данных прокси на текущий момент не обязательна, но мы всё же рекомендуем это делать.
    Полный список параметров для запроса можно найти в таблице ниже.

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

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

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

  6. Подождите 15-20 секунд и отправьте HTTP GET запрос к нашему API: http://api.solvecaptcha.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 секунд.

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

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

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

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

  9. Поздравляем, вы решили ReCaptcha!

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] и т.д.

В конце концов вам нужно запустить 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 на токен, полученный от нашего сервера:
  2. document.getElementById("g-recaptcha-response").innerHTML="TOKEN_FROM_SOLVECAPTCHA";
    
  3. Выполните действие, которое должно выполняться на сайте после того, как вы решили reCaptcha.

  4. Чаще всего на сайте нужно отправить форму. От вас потребуется идентифицировать эту форму по 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();
    
  5. Ура! Вы сделали это всего двумя строчками кода.

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

  1. Вырежьте из тела документа div, содержащий саму рекапчу.
  2. <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>
    
  3. Вырежьте полностью блок:
  4. <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>
    
  5. На место вырезанного блока поставьте следующий код:
  6. <input type="submit">
    <textarea name="g-recaptcha-response">%g-recaptcha-response%</textarea>
    
    В котором %g-recaptcha-response% — токен, который вы получили от нашего сервера.
  7. У вас появится кнопка “Submit query”, при нажатии на неё вы отправите на сайт, где установлена капча, все данные формы и g-recaptcha-response.

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

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да userrecaptcha — определяет, что вы решаете ReCaptcha V2 с помощью нового метода
googlekey Строка Да Значение параметра k или data-sitekey, которое вы нашли в коде страницы
pageurl Строка Да Полный URL страницы, на которой вы решаете ReCaptcha V2
invisible Число
По умолчанию: 0
Нет 1 — говорит нам, что на сайте невидимая ReCaptcha. 0 — обычная ReCaptcha.
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://api.solvecaptcha.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://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

ReCaptcha V2 (устаревший метод)

Решение ReCaptcha V2 с помощью устаревшего метода — более сложный процесс, потому что он требует эмулировать браузер, кроме того, он не даёт 100% точности. Поэтому мы рекомендуем испольовать новый метод. Но устаревший метод дешевле и мы всё ещё его поддерживаем.

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

Также вы можете решать ReCaptcha V2 с помощью метода для ClickCaptcha method если он вам больше подходит.

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

Чтобы решить ReCaptcha V2 вам нужно:

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

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

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

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

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

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

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

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

    Нумерация идет от 1 слева направо и сверху вниз. Если в сетке более 9 клеток, то используются буквы a-g для клеток 10-16.

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

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

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

Метод 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://api.solvecaptcha.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://api.solvecaptcha.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://api.solvecaptcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post — говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 — говорит о том, что вы отправляете изображение в формате base64
recaptcha Число Да 1 — говорит о том, что вы отправляете ReCaptcha в виде изображения
canvas Число
По умолчанию: 0
Нет 1 — говорит о том, что вы хотите использовать метод canvas
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Да Текст с инструкцией, какие изображения выбирать.
Например: выберите все изображения с деревьями.
Не обязателен если вы отправляете инструкцию в виде изображения с помощью параметраimginstructions.
imginstructions Изображение
Максимум 100x100 пикселей, 25 Кбайт
Да Рисунок с инструкцией, какие изображения выбирать.
Не обязателен если вы отправляете инструкцию в виде текста с помощью параметра textinstructions.
recaptcharows Число Нет Количество строк в сетке.
recaptchacols Число Нет Количество колонок в сетке.
can_no_answer Число
По умолчанию: 0
Нет 0 — не определено
1 — возможно, что изображение не содержит картинок, которые удовлетворяют инструкции.
Устанавливайте значение 1 только если на изображении может не быть картинок с правильным ответом.
Мы покажем работнику кнопку "Нет подходящих картинок", а вы получите в ответе No_matching_images.
language Число
По умолчанию: 0
Нет 0 — не определено
1 — капча содержит только кириллицу
2 — капча содержит только латиницу
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 100 Кбайт.
Максимальный размер изображения для imginstructions 25 Кбайт.

Список параметров для GET-запроса к http://api.solvecaptcha.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://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

ReCaptcha V1

ReCaptcha V1 устарела и была заменена на ReCaptcha V2, но всё ещё встречается на некоторых сайтах.

Она может иметь различные темы оформления и выглядит примерно так:

Для решения ReCaptcha V1 вам требуется:

  1. Загрузить страницу по ссылке src из элемента noscript и найти элемент с id recaptcha_challenge_field в исходном коде страницы.

  2. Получить изображение по ссылке: www.google.com/recaptcha/api/image?c=recaptcha_challenge_field.

  3. Отправить изображение на наш сервер с помощью HTTP POST-запроса так же, как в случае с обычной капчей.

Последующие шаги алгоритма решения капчи не отличается от решения обычной капчи.

ClickCaptcha

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

Чтобы решить ClickCaptcha нужно:

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

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

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

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

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

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

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

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

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

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

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

<form method="post" action="http://api.solvecaptcha.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://api.solvecaptcha.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://api.solvecaptcha.com/in.php

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да post — говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 — говорит о том, что вы отправляете изображение в формате base64
coordinatescaptcha Число Да 1 — указывает, что вы отправляете ClickCaptcha
textinstructions Строка
Максимум 140 символов
Кодировка: UTF-8
Да Текст с инструкцией по решению ClickCaptcha.
Например: выберите всех привидений
Необязателен, если инструкция уже есть на изображении.
language Число
По умолчанию: 0
Нет 0 — не определено
1 — капча содержит только кириллицу
2 — капча содержит только латиницу
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://api.solvecaptcha.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://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

RotateCaptcha

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

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

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

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

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

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

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

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

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

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

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

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

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

<form method="post" action="http://api.solvecaptcha.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_1"><br>
<input type="file" name="file_2"><br>
<input type="file" name="file_3"><br>
<input type="submit" value="Загрузить и получить ID">
</form>

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

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

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да Метод решения капчи.
rotatecaptcha — указывает на то, что вы отправляете RotateCaptcha
angle Число
По умолчанию: 40
Нет Угол поворота за один шаг в градусах.
Если не указано, используется значение по умолчанию для FunCaptcha: 40 градусов.
file_1
file_2
..
file_n
Изображение Да Изображения, которые нужно повернуть в формате base64 или multipart.
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://api.solvecaptcha.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://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

FunCaptcha с токеном

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

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

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

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

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

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

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

  4. Подождите 15-20 секунд и отправьте HTTP GET запрос к нашему API: http://api.solvecaptcha.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) на полученый токен.

    Важно: если вы используете параметр nojs=1, то API вернёт лишь часть токена в таком виде: 3084f4a302b176cd7.96368058|r=ap-southeast-1 и вам нужно собрать весь токен целиком самостоятельно, используя оригинальное значение fc-token.

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

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

Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да funcaptcha — указывает, что вы решаете FunCaptcha с помощью токена
publickey Строка Да Значение параметра pk или data-pkey которое вы нашли в коде страницы
pageurl Строка Да Полный URL страницы, на которой вы решаете FunCaptcha
nojs Число
По умолчанию: 0
Нет Говорит нам решать FunCaptcha с выключенным javascript. Может быть использован в случае, если нормальный метод по какой-то причине не срабатывает.
Важно: имейте в виду, что в этом случае мы вернём только часть токена. Выше описано, что делать в этом случае.
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://api.solvecaptcha.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://api.solvecaptcha.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://api.solvecaptcha.com/in.php указав method равным keycaptcha и передать в запросе соответствующие значения параметров, найденные на предыдущем шаге, а также указать в параметре pageurl полный URL страницы с KeyCaptcha.
    Полный список параметров приведен в таблице ниже.

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

     http://api.solvecaptcha.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://api.solvecaptcha.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://api.solvecaptcha.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% от стоимости каждого такого запроса.

Список параметров GET-запроса к http://api.solvecaptcha.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://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122988149

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

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

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

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

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

Ошибки in.php

Код ошибки Описание Действие
ERROR_WRONG_USER_KEY Вы указали значение параметра key в неверном формате, ключ должен содержать 32 символа. Прекратите отправку запросов и проверьте ваш ключ API.
ERROR_KEY_DOES_NOT_EXIST Ключ, который вы указали, не существует. Прекратите отправку запросов и проверьте ваш ключ API.
ERROR_ZERO_BALANCE На вашем счету недостаточно средств. Прекратите отправку запросов. Пополните баланс вашего счета, чтобы продолжить работу с сервисом.
ERROR_PAGEURL Параметр pagurl не задан в запросе. Остановите отправку запросов и измените ваш код, чтобы передавать правильное значение параметра pagurl.
Подробнее.
ERROR_NO_SLOT_AVAILABLE Вы можете получить данную ошибку в двух случаях:
1. Очередь ваших капч, которые ещё не распределены на работников, слишком длинная. Длина очереди зависит от общего числа капч, которые ждут распределения, и может иметь значения от 50 до 100 капч.
2. Максимальная ставка, которую вы указали в настройках вашего аккаунта ниже текущей ставки на сервере.
Вы можете повысить вашу максимальную ставку.
Если вы получили данную ошибку, не отправляйте ваш запрос повторно сразу же после её получения. Сделайте паузу в 2-3 секунды и попробуйте повторить ваш запрос.
ERROR_ZERO_CAPTCHA_FILESIZE Размер вашего изображения менее 100 байт. Проверьте файл изображения.
ERROR_TOO_BIG_CAPTCHA_FILESIZE Размер вашего изображения более 100 Кбайт. Проверьте файл изображения.
ERROR_WRONG_FILE_EXTENSION Файл имеет неподдерживаемое расширение. Допустимые расширения: jpg, jpeg, gif, png. Проверьте файл изображения.
ERROR_IMAGE_TYPE_NOT_SUPPORTED Сервер не может опознать тип вашего файла. Проверьте файл изображения.
ERROR_IP_NOT_ALLOWED Запрос отправлен с IP-адреса, который не добавлен в список разрешённых вами IP-адресов. Проверьте список разрешённых IP-адресов.
IP_BANNED Ваш IP-адрес заблокирован за чрезмерное количество попыток авторизации с неверным ключем авторизации. Для разблокировки обратитесь в службу технической поддержки.
ERROR_CAPTCHAIMAGE_BLOCKED Вы отправили изображение, которые помечено в нашей базе данных как нераспознаваемое.
Обычно это происходит, если сайт, на котором вы решаете капчу, прекратил отдавать вам капчу и вместо этого выдает изображение с информацией о блокировке.
Попробуйте обойти ограничения этого сайта.
MAX_USER_TURN Вы делаете больше 60 обращений к in.php в течение 3 секунд. Увеличьте тайм-аут между запросами к in.php до 100 мс.
ERROR: NNNN Где NNNN — номер ошибки.
Вы превысили лимит запросов и ваш аккаунт временно заблокирован.
Вам необходимо установить правильные тайм-ауты. Больше информации в главе Лимиты запросов.

Ошибки 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% распознавания. Ошибка означает, что мы достигли максимального числа попыток, но требуемое количество совпадений достигнуто не было. Вы можете попробовать отправить вашу капчу ещё раз.
REPORT_NOT_RECORDED Ошибка возвращается при отправке жалобы на неверный ответ если вы уже пожаловались на большое количество верно решённых капч. Убедитесь, что вы отправляете жалобы только в случае неправильного решения.
ERROR: NNNN Где NNNN — номер ошибки.
Вы превысили лимит запросов и ваш аккаунт временно заблокирован.
Вам необходимо установить правильные тайм-ауты. Больше информации в главе Лимиты запросов.

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

Пожалуйста, помните о том, что каждый ваш запрос к нашему 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, и мы отправим вам ответ, как только решим вашу капчу.

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

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

Если вы отправляете нам данные прокси-сервера, мы проверяем его доступность, пробуя открыть сайт через ваш прокси. Если открыть сайт не получается, мы не будем использовать ваш прокси-сервер.
Если ваш прокси проходит проверку, он будет использован для загрузки 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

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

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

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

  1. Зарегистрировать ваш URL, по которому будут отправляться ответы.
  2. Передать ваш зарегистрированный URL в параметре pingback вашего запроса к http://api.solvecaptcha.com/in.php.
  3. Обработать запрос HTTP POST, который приходит от нашего сервера на ваш URL. Запрос содержит ID вашей капчи и ответ.

Управление URL

Вы можете управлять вашими URL с помощью HTTP GET запросов к http://api.solvecaptcha.com/res.php
Параметры запросов описаны в таблице ниже.

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

Список параметров GET запросов к http://api.solvecaptcha.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

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

Добавить новый URL:

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

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

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

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

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

Жалобы на неправильные ответы

Если ваша капча решена неправильно, вы можете пожаловаться, отправив запрос HTTP GET к нашему API http://api.solvecaptcha.com/res.php указав значение параметра action равным reportbad и передав ID неправильно решённой капчи.
Наши модераторы проверят вашу капчу и ответ работника и решат, был он верным или нет.

Если модератор решит, что ответ был неверным, мы вернём деньги на ваш баланс.

Кроме того, ваши жалобы помогают нам блокировать плохих работников, которые делают много ошибок.

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

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

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

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

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

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

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

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

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

Примеры кода

Вы можете найти примеры кода в нашем репозитории на GitHub.

Также вы можете ознакомиться с примерами кода, предоставленными нашими пользователями:

Ещё у нас есть пример формы для iMacros

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

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

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

Важно: мы списываем с вас оплату за капчи, отправленные в этом режиме.

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

Режим Sandbox не поддерживает ReCaptcha V2. При включенном Sandbox вы не увидите ReCaptcha в интерфейсе, она не будет решена кем-либо из работников, а в ответ вы получите ERROR_CAPTCHA_UNSOLVABLE.

Go up