Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

API Капча DataDome solver

POST

Состояние API

Состояние за 24 ч
Норма
Среднее время за 24 ч
—
  • Стабильно / норма
  • Доступно
  • Ограничено
  • Почти недоступно
Норма

API EverySolve для Капча DataDome возвращает значения cookie для вашего сценария прохождения проверки. Отправьте POST /api/v1/captcha, указав в type значение datadome, и передайте входные данные, перечисленные ниже.Задача DataDome CAPTCHA начинается с captcha_url, уже выданного для заблокированной сессии. Возвращает данные cookie, привязанные к этому сценарию. datadome_interstitial начинается не с URL капчи, а с URL защищённого сайта.

$2.5 за 1 000 успешных решений ($0.0025 за каждое успешное решение). Неудачные решения не оплачиваются.

Промпт для ИИ

Помогите мне написать скрипт, который вызывает API EveryInfra «Капча DataDome».

Контракт API:
- Запрос: POST https://api.everyinfra.com/api/v1/captcha с заголовком Authorization: Bearer <API Key>. Берите ключ из переменной окружения EVERYINFRA_API_KEY, не указывайте его в коде.
- В теле запроса задайте для type значение datadome, а параметры укажите рядом, на том же уровне.
- Обязательные параметры:
  - captcha_url: Полный URL проверки, выданный для активной заблокированной сессии, а не URL главной страницы сайта.
  - user_agent: User-Agent браузера для этой сессии проверки; не меняйте его, если возвращённый результат привязан к этой сессии.
  - proxy: Прокси для сессии решения; если результат привязан к сети, используйте ту же точку выхода для последующего запроса к целевому сайту.
- Необязательные параметры:
  - website_url: Точный адрес страницы, на которой появляется проверка, включая нужный путь, а не только главную страницу сайта.
- Пример тела запроса:
{
  "type": "datadome",
  "captcha_url": "<captcha_url>",
  "user_agent": "<user_agent>",
  "proxy": "<proxy>"
}
- Оплата: $2.5 за 1 000 успешных решений ($0.0025 за каждое успешное решение). Неудачные решения не оплачиваются.
- При ошибке 422 исправьте параметры по подсказкам и допустимым значениям из ошибки. При 429 или 503 дождитесь истечения Retry-After и повторите попытку.

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

Параметры запроса

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
typebodystringДаdatadomeТип капчи, фиксированное значение.
captcha_urlbodystringДа-Полный URL проверки, выданный для активной заблокированной сессии, а не URL главной страницы сайта.
user_agentbodystringДа-User-Agent браузера для этой сессии проверки; не меняйте его, если возвращённый результат привязан к этой сессии.
proxybodystringДа-Прокси для сессии решения; если результат привязан к сети, используйте ту же точку выхода для последующего запроса к целевому сайту.
website_urlbodystringНет-Точный адрес страницы, на которой появляется проверка, включая нужный путь, а не только главную страницу сайта.

Примеры кода

bash
curl -X POST 'https://api.everyinfra.com/api/v1/captcha' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "type": "datadome",
  "captcha_url": "<captcha_url>",
  "user_agent": "<user_agent>",
  "proxy": "<proxy>"
}'

Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.

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

Предпросмотр полей

Для этих параметров пока нет примера ответа. Здесь показаны структура ответа и поля из описания API, а … служит заполнителем; это не результат реального вызова.

json
{
  "id": "req_…",
  "type": "datadome",
  "solution": {
    "cookie": "…"
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Откуда брать параметры для Капча DataDome

Передайте captcha_url, user_agent сессии и тот же прокси, который будет использоваться для последующих запросов с полученными данными cookie; website_url — необязательный контекст.

Код для поиска этих значений на странице

datadome-1.js
// When the block appears, the challenge URL is usually in location or in a loaded resource
location.href.includes('captcha-delivery.com') ? location.href :
  [...performance.getEntriesByType('resource')].map(e=>e.name)
    .find(u=>u.includes('captcha-delivery.com'))
datadome-2.js
document.cookie.split('; ').find(c => c.startsWith('datadome='))

Как определить Капча DataDome

Задача DataDome CAPTCHA начинается с captcha_url, уже выданного для заблокированной сессии.

Чем Капча DataDome отличается от других проверок

Возвращает данные cookie, привязанные к этому сценарию. datadome_interstitial начинается не с URL капчи, а с URL защищённого сайта.

Как использовать API для Капча DataDome

API Капча DataDome возвращает значения cookie в cookie. Формат решения: cookie. Добавляйте полученные поля cookie к последующим запросам в рамках того же сценария.

  1. 01Выполните запрос GET /api/v1/captcha/types и выберите запись datadome.
  2. 02Выполните POST /api/v1/captcha, передав type: "datadome" и обязательные параметры.
  3. 03Получите значения cookie из cookie.
  4. 04Добавляйте полученные поля cookie к последующим запросам в рамках того же сценария.

Оплата и доступность EverySolve списывает средства только при успешном предоставлении решения. За неудачную попытку итоговое списание не производится, а зарезервированная сумма возвращается автоматически. Получайте available и поля с ценами из GET /api/v1/captcha/types при отправке запроса, а не воспринимайте их как статические данные страницы.

Вопросы об интеграции Капча DataDome

Как определить Капча DataDome перед выбором типа?

Задача DataDome CAPTCHA начинается с captcha_url, уже выданного для заблокированной сессии. Используйте datadome, только если эти признаки соответствуют целевой проверке.

Какие значения с целевой страницы нужны в запросе для Капча DataDome?

Передайте captcha_url, user_agent сессии и тот же прокси, который будет использоваться для последующих запросов с полученными данными cookie; website_url — необязательный контекст. Передайте captcha_url, user_agent и proxy. Необязательные параметры: website_url.

Что возвращает Капча DataDome и с чем это не следует путать?

API Капча DataDome возвращает значения cookie в cookie. Формат решения: cookie. Возвращает данные cookie, привязанные к этому сценарию. datadome_interstitial начинается не с URL капчи, а с URL защищённого сайта.

Какой внешний источник описывает интеграцию Капча DataDome?

На официальном сайте DataDome описан её продукт для капчи и защиты от ботов. [Открыть справку по Капча DataDome](https://datadome.co/). Специфичные для EverySolve поля и текущую доступность по-прежнему смотрите в каталоге типов.

Справка по Капча DataDome

Все типы капчи

Ошибки и оплата

401
Ключ отсутствует или недействителен.
402
Недостаточно средств на балансе. Сначала пополните баланс.
422
Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
429
Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
503
Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
200 (пусто)
Нет данных. Без списания.

Ошибки