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 нужна отдельная настройка.
- Узнайте стоимость. Отправьте тело будущей задачи в
POST /api/v2.1.0/tool-tasks/cost. Пример тела есть в статье нужного инструмента. Стоимость зависит от параметров: модели, числа ключей, регионов, объёма. - Запустите задачу. Отправьте то же тело в
POST /api/v2.1.0/tool-tasksи сохранитеdata.id. Повторный POST с теми же параметрами вернёт ту же задачу. Пока она выполняется, лимиты повторно не списываются; после завершения такой POST перезапустит её и снова спишет лимиты. - Заберите результат. Запрашивайте
GET /api/v2.1.0/tool-tasks/{id}?include=testsс паузой в несколько секунд, покаisUpdatingне станетfalse. Ограничьте число повторов в своём приложении.
Остаток лимитов — в разделе «Лимиты». Сколько хранится результат — в отдельной статье.
Ошибки
| Ответ | Что проверить |
|---|---|
| 400 | Тело запроса, обязательные поля, типы и значения |
| 401 | Ключ не передан: добавьте заголовок Api-Key |
| 403 | Ключ неверный, нет прав или закончились лимиты — подробности в тексте ответа |
| 404 | Адрес метода, домен или ID задачи |
| 429 | Слишком частые запросы: увеличьте паузу, учитывайте Retry-After |
| 5xx | Повторите запрос позже, ограничив число попыток |
Пустой список в ответе ещё не значит нулевое значение метрики: сначала проверьте статус теста.
Если ошибка повторяется, напишите в поддержку: метод, время запроса, домен или ID задачи и ответ без ключа.
Смежные инструкции
Не нашли нужной информации? Напишите нам в тех.поддержку