РокетКраулер API

РокетКраулер / Главная / API

Документация API

Быстрый старт

Открыть кабинет API →

Что можно сделать

API позволяет создавать проекты, запускать проверку сайта и получать ее результаты в табличных отчетах.

Первая проверка сайта

  1. Создайте API-ключ в кабинете API и сохраните его в защищенном месте.
  2. Передайте ключ в каждом запросе в заголовке Authorization: Bearer YOUR_API_KEY.
  3. Проверьте ключ любым запросом, например GET /v1/projects: он вернет список ваших проектов.
  4. Создайте проект запросом POST /v1/projects. Если проверяете готовый список страниц, используйте POST /v1/projects/from-urls.
  5. Запустите проверку запросом POST /v1/projects/{projectId}/start и сохраните номер заявки из operation.id.
  6. Проверяйте заявку через GET /v1/scan-requests/{requestId}. Когда ее status станет started, используйте scanId для запроса отчетов.

Что означают ответы

Ответ 201 означает, что проект создан. Ответ 202 после запуска означает, что заявка принята и ожидает начала проверки. Отчеты запрашиваются по адресу /v1/projects/{projectId}/scans/{scanId}/reports/{report}.

Ключ и авторизация

Открыть кабинет API →

Как получить ключ

  1. Откройте кабинет API по ссылке в начале этой страницы. Если сервис попросит войти, войдите в свой аккаунт РокетКраулер и вернитесь в кабинет.
  2. Нажмите «Сгенерировать ключ».
  3. Скопируйте ключ из поля в кабинете и сохраните его в защищенном хранилище. Действующий ключ можно снова посмотреть в этом кабинете.

Как отправлять запросы

  1. Добавьте к каждому запросу /v1 заголовок Authorization: Bearer YOUR_API_KEY. Вместо YOUR_API_KEY вставьте полный ключ, сохранив слово Bearer и пробел перед ключом.
  2. При ответе 401 проверьте, что в заголовке указан действующий ключ целиком.

Если ключ потерян или его нужно заменить

Для одного аккаунта действует один ключ. Если ключ потерян, скопируйте его снова в кабинете. Если ключ стал известен посторонним, замените его.

  1. В кабинете API нажмите «Обновить ключ».
  2. Скопируйте новый ключ и замените его во всех интеграциях. Прежний ключ сразу перестает работать.

Проекты, проверки и заявки

Сканирование и поиск по содержимому доступны только для публичных сайтов в интернете. Адреса localhost и сайты во внутренней сети не поддерживаются.

Три значения, которые нужны в запросах

  1. projectId — номер проекта. Возьмите поле id из ответа создания проекта или из GET /v1/projects. Используйте его для запуска, остановки и списка проверок проекта.
  2. scanId — идентификатор конкретной проверки. Возьмите currentScanId из проекта или id из GET /v1/projects/{projectId}/scans. Используйте его для состояния проверки и отчетов.
  3. requestId — номер заявки на запуск. Возьмите operation.id из ответа start и используйте его в GET /v1/scan-requests/{requestId} или при отмене заявки.

Как выбрать правильное значение

Номер проекта и идентификатор проверки — разные значения: в адресе отчета нужны оба. Копируйте scanId целиком. Если currentScanId равен null, проверка еще не доступна. У проекта из списка URL поле url равно null; это нормально.

Запуск, очередь и остановка

Как дождаться начала проверки

  1. Отправьте POST /v1/projects/{projectId}/start без полей в теле запроса.
  2. При ответе 202 сохраните operation.id и запрашивайте GET /v1/scan-requests/{requestId}.
  3. Статусы queued и assigned означают, что заявка ожидает. При started скопируйте scanId и переходите к отчетам. При rejected прочитайте причину в rejection.

Пауза, отмена и новая проверка

  1. Чтобы временно остановить начатую проверку, используйте POST /v1/projects/{projectId}/pause; для продолжения снова вызовите start.
  2. Чтобы отменить ожидающую заявку, отправьте POST /v1/scan-requests/{requestId}/cancel. Отмена относится только к этой заявке.
  3. Если проверка уже началась, остановите ее запросом POST /v1/projects/{projectId}/stop. После остановки или завершения следующая проверка получит новый scanId.

Повторный запрос

Если start вернул 200, проверка уже идет. При сомнении после сетевой ошибки сначала запросите проект или заявку, а затем решайте, нужно ли повторять команду.

Пагинация и отчеты

Как читать список целиком

Для списков проектов и проверок limit принимается от 1 до 100, для табличных отчетов — от 1 до 1000. Не используйте cursor из другого проекта, запуска, отчета или набора параметров.

  1. В первом запросе передайте нужный limit и не передавайте cursor.
  2. Прочитайте items и total в ответе.
  3. Если nextCursor содержит строку, скопируйте ее в параметр cursor следующего такого же запроса.
  4. Повторяйте запросы, пока nextCursor не станет null.

Параметры отдельных отчетов

  1. Для отчета duplicates передайте kind, если нужен определенный вид совпадений: all, html, title, description или h1.
  2. Для custom-search передайте conditions с условиями поиска и при необходимости logic со значением and или or. В этом отчете limit не может быть больше 15.
  3. Продолжайте custom-search по nextCursor даже при пустом items: total в этом отчете всегда null, а следующая страница может содержать совпадения.

Что учитывать при чтении результатов

Пока проверка выполняется, строки и total могут меняться. PageSpeed возвращает сохраненные измерения и не запускает новый аудит; доступно не более 1000 подходящих URL. В data-extraction поле columns описывает поля, которые есть в результатах. Значение null означает, что данных для поля нет.

Ошибки и следующие действия

Как прочитать ошибку

Ошибка приходит в виде { error: { code, message, requestId } }. Используйте code для обработки в программе, message — для объяснения пользователю, а requestId — при обращении в поддержку.

Что делать по HTTP-коду

  1. 400 INVALID_REQUEST или INVALID_CURSOR: проверьте тело запроса, параметры и cursor. Для новой выборки начните без cursor.
  2. 401 UNAUTHORIZED: создайте или перевыпустите ключ в кабинете и передайте его в заголовке Authorization.
  3. 404 NOT_FOUND: убедитесь, что projectId, scanId или requestId получены тем же API-ключом.
  4. 409 INVALID_STATE, SCAN_REPLACED или ACTIVE_SCAN_CONFLICT: сначала получите текущее состояние проекта или заявки и выполните действие, которое подходит этому состоянию.
  5. 422 PROJECT_LIMIT_REACHED или CRAWL_LIMIT_REACHED: уменьшите объем работы или проверьте доступные ограничения аккаунта.
  6. 503 DEPENDENCY_UNAVAILABLE: повторите запрос позже. 500 INTERNAL_ERROR: сохраните requestId и обратитесь в поддержку.
  7. 413 INVALID_REQUEST: тело запроса больше 5 MiB. Уменьшите его размер и повторите запрос.

Проверяйте код ответа

Не обрабатывайте тело ошибки как успешный результат. Успешный ответ 204 не содержит тела.

get/v1/account/balance

Баланс аккаунта

Показывает число, которое хранится как баланс вашего аккаунта.

Когда использовать

Чтобы показать баланс в своем интерфейсе. API не сообщает валюту и правила списаний.

Как сделать запрос

Отправьте GET на /v1/account/balance с API-ключом. Номера в других примерах здесь не нужны.

Как понять ответ

balance — строка вида 1250.0000: четыре знака после точки сохранены как в базе. Это не сумма в объявленной валюте.

Что делать дальше

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

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Поля ответа

Успешный ответ

application/json
  1. response
balance*string

Текущее значение DECIMAL аккаунта с четырьмя знаками после точки. API не задает валюту и не описывает биллинг.

Шаблон^-?\d+\.\d{4}$

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/account/balance' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "balance": "1250.0000"}
get/v1/projects

Список проектов

Показывает ваши проекты, чтобы выбрать сайт для запуска или чтения отчета.

Когда использовать

В начале работы, когда номер проекта еще неизвестен.

Как сделать запрос

Вызовите /v1/projects?limit=100. Число 100 — пример размера страницы, допустимо от 1 до 100.

Как понять ответ

В items лежат проекты; их id подставляйте в следующие адреса. total — сколько проектов найдено.

Что делать дальше

Если nextCursor не null, скопируйте его в cursor следующего запроса. Затем прочитайте выбранный проект по /v1/projects/42, где 42 замените своим id.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 100
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
items*array<>

Проекты текущей страницы.

total*integer

Сколько проектов доступно вашему аккаунту на момент запроса.

Диапазон0 <= value
nextCursor*|

Курсор следующей страницы или null, если текущая страница последняя.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "items": [    {      "id": 42,      "url": "https://example.org/",      "title": "Сайт компании",      "status": "PROCESSING",      "source": "website",      "currentScanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",      "createdAt": "2026-10-13T09:00:00.000Z",      "operation": null    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}

Получение состояния проекта

Показывает, что сейчас происходит с одним вашим проектом: идет ли проверка сайта, закончилась ли она и какие результаты можно получить. Запрос только читает данные — он не запускает проверку и ничего не меняет.

Когда использовать

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

Как сделать запрос

  1. Получите номер своего проекта из ответа «Создание проекта» или «Список проектов». Он находится в поле id.
  2. Подставьте этот номер вместо {projectId} в адрес запроса. Например, если id равен 42, адрес будет /v1/projects/42. Число 42 здесь только пример; используйте номер своего проекта.
  3. Отправьте GET-запрос с API-ключом. Пример команды есть справа. Если используете форму «Проверить метод», введите ключ и номер проекта.

Как понять ответ

ПолеЧто означает и как использовать
idНомер проекта. Используйте его в следующих запросах к этому проекту. При повторной проверке сайта этот номер сохраняется.
titleНазвание проекта, например «Сайт компании».
urlСтартовый адрес сайта. Если проект создан из списка отдельных URL, здесь будет null, потому что у него нет одного стартового адреса.
sourcewebsite — проект создан от адреса сайта; url_list — из списка отдельных URL.
statusЧто сейчас происходит с проектом. Значения расшифрованы ниже.
currentScanIdИдентификатор текущей проверки. Передайте его как scanId в запрос отчета. Это строка: копируйте ее целиком, не разбирайте и не заменяйте номером проекта. null означает, что доступной проверки пока нет.
createdAtДата и время создания проекта по UTC. null означает, что дата недоступна.
operationПоследняя заявка на запуск проверки. Она может еще ждать запуска или уже иметь результат. null означает, что заявки еще не было. Возьмите ее id и прочитайте «Заявка запуска и ее результат» для подробностей.

Что означает status

ЗначениеПростыми словамиЧто делать
CREATEDПроект добавлен; проверка еще не запущена.Вызвать «Запуск или продолжение сканирования».
PROCESSINGСайт сейчас проверяется.Подождать или читать отчеты: их данные еще могут изменяться.
CHECKINGВыполняются завершающие проверки.Подождать окончания.
PAUSEDПроверка поставлена на паузу.Вызвать запуск, чтобы продолжить эту же проверку.
STOPPEDПроверка остановлена.При следующем запуске начнется новая проверка.
COMPLETEDПроверка закончилась.Использовать currentScanId для чтения результатов.

Что делать дальше

Допустим, ответ содержит status: "COMPLETED" и непустой currentScanId. Теперь у вас есть два разных значения: номер проекта id и идентификатор его проверки currentScanId. В запросе отчета подставьте первый в {projectId}, а второй в {scanId}.

Если вместо этого operation.status равен queued или assigned, запуск еще ожидает своей очереди. Прочитайте заявку по адресу /v1/scan-requests/{requestId}, подставив operation.id. Когда она получит статус started, в ее поле scanId появится идентификатор начатой проверки.

Если запрос не сработал

  • 401 — ключ не принят. Проверьте ключ и заголовок Authorization.
  • 404 — такого проекта нет или он принадлежит другому аккаунту. Возьмите id из списка проектов, полученного с тем же ключом.

Описание остальных полей ответа и ограничений типов находится ниже, в разделе «Поля ответа».

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value

Поля ответа

Успешный ответ

application/json
  1. response
id*integer

Номер проекта. При повторных проверках сайта он остается прежним.

Диапазон0 < value
url*|

Стартовый URL проекта website; у url_list всегда null.

title*string

Название проекта, заданное при создании.

status*string

Текущее состояние актуальной версии проекта.

Допустимые значения"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"
source*string

website — обход от стартового URL; url_list — проект создан из списка URL.

Допустимые значения"website""url_list"
currentScanId*|

ID актуального скана для запросов отчетов; null, если запуска еще нет.

createdAt*|

Время создания проекта в UTC; null для старых записей без корректной даты.

operation*|

Последняя заявка на запуск проверки проекта. Она может ждать запуска, быть уже выполненной, отмененной или отклоненной. null — заявки еще не было.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "id": 42,  "url": "https://example.org/",  "title": "Сайт компании",  "status": "PROCESSING",  "source": "website",  "currentScanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "createdAt": "2026-10-13T09:00:00.000Z",  "operation": null}
post/v1/projects

Создание проекта сайта

Добавляет сайт для проверки от одного стартового адреса.

Когда использовать

Когда нужно проверить обычный сайт целиком.

Как сделать запрос

Отправьте POST на /v1/projects с телом {"url":"https://example.org/","title":"Сайт компании"}. Адрес и название в примере замените своими.

Как понять ответ

Запомните id: это номер проекта. status: CREATED означает, что сайт добавлен, но проверка еще не началась.

Что делать дальше

Вызовите /v1/projects/42/start, подставив свой id. 401 означает неверный ключ, 422 — неподходящее тело запроса.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.

Тело запроса

application/json
  1. body
url*string

Стартовый абсолютный URL сайта, до 255 символов.

Форматuri
Длина1 <= length <= 255
title*string

Название проекта, до 255 символов. Можно передать пустую строку.

Длинаlength <= 255

Поля ответа

Успешный ответ

application/json
  1. response
id*integer

Номер проекта. При повторных проверках сайта он остается прежним.

Диапазон0 < value
url*|

Стартовый URL проекта website; у url_list всегда null.

title*string

Название проекта, заданное при создании.

status*string

Текущее состояние актуальной версии проекта.

Допустимые значения"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"
source*string

website — обход от стартового URL; url_list — проект создан из списка URL.

Допустимые значения"website""url_list"
currentScanId*|

ID актуального скана для запросов отчетов; null, если запуска еще нет.

createdAt*|

Время создания проекта в UTC; null для старых записей без корректной даты.

operation*|

Последняя заявка на запуск проверки проекта. Она может ждать запуска, быть уже выполненной, отмененной или отклоненной. null — заявки еще не было.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X POST 'https://rocketcrawler.ru/v1/projects' \  -H 'Authorization: Bearer YOUR_API_KEY' \  -H 'Content-Type: application/json' \  --data '{"title":"Пример","url":"https://example.com/"}'
{  "id": 42,  "url": "https://example.org/",  "title": "Сайт компании",  "status": "PROCESSING",  "source": "website",  "currentScanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "createdAt": "2026-10-13T09:00:00.000Z",  "operation": null}
post/v1/projects/from-urls

Создание проекта из массива URL

Добавляет проверку для заранее известного списка адресов.

Когда использовать

Когда не нужен обход от главной страницы, а есть свой список URL.

Как сделать запрос

Отправьте POST на /v1/projects/from-urls с {"title":"Проверка каталога","urls":["https://example.org/a"]}. Это только пример; список содержит от 1 до 20 000 адресов.

Как понять ответ

Сохраните id. source будет url_list, а url будет null: у такого проекта нет одного стартового адреса.

Что делать дальше

Запустите проверку через /v1/projects/42/start. Если получили 422, проверьте название и размер списка.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.

Тело запроса

application/json
  1. body
title*string

Непустое название после обрезки пробелов, до 255 символов.

Длина1 <= length <= 255
urls*array<>

От 1 до 20 000 адресов длиной до 2048 символов. Передавайте полные адреса страниц, например https://example.com/about.

Элементы1 <= items <= 20000

Поля ответа

Успешный ответ

application/json
  1. response
id*integer

Номер проекта. При повторных проверках сайта он остается прежним.

Диапазон0 < value
url*|

Стартовый URL проекта website; у url_list всегда null.

title*string

Название проекта, заданное при создании.

status*string

Текущее состояние актуальной версии проекта.

Допустимые значения"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"
source*string

website — обход от стартового URL; url_list — проект создан из списка URL.

Допустимые значения"website""url_list"
currentScanId*|

ID актуального скана для запросов отчетов; null, если запуска еще нет.

createdAt*|

Время создания проекта в UTC; null для старых записей без корректной даты.

operation*|

Последняя заявка на запуск проверки проекта. Она может ждать запуска, быть уже выполненной, отмененной или отклоненной. null — заявки еще не было.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X POST 'https://rocketcrawler.ru/v1/projects/from-urls' \  -H 'Authorization: Bearer YOUR_API_KEY' \  -H 'Content-Type: application/json' \  --data '{"title":"Проверка адресов","urls":["https://example.com/"]}'
{  "id": 42,  "url": "https://example.org/",  "title": "Сайт компании",  "status": "PROCESSING",  "source": "website",  "currentScanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "createdAt": "2026-10-13T09:00:00.000Z",  "operation": null}
delete/v1/projects/{projectId}

Удаление проекта и его истории

Удаляет проект и сохраненные результаты его проверок.

Когда использовать

Только когда история этого сайта больше не нужна.

Как сделать запрос

Отправьте DELETE на /v1/projects/42, где 42 — ваш номер проекта.

Как понять ответ

204 означает успех и не содержит JSON-ответа.

Что делать дальше

Обновите свой список проектов. 404 означает, что номер уже недоступен этому ключу.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value

Поля ответа

Проект удален

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X DELETE 'https://rocketcrawler.ru/v1/projects/PROJECT_ID' \  -H 'Authorization: Bearer YOUR_API_KEY'
Empty
post/v1/projects/{projectId}/start

Запуск или продолжение сканирования

Запускает проверку сайта или ставит ее в очередь.

Когда использовать

После создания проекта со статусом CREATED, для продолжения паузы или новой проверки завершенного сайта.

Как сделать запрос

Отправьте POST без полей на /v1/projects/42/start; 42 замените номером проекта.

Как понять ответ

202 значит, что создана заявка: в operation.id ее номер, а scanId появится после started. 200 значит, что проверка уже идет.

Что делать дальше

Читайте заявку по /v1/scan-requests/731, где 731 — operation.id. При started возьмите scanId для отчетов. 404 — неверный номер проекта.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value

Поля ответа

Скан уже активен; новый запуск не создан

application/json
  1. response
project*

Проект после обработки команды.

scan*|

Актуальный скан, если он уже доступен; иначе null.

operation*|

Заявка очереди, созданная или найденная командой; иначе null.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X POST 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/start' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "project": {    "id": 42,    "url": "https://example.org/",    "title": "Сайт компании",    "status": "PROCESSING",    "source": "website",    "currentScanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",    "createdAt": "2026-10-13T09:00:00.000Z",    "operation": null  },  "scan": {    "id": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",    "projectId": 42,    "status": "PROCESSING",    "startedAt": "2026-10-13T09:05:00.000Z",    "elapsedMs": 184000,    "isCurrent": true,    "progress": {      "completed": 128,      "pending": 47,      "processing": 3,      "cancelled": 0    }  },  "operation": null}
post/v1/projects/{projectId}/pause

Пауза сканирования

Ставит текущую проверку на паузу.

Когда использовать

Когда нужно временно остановить работающий обход и затем продолжить его.

Как сделать запрос

Отправьте POST без полей на /v1/projects/42/pause; 42 замените своим номером.

Как понять ответ

В project.status ожидайте PAUSED. scan может быть null, если проверка еще не появилась.

Что делать дальше

Для продолжения вызовите start. 409 означает ожидающую заявку: отмените ее по operation.id.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value

Поля ответа

Успешный ответ

application/json
  1. response
project*

Проект после обработки команды.

scan*|

Актуальный скан, если он уже доступен; иначе null.

operation*|

Заявка очереди, созданная или найденная командой; иначе null.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X POST 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/pause' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "project": {    "id": 42,    "url": "https://example.org/",    "title": "Сайт компании",    "status": "PROCESSING",    "source": "website",    "currentScanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",    "createdAt": "2026-10-13T09:00:00.000Z",    "operation": null  },  "scan": {    "id": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",    "projectId": 42,    "status": "PROCESSING",    "startedAt": "2026-10-13T09:05:00.000Z",    "elapsedMs": 184000,    "isCurrent": true,    "progress": {      "completed": 128,      "pending": 47,      "processing": 3,      "cancelled": 0    }  },  "operation": null}
post/v1/projects/{projectId}/stop

Стоп сканирования

Останавливает текущую проверку.

Когда использовать

Когда продолжать этот запуск больше не нужно.

Как сделать запрос

Отправьте POST без полей на /v1/projects/42/stop; 42 — пример номера проекта.

Как понять ответ

Проверьте project.status: обычно будет STOPPED.

Что делать дальше

Следующий start создаст новую проверку. 409 означает, что сначала надо отменить ожидающую заявку по ее id.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value

Поля ответа

Успешный ответ

application/json
  1. response
project*

Проект после обработки команды.

scan*|

Актуальный скан, если он уже доступен; иначе null.

operation*|

Заявка очереди, созданная или найденная командой; иначе null.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X POST 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/stop' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "project": {    "id": 42,    "url": "https://example.org/",    "title": "Сайт компании",    "status": "PROCESSING",    "source": "website",    "currentScanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",    "createdAt": "2026-10-13T09:00:00.000Z",    "operation": null  },  "scan": {    "id": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",    "projectId": 42,    "status": "PROCESSING",    "startedAt": "2026-10-13T09:05:00.000Z",    "elapsedMs": 184000,    "isCurrent": true,    "progress": {      "completed": 128,      "pending": 47,      "processing": 3,      "cancelled": 0    }  },  "operation": null}
get/v1/projects/{projectId}/scans

Доступная история сканирований

Показывает прошлые и текущую проверки одного проекта.

Когда использовать

Когда хотите открыть результаты определенного запуска.

Как сделать запрос

Вызовите /v1/projects/42/scans?limit=100; 42 — пример номера проекта.

Как понять ответ

У каждой строки id — строка для {scanId}, isCurrent показывает текущую проверку, elapsedMs — миллисекунды.

Что делать дальше

Скопируйте id нужной строки в адрес отчета. Продолжайте по nextCursor, пока там не null.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 100
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
items*array<>

Запуски текущей страницы.

total*integer

Число доступных запусков в истории.

Диапазон0 <= value
nextCursor*|

Курсор следующей страницы или null.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "items": [    {      "id": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",      "projectId": 42,      "status": "PROCESSING",      "startedAt": "2026-10-13T09:05:00.000Z",      "elapsedMs": 184000,      "isCurrent": true,      "progress": {        "completed": 128,        "pending": 47,        "processing": 3,        "cancelled": 0      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}

Выбранное сканирование

Показывает ход одной проверки.

Когда использовать

Чтобы узнать, сколько URL уже обработано.

Как сделать запрос

Вызовите /v1/projects/42/scans/SCAN_ID, подставив свой номер проекта и скопированный scanId.

Как понять ответ

progress.completed, pending и processing — количество URL. progress: null означает, что текущие цифры недоступны.

Что делать дальше

Повторите запрос позже или откройте отчет. 409 SCAN_REPLACED — возьмите новый currentScanId у проекта; 404 — значения не принадлежат этому ключу.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

Поля ответа

Успешный ответ

application/json
  1. response
id*string

Идентификатор одной проверки сайта. Это строка: скопируйте ее целиком и передайте как scanId при чтении отчета.

projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
status*string

Состояние проекта на момент выдачи этого запуска.

Допустимые значения"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"
startedAt*|

Время старта в UTC; null, когда историческая дата недоступна.

elapsedMs*|

Длительность проверки в миллисекундах; null, если значение еще недоступно.

isCurrent*boolean

true для актуального запуска проекта; false для сохраненной истории.

progress*|

Количество обработанных и ожидающих URL текущей проверки. Для прошлых проверок или при недоступных данных — null.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "id": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "projectId": 42,  "status": "PROCESSING",  "startedAt": "2026-10-13T09:05:00.000Z",  "elapsedMs": 184000,  "isCurrent": true,  "progress": {    "completed": 128,    "pending": 47,    "processing": 3,    "cancelled": 0  }}
get/v1/scan-requests

Активные заявки запуска

Показывает только заявки, которые еще ждут запуска: queued или assigned.

Когда использовать

Чтобы увидеть, какие проверки пока стоят в очереди.

Как сделать запрос

Вызовите /v1/scan-requests с API-ключом.

Как понять ответ

В items есть номер заявки id, номер проекта projectId и ее состояние. Начатая заявка здесь исчезает, поэтому этот список не подходит для ожидания результата.

Что делать дальше

Сразу сохраните id после start и опрашивайте /v1/scan-requests/731, где 731 — ваш номер. Там после started появится scanId.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Поля ответа

Успешный ответ

application/json
  1. response
items*array<>

Заявки запуска, доступные текущему аккаунту; ответ не разбит на страницы.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/scan-requests' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "items": [    {      "id": 731,      "projectId": 42,      "status": "queued",      "scanId": null,      "queuedAt": "2026-10-13T09:04:58.000Z",      "startedAt": null,      "rejection": null    }  ]}
get/v1/scan-requests/{requestId}

Заявка запуска и ее результат

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

Когда использовать

После ответа 202 от start.

Как сделать запрос

Вызовите /v1/scan-requests/731; 731 замените значением operation.id.

Как понять ответ

queued и assigned означают ожидание. При started поле scanId содержит строку для отчетов. rejected объясняется полем rejection; cancelled означает отмену.

Что делать дальше

Повторяйте запрос, пока состояние ожидающее. При started запросите отчет с полученным scanId. 404 — заявка чужая или не существует.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

requestId*integer

Номер заявки на запуск: возьмите operation.id из ответа запуска или id из списка заявок. Отмена относится именно к этой заявке, а не ко всем проверкам проекта.

Диапазон1 <= value

Поля ответа

Успешный ответ

application/json
  1. response
id*integer

Числовой ID заявки; используйте его для чтения и отмены.

Диапазон0 < value
projectId*integer

Номер проекта, который нужно проверить. Он берется из поля id в ответе создания проекта или списка проектов.

Диапазон0 < value
status*string

Состояние заявки: queued — ожидает, assigned — готовится к запуску, started — проверка началась, cancelled — отменена, rejected — отклонена.

Допустимые значения"queued""assigned""started""cancelled""rejected"
scanId*|

ID созданного скана только для started; до старта и для остальных состояний null.

queuedAt*string

Время постановки в очередь в UTC, ISO 8601.

Форматdate-time
startedAt*|

Время фактического старта в UTC; null, пока заявка не started.

rejection*|

Причина есть только у rejected; в остальных состояниях null.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/scan-requests/REQUEST_ID' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "id": 731,  "projectId": 42,  "status": "started",  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "queuedAt": "2026-10-13T09:04:58.000Z",  "startedAt": "2026-10-13T09:05:00.000Z",  "rejection": null}
post/v1/scan-requests/{requestId}/cancel

Отмена ожидающей заявки

Отменяет одну еще не начатую заявку.

Когда использовать

Когда передумали запускать проверку, пока она queued или assigned.

Как сделать запрос

Отправьте POST без полей на /v1/scan-requests/731/cancel; 731 замените номером заявки.

Как понять ответ

В ответе status станет cancelled.

Что делать дальше

При необходимости создайте запуск заново. 409 означает, что проверка уже началась: используйте stop для проекта. 404 — номер недоступен этому ключу.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.

requestId*integer

Номер заявки на запуск: возьмите operation.id из ответа запуска или id из списка заявок. Отмена относится именно к этой заявке, а не ко всем проверкам проекта.

Диапазон1 <= value

Поля ответа

Успешный ответ

application/json
  1. response
id*integer

Числовой ID заявки; используйте его для чтения и отмены.

Диапазон0 < value
projectId*integer

Номер проекта, который нужно проверить. Он берется из поля id в ответе создания проекта или списка проектов.

Диапазон0 < value
status*string

Состояние заявки: queued — ожидает, assigned — готовится к запуску, started — проверка началась, cancelled — отменена, rejected — отклонена.

Допустимые значения"queued""assigned""started""cancelled""rejected"
scanId*|

ID созданного скана только для started; до старта и для остальных состояний null.

queuedAt*string

Время постановки в очередь в UTC, ISO 8601.

Форматdate-time
startedAt*|

Время фактического старта в UTC; null, пока заявка не started.

rejection*|

Причина есть только у rejected; в остальных состояниях null.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X POST 'https://rocketcrawler.ru/v1/scan-requests/REQUEST_ID/cancel' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "id": 731,  "projectId": 42,  "status": "started",  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "queuedAt": "2026-10-13T09:04:58.000Z",  "startedAt": "2026-10-13T09:05:00.000Z",  "rejection": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/all

Все URL

Список всех URL, которые попали в проверку.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/all?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают все сохраненные URL без дополнительного отбора. Смотрите url, statusCode, contentType, responseTime в миллисекундах и statusMessage. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/all?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "all",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/internal

Внутренние URL

Помогает проверить страницы своего сайта.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/internal?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают только внутренние URL. Начните с url, statusCode, pageTitle и pageDescription. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/internal?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "internal",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/external

Внешние URL

Показывает ссылки на другие сайты.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/external?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внешние URL, кроме служебных записей. Смотрите url, statusCode и source — страницу, на которой найдена ссылка. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/external?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "external",  "items": [    {      "url": "https://partner.example.net/offer",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": false,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/protocol

Протокол

Помогает найти HTTP-редиректы и проверить протокол.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/protocol?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают URL с кодом ответа от 200 до 399. statusCode — код ответа, redirectUrl — адрес назначения, isSecureConnection показывает HTTPS. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/protocol?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "protocol",  "items": [    {      "url": "http://example.org/old-page",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": "https://example.org/new-page",      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 301,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": false,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/time-respond

Время ответа

Помогает найти медленно отвечающие страницы.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/time-respond?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают URL с кодом от 200 до 399. Сравнивайте responseTime, loadTime и parsingTime: это миллисекунды. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/time-respond?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "time-respond",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/meta-robots

Meta Robots

Показывает директивы, которые могут запрещать индексирование.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/meta-robots?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200 или 201. Проверьте metaRobots, metaRobotsText, robotsTagValue и indexing; indexing не подтверждает данные поисковой системы. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/meta-robots?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "meta-robots",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": "noindex,follow",      "metaRobotsText": "noindex,follow",      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/title

Title

Помогает проверить заголовки страниц в поисковой выдаче.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/title?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200 или 201. pageTitle — текст title, pageTitleCount — число тегов, pageTitleSize — длина в символах. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/title?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "title",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "SEO-аудит сайта",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": 1,      "pageTitleSize": 15,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/description

Description

Помогает проверить meta description.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/description?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200 или 201. pageDescription — текст, pageDescriptionCount — число тегов, pageDescriptionSize — длина в символах. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/description?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "description",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": "Проверка технических ошибок сайта.",      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": 1,      "pageDescriptionSize": 35,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/keywords

Keywords

Показывает meta keywords, если они есть.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/keywords?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200 или 201. Смотрите pageKeywords и pageKeywordsCount; null означает отсутствие данных. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/keywords?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "keywords",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": "SEO, аудит",      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": 1,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/h1-h6

Заголовки H1–H6

Помогает проверить структуру заголовков страницы.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/h1-h6?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200 или 201. h1–h6 содержат первые заголовки, а headers — все тексты по уровням. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/h1-h6?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "h1-h6",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "SEO-аудит",      "h2": "Что проверяем",      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "SEO-аудит"        ],        "2": [          "Что проверяем"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/content

Содержимое

Помогает оценить текстовое содержимое страниц.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/content?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200 или 201. wordCount и charCount — количество слов и символов, textHtmlRatio — процент текста в ответе. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/content?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "content",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": 9371,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": 412,      "charCount": 2840,      "textHtmlRatio": 30.3,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/images

Изображения

Список изображений сайта.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/images?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние JPEG, PNG, GIF, SVG и ICO. Смотрите url, contentType, contentLength в байтах, alt и mediaTitle. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/images?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "images",  "items": [    {      "url": "https://example.org/images/logo.png",      "status": null,      "statusMessage": null,      "contentType": "image/png",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": null,      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": null,      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": null    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/videos

Видео

Список видеофайлов сайта.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/videos?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние ресурсы поддерживаемых video MIME-типов. Смотрите url, contentType, contentLength в байтах и HTTP-код. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/videos?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "videos",  "items": [    {      "url": "https://example.org/video/intro.mp4",      "status": null,      "statusMessage": null,      "contentType": "video/mp4",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": null,      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": null,      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": null    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/documents

Документы

Список документов, доступных на сайте.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/documents?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние PDF, Word и Excel-файлы поддерживаемых типов. Смотрите url, contentType, contentLength в байтах и HTTP-код. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/documents?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "documents",  "items": [    {      "url": "https://example.org/files/price.pdf",      "status": null,      "statusMessage": null,      "contentType": "application/pdf",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": null,      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": null,      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": null    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/duplicates

Дубликаты

Помогает найти страницы с одинаковым содержимым.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/duplicates?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200–299 и непустым normalizedContentHash. kind=title, description или h1 меняет вид поиска; сравнивайте url и normalizedContentHash. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

kind?string

Подвид дубликатов: all, html, title, description или h1. Не передавайте для других отчетов.

По умолчанию"all"
Допустимые значения"all""html""title""description""h1"

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/duplicates?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "duplicates",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": "e3b0c44298fc1c149afbf4c8996fb924",      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/hreflang

Hreflang

Помогает проверить языковые версии страниц.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/hreflang?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200 или 201. hreflang — указанное значение, languageVersions — число найденных языковых версий. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/hreflang?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "hreflang",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": "ru",      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": 3,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/pagerank

PageRank

Показывает внутренние HTML-страницы для анализа ссылочного веса.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/pagerank?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние text/html URL с кодом 200 или 201. pageRank — рассчитанное число, prStatus объясняет обычную страницу, редирект или тупиковую страницу. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/pagerank?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "pagerank",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": "OK",      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": 0.018,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      }    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/page-speed

PageSpeed

Возвращает результаты проверки скорости страниц PageSpeed.

Когда использовать

Чтобы узнать скорость загрузки и показатели производительности страниц. Этот запрос читает готовые результаты, а новую проверку PageSpeed не запускает.

Как сделать запрос

Возьмите номер проекта и currentScanId из ответа проекта. Подставьте их в /v1/projects/42/scans/SCAN_ID/reports/page-speed?limit=100, заменив 42 и SCAN_ID своими значениями.

Как понять ответ

В items находятся подходящие страницы и последнее доступное измерение для каждой из них. device показывает устройство из настроек аккаунта; checkedAt — когда сделано измерение. Если измерения нет, checkedAt и показатели равны null. При ошибке смотрите errorMessage. Отчет охватывает первые 1000 подходящих URL.

Что делать дальше

Если nextCursor не равен null, передайте его как cursor в следующий такой же запрос. Сравнивайте показатели вместе с device и checkedAt: результаты могут обновляться после завершения обхода.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/page-speed?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "page-speed",  "items": [    {      "url": "https://example.org/",      "statusCode": 200,      "device": "desktop",      "score": 92,      "fcp": 840,      "si": 1120,      "lcp": 1380,      "tti": 1640,      "tbt": 40,      "cls": 0.02,      "htmlKb": 18.4,      "cssKb": 42.1,      "jsKb": 86.7,      "imagesKb": 122.3,      "fontsKb": 31.5,      "totalKb": 300.9,      "errorCode": null,      "errorMessage": null,      "checkedAt": "2026-10-13T08:50:00.000Z"    }  ],  "total": 1,  "nextCursor": null}
get/v1/projects/{projectId}/scans/{scanId}/reports/data-extraction

Извлечение данных

Показывает значения, извлеченные из страниц правилами проекта.

Когда использовать

Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список URL.

Как сделать запрос

Подставьте номер проекта и строку currentScanId из ответа проекта в адрес отчета. Например: /v1/projects/42/scans/SCAN_ID/reports/data-extraction?limit=100. Число 42 и SCAN_ID — примеры: берите свои значения.

Как понять ответ

Попадают внутренние HTML-страницы с кодом 200. columns перечисляет названия полей, а extraction содержит значения этих полей; null означает, что значение не найдено. Поле items содержит строки, total — число строк в этом отчете, а null у измерения означает, что его не удалось получить при проверке.

Что делать дальше

Если nextCursor не равен null, скопируйте эту строку целиком и передайте как cursor в следующий такой же запрос. Когда nextCursor: null, список закончился. По нужному URL откройте подходящий отчет или исправьте проблему на сайте и запустите новую проверку.

Проверить метод: выполнить запрос

Выполнить запрос

Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.

projectId*integer

Номер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.

Диапазон1 <= value
scanId*string

Идентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.

limit?integer

Сколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.

Диапазон1 <= value <= 1000
По умолчанию100
cursor?string

Для первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.

Поля ответа

Успешный ответ

application/json
  1. response
projectId*integer

Номер проекта, к которому относится эта проверка или отчет.

Диапазон0 < value
scanId*string

ID запрошенного запуска.

report*string

Имя запрошенного отчета.

nextCursor*|

Строка для получения следующей страницы; null означает конец списка.

items*array<>

Строки отчета текущей страницы.

total*integer

Число строк, попадающих в фильтр отчета.

Диапазон0 <= value
columns*array<>

Состав динамических полей extraction.

Авторизация

bearerAuth
headerAuthorizationBearer <token>

API-ключ РокетКраулер. Получите его в кабинете API: /account/client-api/. В запросе передавайте заголовок Authorization: Bearer YOUR_API_KEY.

curl --fail-with-body --silent --show-error -X GET 'https://rocketcrawler.ru/v1/projects/PROJECT_ID/scans/SCAN_ID/reports/data-extraction?limit=100' \  -H 'Authorization: Bearer YOUR_API_KEY'
{  "projectId": 42,  "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ",  "report": "data-extraction",  "items": [    {      "url": "https://example.org/catalog/",      "status": null,      "statusMessage": null,      "contentType": "text/html; charset=utf-8",      "contentCharset": null,      "redirectUrl": null,      "server": null,      "pageCanonicalUrl": null,      "metaRefreshContent": null,      "metaRefreshUrl": null,      "pageBaseHref": null,      "inRobotsTxtString": null,      "metaRobots": null,      "metaRobotsText": null,      "robotsTagValue": null,      "pageTitle": "Каталог — Example",      "pageDescription": null,      "pageKeywords": null,      "normalizedContentHash": null,      "alt": null,      "mediaTitle": null,      "source": null,      "hreflang": null,      "prStatus": null,      "urlLength": null,      "statusCode": 200,      "contentLength": null,      "responseTime": 182,      "loadTime": null,      "parsingTime": null,      "pageCanonicalCount": null,      "metaRefreshDelay": null,      "pageBaseCount": null,      "pageTitleCount": null,      "pageTitleSize": 17,      "titleLengthPx": null,      "pageDescriptionCount": null,      "pageDescriptionSize": null,      "descriptionLengthPx": null,      "pageKeywordsCount": null,      "wordCount": null,      "charCount": null,      "textHtmlRatio": null,      "uniqueness": null,      "distanceFromIndex": null,      "level": null,      "incomeLinksCount": null,      "internalLinksCount": null,      "externalLinksCount": null,      "languageVersions": null,      "pageRank": null,      "isSecureConnection": true,      "static": null,      "hasMetaRefresh": null,      "indexing": true,      "internal": true,      "h1": "Каталог",      "h2": null,      "h3": null,      "h4": null,      "h5": null,      "h6": null,      "h11": null,      "h11Size": null,      "h12": null,      "h12Size": null,      "h13": null,      "h13Size": null,      "h14": null,      "h14Size": null,      "h21": null,      "h21Size": null,      "h22": null,      "h22Size": null,      "h23": null,      "h23Size": null,      "h24": null,      "h24Size": null,      "h25": null,      "h25Size": null,      "h31": null,      "h31Size": null,      "h32": null,      "h32Size": null,      "h41": null,      "h41Size": null,      "h42": null,      "h42Size": null,      "h51": null,      "h51Size": null,      "h52": null,      "h52Size": null,      "h53": null,      "h53Size": null,      "h61": null,      "h61Size": null,      "h62": null,      "h62Size": null,      "lastModified": null,      "prev": null,      "next": null,      "refresh": null,      "alternateMedia": null,      "mediaUrl": null,      "headers": {        "1": [          "Каталог"        ]      },      "extractionTotal": 1,      "extraction": {        "price": "1290 ₽"      }    }  ],  "total": 1,  "nextCursor": null,  "columns": [    {      "key": "price",      "label": "price",      "type": "string"    }  ]}