Анализ сайта
Вход

API: Анализа сайтов

API «Анализа сайта» отдаёт результаты тестов сервиса в JSON. На этих данных собирают свои виджеты, отчёты и мониторинг: встроить проверку сайта в форму заявки, показать метрики в личном кабинете клиента, следить сразу за несколькими доменами.

Перед началом: получите API-ключ в настройках, вкладка «API». Полный справочник методов — в Swagger, туда же вставляется ключ для запросов прямо из браузера.


Шаг 1. Получить данные по домену

curl --globoff 'https://apis.pr-cy.ru/api/v2.1.0/base-analysises?filter[domain]=habr.com&include=tests' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'Api-Key: ВАШ_КЛЮЧ'
Параметр Обязательный Описание
filter[domain] ✅ Домен без протокола
include=tests ❌ Добавляет в ответ результаты тестов. Без него придёт только карточка анализа
filter[tests] ❌ Список нужных тестов через запятую, например filter[tests]=yandexSqi,title. Экономит объём ответа

Если для домена настроен расширенный анализ, базовый по нему недоступен — придёт ошибка «Базовый анализ недоступен, так как настроен расширенный анализ для указанного домена». В этом случае используйте тот же запрос к advanced-analysises.


Шаг 2. Что приходит в ответе

В data.attributes — карточка анализа:

Поле Что означает
domain Домен
started Когда началась последняя проверка
updated Когда данные обновились
isUpdating true — проверка ещё идёт
isExpired Данные устарели, стоит запустить обновление
testsCount Сколько тестов в анализе

В included — сами тесты: name, status, updated и объект results с данными теста.

{
  "data": {
    "type": "baseAnalysises",
    "attributes": {
      "domain": "habr.com",
      "started": "2026-09-21T13:23:04+03:00",
      "updated": "2026-09-21T13:24:25+03:00",
      "isUpdating": false,
      "isExpired": false,
      "testsCount": 76
    }
  },
  "included": [
    {
      "type": "tests",
      "attributes": {
        "name": "yandexSqi",
        "status": "success",
        "results": { "yandexSqi": 20400, "yandexSqiDiff": 0 }
      }
    }
  ]
}

Описание всех тестов Анализа — в отдельном документе.


Шаг 3. Обновить данные

Если сайт проверялся давно или не проверялся вовсе, запустите перепроверку:

curl 'https://apis.pr-cy.ru/api/v2.1.0/base-analysises' \
  --header 'Content-Type: application/vnd.api+json' \
  --header 'Api-Key: ВАШ_КЛЮЧ' \
  --data-raw '{
    "data": {
      "type": "baseAnalysises",
      "attributes": { "domain": "habr.com" }
    }
  }'

Дальше повторяйте запрос из шага 1, пока isUpdating не станет false. Дата последней проверки — в поле updated.


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

Кто Ограничение
С ключом, любой тариф 10 запросов в минуту
С ключом, в сутки зависит от тарифа — см. «Тарифы и цены»
Без ключа 10 запросов в сутки

При превышении сервер отвечает кодом 429.


Сколько спишется лимитов

  • Получение данных по домену — 1 лимит.
  • Запуск обновления — 1 лимит.

Остаток смотрите в лимитах.


Итого

1. GET  /base-analysises?filter[domain]=<домен>&include=tests   → данные тестов
2. POST /base-analysises  с domain в attributes                 → запустили обновление
3. GET  тот же запрос, пока isUpdating не станет false          → готовые данные

Задачи инструментов через API

Кроме анализа сайта, через API запускаются инструменты: Wordstat, чат с нейросетью и другие. Ключ тот же, заголовок Api-Key. Для MCP нужна отдельная настройка.

  1. Узнайте стоимость. Отправьте тело будущей задачи в POST /api/v2.1.0/tool-tasks/cost. Пример тела есть в статье нужного инструмента. Стоимость зависит от параметров: модели, числа ключей, регионов, объёма.
  2. Запустите задачу. Отправьте то же тело в POST /api/v2.1.0/tool-tasks и сохраните data.id. Повторный POST с теми же параметрами вернёт ту же задачу. Пока она выполняется, лимиты повторно не списываются; после завершения такой POST перезапустит её и снова спишет лимиты.
  3. Заберите результат. Запрашивайте GET /api/v2.1.0/tool-tasks/{id}?include=tests с паузой в несколько секунд, пока isUpdating не станет false. Ограничьте число повторов в своём приложении.

Остаток лимитов — в разделе «Лимиты». Сколько хранится результат — в отдельной статье.

Ошибки

Ответ Что проверить
400 Тело запроса, обязательные поля, типы и значения
401 Ключ не передан: добавьте заголовок Api-Key
403 Ключ неверный, нет прав или закончились лимиты — подробности в тексте ответа
404 Адрес метода, домен или ID задачи
429 Слишком частые запросы: увеличьте паузу, учитывайте Retry-After
5xx Повторите запрос позже, ограничив число попыток

Пустой список в ответе ещё не значит нулевое значение метрики: сначала проверьте статус теста.

Если ошибка повторяется, напишите в поддержку: метод, время запроса, домен или ID задачи и ответ без ключа.

Смежные инструкции

Не нашли нужной информации? Напишите нам в тех.поддержку

🍪 Используя сайт, вы соглашаетесь с обработкой cookie и сбором технических данных для улучшения работы сайта согласно политике конфиденциальности.