Получить API ключ

Методы

В API есть три POST метода. createTask отправляет капчу на решение. getTaskResult возвращает готовый ответ. getBalance показывает баланс аккаунта. Каждый запрос использует JSON тело с clientKey.

POST /createTask#

Этот метод создает задачу на решение капчи и возвращает её taskId. Стоимость задачи резервируется на балансе и списывается только после успешного решения.

Запрос принимает необязательное поле languagePool верхнего уровня. Оно находится отдельно от объекта task и применяется ко всем типам капчи.

Запрос#

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "RecaptchaV2TaskProxyless",
    "websiteURL": "https://example.com/login",
    "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  "languagePool": "en"
}

languagePool принимает следующие значения:

  • en для пула исполнителей с английским языком
  • ru для пула исполнителей с русским языком

Ответ#

{
  "errorId": 0,
  "taskId": 100
}

Поддерживаемые типы задач#

RecaptchaV2TaskProxyless
RecaptchaV2Task

RecaptchaV3TaskProxyless

RecaptchaV2EnterpriseTaskProxyless
RecaptchaV2EnterpriseTask

TurnstileTaskProxyless
TurnstileTask

YandexSmartCaptchaTaskProxyless
YandexSmartCaptchaTask

GeeTestTaskProxyless
GeeTestTask

TencentTaskProxyless
TencentTask

ImageToTextTask
CoordinatesTask

Типы без суффикса Proxyless используют твой прокси и требуют указания:

  • proxyType
  • proxyAddress
  • proxyPort

Необязательные поля для авторизации прокси:

  • proxyLogin
  • proxyPassword

Для большинства типов капчи с прокси proxyType принимает:

  • http
  • socks4
  • socks5

Yandex SmartCaptcha дополнительно поддерживает:

  • https

reCAPTCHA v2#

Типы:

  • RecaptchaV2TaskProxyless
  • RecaptchaV2Task
Параметр Обязательно Тип Описание
websiteURL да string Полный URL страницы, где находится капча
websiteKey да string Значение атрибута data-sitekey виджета reCAPTCHA
isInvisible нет bool true для невидимой reCAPTCHA
recaptchaDataSValue нет string Значение параметра data-s, используемого на некоторых страницах Google
apiDomain нет string Домен для загрузки reCAPTCHA: google.com или recaptcha.net
userAgent нет string User-Agent, используемый при решении
cookies нет string Куки, связанные с сессией решения
enterprisePayload нет object Дополнительные параметры для reCAPTCHA v2 Enterprise, если они поддерживаются задачей

Для RecaptchaV2Task добавь:

Параметр Обязательно Тип Описание
proxyType да string http, socks4 или socks5
proxyAddress да string IP-адрес или имя хоста прокси
proxyPort да int Порт прокси
proxyLogin нет string Логин для авторизации на прокси
proxyPassword нет string Пароль для авторизации на прокси

Пример задачи#

{
  "type": "RecaptchaV2TaskProxyless",
  "websiteURL": "https://example.com/login",
  "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "isInvisible": false
}

Решение#

Ключ решения:

gRecaptchaResponse

reCAPTCHA v2 Enterprise#

Типы:

  • RecaptchaV2EnterpriseTaskProxyless
  • RecaptchaV2EnterpriseTask

Параметры такие же, как у reCAPTCHA v2.

Для задач Enterprise можно использовать enterprisePayload для передачи дополнительных параметров, специфичных для Enterprise.

Пример задачи#

{
  "type": "RecaptchaV2EnterpriseTaskProxyless",
  "websiteURL": "https://example.com/login",
  "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "enterprisePayload": {
    "s": "data-s-value"
  }
}

Для RecaptchaV2EnterpriseTask добавь параметры прокси:

{
  "type": "RecaptchaV2EnterpriseTask",
  "websiteURL": "https://example.com/login",
  "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "proxyType": "http",
  "proxyAddress": "1.2.3.4",
  "proxyPort": 8080
}

Решение#

Ключ решения:

gRecaptchaResponse

reCAPTCHA v3#

Тип:

RecaptchaV3TaskProxyless

Для reCAPTCHA v3 прокси не требуется.

Параметр Обязательно Тип Описание
websiteURL да string Полный URL страницы с капчей
websiteKey да string Ключ сайта виджета reCAPTCHA v3
minScore да float Требуемый балл: 0.3, 0.7 или 0.9
pageAction нет string Значение параметра action, используемого сайтом
isEnterprise нет bool Установи true для reCAPTCHA v3 Enterprise
apiDomain нет string google.com или recaptcha.net

minScore должен быть одним из:

  • 0.3
  • 0.7
  • 0.9

Пример задачи#

{
  "type": "RecaptchaV3TaskProxyless",
  "websiteURL": "https://example.com/login",
  "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "minScore": 0.3,
  "pageAction": "login",
  "isEnterprise": false
}

Решение#

Ключ решения:

gRecaptchaResponse

Cloudflare Turnstile#

Типы:

  • TurnstileTaskProxyless
  • TurnstileTask
Параметр Обязательно Тип Описание
websiteURL да string Полный URL страницы, где загружен Turnstile
websiteKey да string Ключ сайта Turnstile
action нет string Значение action из вызова turnstile.render
data нет string Значение cData из вызова turnstile.render
pagedata нет string Значение chlPageData из вызова turnstile.render
userAgent нет string User-Agent, используемый при решении

Параметры action, data и pagedata требуются для страниц Cloudflare Challenge, когда страница предоставляет эти значения.

Для TurnstileTask добавь:

Параметр Обязательно Тип Описание
proxyType да string http, socks4 или socks5
proxyAddress да string IP-адрес или имя хоста прокси
proxyPort да int Порт прокси
proxyLogin нет string Логин для авторизации на прокси
proxyPassword нет string Пароль для авторизации на прокси

Пример автономного Turnstile#

{
  "type": "TurnstileTaskProxyless",
  "websiteURL": "https://example.com/login",
  "websiteKey": "0x4AAAAAAAxxxxxxxxxxxxxxxx"
}

Пример Cloudflare Challenge#

{
  "type": "TurnstileTaskProxyless",
  "websiteURL": "https://example.com/",
  "websiteKey": "0x4AAAAAAAxxxxxxxxxxxxxxxx",
  "action": "managed",
  "data": "80001aa1affffc21",
  "pagedata": "3gAFo2l...55NDFPRFE9",
  "userAgent": "Mozilla/5.0 ..."
}

Решение#

Ключ решения:

token

Для страниц Cloudflare Challenge ответ также включает userAgent.


Yandex SmartCaptcha#

Типы:

  • YandexSmartCaptchaTaskProxyless
  • YandexSmartCaptchaTask

Yandex SmartCaptcha поддерживает решение на основе токенов.

Параметр Обязательно Тип Описание
websiteURL да string Полный URL страницы, где загружена капча
websiteKey да string Ключ сайта Yandex SmartCaptcha
userAgent нет string User-Agent, используемый при решении
cookies нет string Куки в формате имя1=значение1, имя2=значение2

Для YandexSmartCaptchaTask добавь:

Параметр Обязательно Тип Описание
proxyType да string http, https, socks4 или socks5
proxyAddress да string IP-адрес или имя хоста прокси
proxyPort да int Порт прокси
proxyLogin нет string Логин для авторизации на прокси
proxyPassword нет string Пароль для авторизации на прокси

Пример задачи#

{
  "type": "YandexSmartCaptchaTaskProxyless",
  "websiteURL": "https://example.com/login",
  "websiteKey": "Y5Lh0ti..."
}

Решение#

Ключ решения:

token

Пример:

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "dV9xNjYyNTU3NjkxO4k9OTQuNVMuMjkuMjM9..."
  }
}

Задачи Yandex SmartCaptcha с изображениями#

Задачи Yandex SmartCaptcha с изображениями используют CoordinatesTask.

Здесь документирован только вариант с выбором объектов.

imgType: smart_captcha
Параметр Обязательно Тип Описание
type да string CoordinatesTask
body да string Основное изображение капчи в Base64
imgType да string smart_captcha
imgInstructions да string Изображение с инструкцией в Base64
comment нет string Текстовая инструкция для исполнителя

Пример задачи#

{
  "type": "CoordinatesTask",
  "body": "BASE64_IMAGE",
  "imgType": "smart_captcha",
  "imgInstructions": "BASE64_INSTRUCTION_IMAGE",
  "comment": "select objects in the order of the instruction"
}

Решение#

Ключ решения:

coordinates

Текст с картинки#

Тип:

ImageToTextTask

Эта задача распознает текст с изображения. Она не требует websiteURL, websiteKey или параметров прокси.

Параметр Обязательно Тип Описание
body да string Изображение в кодировке Base64
phrase нет bool Установи true, если ответ содержит несколько слов
case нет bool Установи true для учета регистра в ответе
numeric нет int Ограничение по типу символов
math нет bool Установи true, если на изображении математическое выражение
minLength нет int Минимальная длина ответа
maxLength нет int Максимальная длина ответа
comment нет string Дополнительная инструкция для исполнителя
imgInstructions нет string Необязательное изображение с инструкцией в Base64

Значения numeric:

  • 0 = не указано
  • 1 = только цифры
  • 2 = только буквы
  • 3 = любые символы, но хотя бы одна цифра
  • 4 = любые символы, но хотя бы одна буква

Пример задачи#

{
  "type": "ImageToTextTask",
  "body": "iVBORw0KGgoAAAANSUhEUgAA...",
  "numeric": 1,
  "minLength": 4,
  "maxLength": 6
}

Решение#

Ключ решения:

text

Пример:

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "text": "aB3fX9"
  }
}

Координаты#

Тип:

CoordinatesTask

Задача возвращает координаты точек для клика по изображению.

Поддерживаемые форматы изображений:

  • JPEG
  • PNG
  • GIF

Максимальный размер файла:

600 kB

Максимальный размер изображения:

1000 px
Параметр Обязательно Тип Описание
body да string Изображение в кодировке Base64
comment нет string Текстовая инструкция для исполнителя
imgInstructions нет string Необязательное изображение с инструкцией в Base64
minClicks нет int Минимальное количество кликов. По умолчанию 1
maxClicks нет int Максимальное количество кликов

Пример задачи#

{
  "type": "CoordinatesTask",
  "body": "BASE64_IMAGE",
  "comment": "click on the green apple",
  "minClicks": 1,
  "maxClicks": 3
}

Решение#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "coordinates": [
      {
        "x": 358,
        "y": 268
      }
    ]
  }
}

Ключ решения:

coordinates

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


GeeTest v3#

Типы:

  • GeeTestTaskProxyless
  • GeeTestTask

Те же типы задач используются для GeeTest v4. Версия выбирается с помощью version.

Для GeeTest v3 значение version по умолчанию равно 3.

Параметр Обязательно Тип Описание
websiteURL да string Полный URL страницы, где загружен GeeTest
gt да string Значение gt от GeeTest
challenge да string Текущее значение challenge от GeeTest
geetestApiServerSubdomain нет string Пользовательский поддомен API-сервера GeeTest
userAgent нет string User-Agent, используемый при решении
risk_type нет string Динамическое значение risk_type из запроса загрузки капчи
version нет int Версия GeeTest. По умолчанию 3

Для GeeTestTask добавь:

  • proxyType
  • proxyAddress
  • proxyPort
  • proxyLogin
  • proxyPassword

Пример задачи#

{
  "type": "GeeTestTaskProxyless",
  "websiteURL": "https://example.com/login",
  "gt": "f2ae6cadcf7886856696c46d84d109d1",
  "challenge": "12345678abc90123d45678e90123f45g6"
}

Решение#

Решение содержит:

  • challenge
  • validate
  • seccode

Пример:

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "challenge": "12345678abc90123d45678e90123f45g6",
    "validate": "0a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p",
    "seccode": "0a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p|jordan"
  }
}

GeeTest v4#

Типы:

  • GeeTestTaskProxyless
  • GeeTestTask

Установи:

version: 4

Для GeeTest v4 параметры gt и challenge не используются.

Параметр Обязательно Тип Описание
websiteURL да string Полный URL страницы, где загружен GeeTest
version да int Должен быть 4
initParameters да object Параметры инициализации
initParameters.captcha_id да string Идентификатор капчи GeeTest v4
userAgent нет string User-Agent, используемый при решении
risk_type нет string Динамическое значение risk_type, если оно предоставлено капчей

Пример задачи#

{
  "type": "GeeTestTaskProxyless",
  "websiteURL": "https://example.com/login",
  "version": 4,
  "initParameters": {
    "captcha_id": "e392e65f912c780f2c3ebac7702651de"
  }
}

Решение#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "captcha_id": "e392e65f912c780f2c3ebac7702651de",
    "lot_number": "...",
    "pass_token": "...",
    "gen_time": "...",
    "captcha_output": "..."
  }
}

Ключи решения:

  • captcha_id
  • lot_number
  • pass_token
  • gen_time
  • captcha_output

Tencent#

Типы:

  • TencentTaskProxyless
  • TencentTask
Параметр Обязательно Тип Описание
websiteURL да string Полный URL страницы, где загружена капча Tencent
appId да string Идентификатор приложения капчи Tencent
captchaScript нет string URL скрипта капчи. По умолчанию https://turing.captcha.qcloud.com/TCaptcha.js

Для TencentTask добавь:

Параметр Обязательно Тип Описание
proxyType да string http, socks4 или socks5
proxyAddress да string IP-адрес или имя хоста прокси
proxyPort да int Порт прокси
proxyLogin нет string Логин для авторизации на прокси
proxyPassword нет string Пароль для авторизации на прокси

Пример задачи#

{
  "type": "TencentTaskProxyless",
  "websiteURL": "https://example.com/login",
  "appId": "190014885"
}

Задача с пользовательским скриптом капчи#

{
  "type": "TencentTaskProxyless",
  "websiteURL": "https://example.com/login",
  "appId": "190014885",
  "captchaScript": "https://turing.captcha.qcloud.com/TCaptcha.js"
}

Решение#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "appid": "190014885",
    "ret": 0,
    "ticket": "tr0344...",
    "randstr": "@KVN"
  }
}

Ключи решения:

  • appid
  • ret
  • ticket
  • randstr

POST /getTaskResult#

Возвращает текущий статус задачи.

Пока задача решается:

processing

Когда решение готово:

ready

Запрос#

{
  "clientKey": "YOUR_API_KEY",
  "taskId": 100
}

Ответ в процессе обработки#

{
  "errorId": 0,
  "status": "processing"
}

reCAPTCHA v2 / v3#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "gRecaptchaResponse": "03AGdBq..."
  }
}

Turnstile#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "0.zxcv..."
  }
}

Yandex SmartCaptcha#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "token": "dV9xNjYyNTU3NjkxO4k9OTQuNVMuMjkuMjM9..."
  }
}

Текст с картинки#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "text": "aB3fX9"
  }
}

Координаты#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "coordinates": [
      {
        "x": 358,
        "y": 268
      }
    ]
  }
}

GeeTest v3#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "challenge": "12345678abc90123d45678e90123f45g6",
    "validate": "0a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p",
    "seccode": "0a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p|jordan"
  }
}

GeeTest v4#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "captcha_id": "e392e65f912c780f2c3ebac7702651de",
    "lot_number": "...",
    "pass_token": "...",
    "gen_time": "...",
    "captcha_output": "..."
  }
}

Tencent#

{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "appid": "190014885",
    "ret": 0,
    "ticket": "tr0344...",
    "randstr": "@KVN"
  }
}

Ключи решения зависят от типа капчи:

  • gRecaptchaResponse
  • token
  • text
  • coordinates
  • challenge
  • validate
  • seccode
  • captcha_id
  • lot_number
  • pass_token
  • gen_time
  • captcha_output
  • appid
  • ret
  • ticket
  • randstr

POST /getBalance#

Возвращает текущий доступный баланс аккаунта.

Запрос#

{
  "clientKey": "YOUR_API_KEY"
}

Ответ#

{
  "errorId": 0,
  "balance": 12.34
}