NeuroCaptcha

Аутентификация

Ключи API: где взять, live- и test-ключи, лимиты ключа, список разрешённых IP и лимиты трат.

На этой странице

Все методы, кроме getQueueStats и getTaskTypes, принимают ключ API в поле clientKey JSON-тела. Никаких заголовков и обновляемых токенов.

POST /getBalance
{
  "clientKey": "0123456789abcdef0123456789abcdef"
}

Где взять ключ#

  1. Зарегистрируйтесь и подтвердите email — без этого live-ключ не создать.
  2. Откройте Кабинет → API-ключи и создайте ключ: режим (live или test), имя и при желании лимиты и список разрешённых IP.
  3. Сразу скопируйте ключ: целиком он показывается только при создании. Мы храним лишь его хеш; ключ можно в любой момент перевыпустить или отозвать.

Ключ — 32 шестнадцатеричных символа в нижнем регистре, как у Anti-Captcha и 2Captcha, поэтому SDK, проверяющие формат ключа, его принимают. На аккаунте может быть до 20 активных ключей.

Live- и test-ключи#

livetest
Кто решаетконвейер решениятестовый воркер за 1–2 секунды
Токеннастоящий токен reCAPTCHAфиктивный токен с префиксом TEST_; изредка (примерно 3 из 100) задача завершается ошибкой ERROR_CAPTCHA_UNSOLVABLE — чтобы проверить и обработку ошибок
Ценапо прайсу, только за решённые задачибесплатно, баланс не нужен
Лимиты, ошибки, вебхукикак описано в документациитакие же, как у live-ключей
СтатистикаgetSpendingStats, getQueueStatsв getSpendingStats с нулевой суммой; в getQueueStats не учитываются

Настройки ключа#

  • Параллельные задачи — сколько задач ключа может быть в работе одновременно (по умолчанию 200). Сверх лимита createTask отвечает ERROR_NO_SLOT_AVAILABLE.
  • Лимиты трат — на сутки и на месяц, в долларах. Сверх них createTask отвечает ERROR_SPENDING_LIMIT.
  • Разрешённые IP — до 50 адресов IPv4/IPv6 или сетей CIDR. Запросы с других адресов получают ERROR_IP_NOT_ALLOWED.
  • Изменения и отзыв ключа доходят до API примерно за 15 секунд.

Храните ключ в секрете#

  • Обращайтесь к API со своего сервера. JSON API не отдаёт CORS-заголовков, поэтому чужие сайты не могут вызвать его из браузера, — а ключ во фронтенд-коде увидит любой.
  • Держите ключи в переменных окружения или менеджере секретов, а не в репозитории.
  • Заведите отдельный ключ на каждый проект или сервер: траты видны по отдельности, и один ключ можно отозвать, не трогая остальные.
  • Если ключ утёк, перевыпустите его в кабинете: старый перестанет работать сразу.
errorIderrorCodeКогда
1ERROR_KEY_DOES_NOT_EXISTключа нет, он повреждён, отозван или неизвестен
11ERROR_IP_NOT_ALLOWEDIP запроса не входит в список разрешённых для ключа
55ERROR_ACCOUNT_SUSPENDEDаккаунт заблокирован