РокетКраулер / Главная / API
Документация API
Быстрый старт
Что можно сделать
API позволяет создавать проекты, запускать проверку сайта и получать ее результаты в табличных отчетах.
Первая проверка сайта
- Создайте API-ключ в кабинете API и сохраните его в защищенном месте.
- Передайте ключ в каждом запросе в заголовке Authorization: Bearer YOUR_API_KEY.
- Проверьте ключ любым запросом, например GET /v1/projects: он вернет список ваших проектов.
- Создайте проект запросом POST /v1/projects. Если проверяете готовый список страниц, используйте POST /v1/projects/from-urls.
- Запустите проверку запросом POST /v1/projects/{projectId}/start и сохраните номер заявки из operation.id.
- Проверяйте заявку через GET /v1/scan-requests/{requestId}. Когда ее status станет started, используйте scanId для запроса отчетов.
Что означают ответы
Ответ 201 означает, что проект создан. Ответ 202 после запуска означает, что заявка принята и ожидает начала проверки. Отчеты запрашиваются по адресу /v1/projects/{projectId}/scans/{scanId}/reports/{report}.
Ключ и авторизация
Как получить ключ
- Откройте кабинет API по ссылке в начале этой страницы. Если сервис попросит войти, войдите в свой аккаунт РокетКраулер и вернитесь в кабинет.
- Нажмите «Сгенерировать ключ».
- Скопируйте ключ из поля в кабинете и сохраните его в защищенном хранилище. Действующий ключ можно снова посмотреть в этом кабинете.
Как отправлять запросы
- Добавьте к каждому запросу /v1 заголовок Authorization: Bearer YOUR_API_KEY. Вместо YOUR_API_KEY вставьте полный ключ, сохранив слово Bearer и пробел перед ключом.
- При ответе 401 проверьте, что в заголовке указан действующий ключ целиком.
Если ключ потерян или его нужно заменить
Для одного аккаунта действует один ключ. Если ключ потерян, скопируйте его снова в кабинете. Если ключ стал известен посторонним, замените его.
- В кабинете API нажмите «Обновить ключ».
- Скопируйте новый ключ и замените его во всех интеграциях. Прежний ключ сразу перестает работать.
Проекты, проверки и заявки
Сканирование и поиск по содержимому доступны только для публичных сайтов в интернете. Адреса localhost и сайты во внутренней сети не поддерживаются.
Три значения, которые нужны в запросах
- projectId — номер проекта. Возьмите поле id из ответа создания проекта или из GET /v1/projects. Используйте его для запуска, остановки и списка проверок проекта.
- scanId — идентификатор конкретной проверки. Возьмите currentScanId из проекта или id из GET /v1/projects/{projectId}/scans. Используйте его для состояния проверки и отчетов.
- requestId — номер заявки на запуск. Возьмите operation.id из ответа start и используйте его в GET /v1/scan-requests/{requestId} или при отмене заявки.
Как выбрать правильное значение
Номер проекта и идентификатор проверки — разные значения: в адресе отчета нужны оба. Копируйте scanId целиком. Если currentScanId равен null, проверка еще не доступна. У проекта из списка URL поле url равно null; это нормально.
Запуск, очередь и остановка
Как дождаться начала проверки
- Отправьте POST /v1/projects/{projectId}/start без полей в теле запроса.
- При ответе 202 сохраните operation.id и запрашивайте GET /v1/scan-requests/{requestId}.
- Статусы queued и assigned означают, что заявка ожидает. При started скопируйте scanId и переходите к отчетам. При rejected прочитайте причину в rejection.
Пауза, отмена и новая проверка
- Чтобы временно остановить начатую проверку, используйте POST /v1/projects/{projectId}/pause; для продолжения снова вызовите start.
- Чтобы отменить ожидающую заявку, отправьте POST /v1/scan-requests/{requestId}/cancel. Отмена относится только к этой заявке.
- Если проверка уже началась, остановите ее запросом POST /v1/projects/{projectId}/stop. После остановки или завершения следующая проверка получит новый scanId.
Повторный запрос
Если start вернул 200, проверка уже идет. При сомнении после сетевой ошибки сначала запросите проект или заявку, а затем решайте, нужно ли повторять команду.
Пагинация и отчеты
Как читать список целиком
Для списков проектов и проверок limit принимается от 1 до 100, для табличных отчетов — от 1 до 1000. Не используйте cursor из другого проекта, запуска, отчета или набора параметров.
- В первом запросе передайте нужный limit и не передавайте cursor.
- Прочитайте items и total в ответе.
- Если nextCursor содержит строку, скопируйте ее в параметр cursor следующего такого же запроса.
- Повторяйте запросы, пока nextCursor не станет null.
Параметры отдельных отчетов
- Для отчета duplicates передайте kind, если нужен определенный вид совпадений: all, html, title, description или h1.
- Для custom-search передайте conditions с условиями поиска и при необходимости logic со значением and или or. В этом отчете limit не может быть больше 15.
- Продолжайте custom-search по nextCursor даже при пустом items: total в этом отчете всегда null, а следующая страница может содержать совпадения.
Что учитывать при чтении результатов
Пока проверка выполняется, строки и total могут меняться. PageSpeed возвращает сохраненные измерения и не запускает новый аудит; доступно не более 1000 подходящих URL. В data-extraction поле columns описывает поля, которые есть в результатах. Значение null означает, что данных для поля нет.
Ошибки и следующие действия
Как прочитать ошибку
Ошибка приходит в виде { error: { code, message, requestId } }. Используйте code для обработки в программе, message — для объяснения пользователю, а requestId — при обращении в поддержку.
Что делать по HTTP-коду
- 400 INVALID_REQUEST или INVALID_CURSOR: проверьте тело запроса, параметры и cursor. Для новой выборки начните без cursor.
- 401 UNAUTHORIZED: создайте или перевыпустите ключ в кабинете и передайте его в заголовке Authorization.
- 404 NOT_FOUND: убедитесь, что projectId, scanId или requestId получены тем же API-ключом.
- 409 INVALID_STATE, SCAN_REPLACED или ACTIVE_SCAN_CONFLICT: сначала получите текущее состояние проекта или заявки и выполните действие, которое подходит этому состоянию.
- 422 PROJECT_LIMIT_REACHED или CRAWL_LIMIT_REACHED: уменьшите объем работы или проверьте доступные ограничения аккаунта.
- 503 DEPENDENCY_UNAVAILABLE: повторите запрос позже. 500 INTERNAL_ERROR: сохраните requestId и обратитесь в поддержку.
- 413 INVALID_REQUEST: тело запроса больше 5 MiB. Уменьшите его размер и повторите запрос.
Проверяйте код ответа
Не обрабатывайте тело ошибки как успешный результат. Успешный ответ 204 не содержит тела.
/v1/account/balanceБаланс аккаунта
Показывает число, которое хранится как баланс вашего аккаунта.
Когда использовать
Чтобы показать баланс в своем интерфейсе. API не сообщает валюту и правила списаний.
Как сделать запрос
Отправьте GET на /v1/account/balance с API-ключом. Номера в других примерах здесь не нужны.
Как понять ответ
balance — строка вида 1250.0000: четыре знака после точки сохранены как в базе. Это не сумма в объявленной валюте.
Что делать дальше
Покажите значение пользователю или сохраните его для сравнения с последующим запросом.
Проверить метод: выполнить запрос
Выполнить запрос
Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.
Успешный ответ
application/json- response
balance*stringТекущее значение DECIMAL аккаунта с четырьмя знаками после точки. API не задает валюту и не описывает биллинг.
^-?\d+\.\d{4}$bearerAuthAuthorizationBearer <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"}/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 <= 100100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
items*array<>Проекты текущей страницы.
total*integerСколько проектов доступно вашему аккаунту на момент запроса.
0 <= valuenextCursor*|Курсор следующей страницы или null, если текущая страница последняя.
bearerAuthAuthorizationBearer <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}/v1/projects/{projectId}Получение состояния проекта
Показывает, что сейчас происходит с одним вашим проектом: идет ли проверка сайта, закончилась ли она и какие результаты можно получить. Запрос только читает данные — он не запускает проверку и ничего не меняет.
Когда использовать
После создания проекта — чтобы проверить его состояние. После запуска обхода — чтобы узнать, началась ли работа. Позже — чтобы получить идентификатор проверки и прочитать ее отчеты.
Как сделать запрос
- Получите номер своего проекта из ответа «Создание проекта» или «Список проектов». Он находится в поле
id. - Подставьте этот номер вместо
{projectId}в адрес запроса. Например, еслиidравен42, адрес будет/v1/projects/42. Число 42 здесь только пример; используйте номер своего проекта. - Отправьте GET-запрос с API-ключом. Пример команды есть справа. Если используете форму «Проверить метод», введите ключ и номер проекта.
Как понять ответ
| Поле | Что означает и как использовать |
|---|---|
id | Номер проекта. Используйте его в следующих запросах к этому проекту. При повторной проверке сайта этот номер сохраняется. |
title | Название проекта, например «Сайт компании». |
url | Стартовый адрес сайта. Если проект создан из списка отдельных URL, здесь будет null, потому что у него нет одного стартового адреса. |
source | website — проект создан от адреса сайта; 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- response
id*integerНомер проекта. При повторных проверках сайта он остается прежним.
0 < valueurl*|Стартовый URL проекта website; у url_list всегда null.
title*stringНазвание проекта, заданное при создании.
status*stringТекущее состояние актуальной версии проекта.
"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"source*stringwebsite — обход от стартового URL; url_list — проект создан из списка URL.
"website""url_list"currentScanId*|ID актуального скана для запросов отчетов; null, если запуска еще нет.
createdAt*|Время создания проекта в UTC; null для старых записей без корректной даты.
operation*|Последняя заявка на запуск проверки проекта. Она может ждать запуска, быть уже выполненной, отмененной или отклоненной. null — заявки еще не было.
bearerAuthAuthorizationBearer <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}/v1/projectsСоздание проекта сайта
Добавляет сайт для проверки от одного стартового адреса.
Когда использовать
Когда нужно проверить обычный сайт целиком.
Как сделать запрос
Отправьте POST на /v1/projects с телом {"url":"https://example.org/","title":"Сайт компании"}. Адрес и название в примере замените своими.
Как понять ответ
Запомните id: это номер проекта. status: CREATED означает, что сайт добавлен, но проверка еще не началась.
Что делать дальше
Вызовите /v1/projects/42/start, подставив свой id. 401 означает неверный ключ, 422 — неподходящее тело запроса.
Проверить метод: выполнить запрос
Выполнить запрос
Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.
Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.
application/json- body
url*stringСтартовый абсолютный URL сайта, до 255 символов.
uri1 <= length <= 255title*stringНазвание проекта, до 255 символов. Можно передать пустую строку.
length <= 255Успешный ответ
application/json- response
id*integerНомер проекта. При повторных проверках сайта он остается прежним.
0 < valueurl*|Стартовый URL проекта website; у url_list всегда null.
title*stringНазвание проекта, заданное при создании.
status*stringТекущее состояние актуальной версии проекта.
"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"source*stringwebsite — обход от стартового URL; url_list — проект создан из списка URL.
"website""url_list"currentScanId*|ID актуального скана для запросов отчетов; null, если запуска еще нет.
createdAt*|Время создания проекта в UTC; null для старых записей без корректной даты.
operation*|Последняя заявка на запуск проверки проекта. Она может ждать запуска, быть уже выполненной, отмененной или отклоненной. null — заявки еще не было.
bearerAuthAuthorizationBearer <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}/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- body
title*stringНепустое название после обрезки пробелов, до 255 символов.
1 <= length <= 255urls*array<>От 1 до 20 000 адресов длиной до 2048 символов. Передавайте полные адреса страниц, например https://example.com/about.
1 <= items <= 20000Успешный ответ
application/json- response
id*integerНомер проекта. При повторных проверках сайта он остается прежним.
0 < valueurl*|Стартовый URL проекта website; у url_list всегда null.
title*stringНазвание проекта, заданное при создании.
status*stringТекущее состояние актуальной версии проекта.
"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"source*stringwebsite — обход от стартового URL; url_list — проект создан из списка URL.
"website""url_list"currentScanId*|ID актуального скана для запросов отчетов; null, если запуска еще нет.
createdAt*|Время создания проекта в UTC; null для старых записей без корректной даты.
operation*|Последняя заявка на запуск проверки проекта. Она может ждать запуска, быть уже выполненной, отмененной или отклоненной. null — заявки еще не было.
bearerAuthAuthorizationBearer <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}/v1/projects/{projectId}Удаление проекта и его истории
Удаляет проект и сохраненные результаты его проверок.
Когда использовать
Только когда история этого сайта больше не нужна.
Как сделать запрос
Отправьте DELETE на /v1/projects/42, где 42 — ваш номер проекта.
Как понять ответ
204 означает успех и не содержит JSON-ответа.
Что делать дальше
Обновите свой список проектов. 404 означает, что номер уже недоступен этому ключу.
Проверить метод: выполнить запрос
Выполнить запрос
Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.
Этот запрос изменяет данные аккаунта. Он выполняется только по нажатию кнопки.
projectId*integerНомер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.
1 <= valueПроект удален
bearerAuthAuthorizationBearer <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'/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- response
project*Проект после обработки команды.
scan*|Актуальный скан, если он уже доступен; иначе null.
operation*|Заявка очереди, созданная или найденная командой; иначе null.
bearerAuthAuthorizationBearer <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}/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- response
project*Проект после обработки команды.
scan*|Актуальный скан, если он уже доступен; иначе null.
operation*|Заявка очереди, созданная или найденная командой; иначе null.
bearerAuthAuthorizationBearer <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}/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- response
project*Проект после обработки команды.
scan*|Актуальный скан, если он уже доступен; иначе null.
operation*|Заявка очереди, созданная или найденная командой; иначе null.
bearerAuthAuthorizationBearer <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}/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 <= valuelimit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 100100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
items*array<>Запуски текущей страницы.
total*integerЧисло доступных запусков в истории.
0 <= valuenextCursor*|Курсор следующей страницы или null.
bearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
Успешный ответ
application/json- response
id*stringИдентификатор одной проверки сайта. Это строка: скопируйте ее целиком и передайте как scanId при чтении отчета.
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuestatus*stringСостояние проекта на момент выдачи этого запуска.
"CREATED""PROCESSING""CHECKING""PAUSED""STOPPED""COMPLETED"startedAt*|Время старта в UTC; null, когда историческая дата недоступна.
elapsedMs*|Длительность проверки в миллисекундах; null, если значение еще недоступно.
isCurrent*booleantrue для актуального запуска проекта; false для сохраненной истории.
progress*|Количество обработанных и ожидающих URL текущей проверки. Для прошлых проверок или при недоступных данных — null.
bearerAuthAuthorizationBearer <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 }}/v1/scan-requestsАктивные заявки запуска
Показывает только заявки, которые еще ждут запуска: queued или assigned.
Когда использовать
Чтобы увидеть, какие проверки пока стоят в очереди.
Как сделать запрос
Вызовите /v1/scan-requests с API-ключом.
Как понять ответ
В items есть номер заявки id, номер проекта projectId и ее состояние. Начатая заявка здесь исчезает, поэтому этот список не подходит для ожидания результата.
Что делать дальше
Сразу сохраните id после start и опрашивайте /v1/scan-requests/731, где 731 — ваш номер. Там после started появится scanId.
Проверить метод: выполнить запрос
Выполнить запрос
Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.
Успешный ответ
application/json- response
items*array<>Заявки запуска, доступные текущему аккаунту; ответ не разбит на страницы.
bearerAuthAuthorizationBearer <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 } ]}/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- response
id*integerЧисловой ID заявки; используйте его для чтения и отмены.
0 < valueprojectId*integerНомер проекта, который нужно проверить. Он берется из поля id в ответе создания проекта или списка проектов.
0 < valuestatus*stringСостояние заявки: queued — ожидает, assigned — готовится к запуску, started — проверка началась, cancelled — отменена, rejected — отклонена.
"queued""assigned""started""cancelled""rejected"scanId*|ID созданного скана только для started; до старта и для остальных состояний null.
queuedAt*stringВремя постановки в очередь в UTC, ISO 8601.
date-timestartedAt*|Время фактического старта в UTC; null, пока заявка не started.
rejection*|Причина есть только у rejected; в остальных состояниях null.
bearerAuthAuthorizationBearer <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}/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- response
id*integerЧисловой ID заявки; используйте его для чтения и отмены.
0 < valueprojectId*integerНомер проекта, который нужно проверить. Он берется из поля id в ответе создания проекта или списка проектов.
0 < valuestatus*stringСостояние заявки: queued — ожидает, assigned — готовится к запуску, started — проверка началась, cancelled — отменена, rejected — отклонена.
"queued""assigned""started""cancelled""rejected"scanId*|ID созданного скана только для started; до старта и для остальных состояний null.
queuedAt*stringВремя постановки в очередь в UTC, ISO 8601.
date-timestartedAt*|Время фактического старта в UTC; null, пока заявка не started.
rejection*|Причина есть только у rejected; в остальных состояниях null.
bearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/meta-robotsMeta 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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/titleTitle
Помогает проверить заголовки страниц в поисковой выдаче.
Когда использовать
Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список 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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/descriptionDescription
Помогает проверить 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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/keywordsKeywords
Показывает 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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
kind?stringПодвид дубликатов: all, html, title, description или h1. Не передавайте для других отчетов.
"all""all""html""title""description""h1"Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/hreflangHreflang
Помогает проверить языковые версии страниц.
Когда использовать
Используйте этот отчет после запуска проверки, когда нужен именно этот срез, а не весь список 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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/pagerankPageRank
Показывает внутренние 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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/page-speedPageSpeed
Возвращает результаты проверки скорости страниц 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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuebearerAuthAuthorizationBearer <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}/v1/projects/{projectId}/scans/{scanId}/reports/custom-searchПоиск по содержимому
Ищет совпадения в текущем содержимом страниц по настроенным условиям поиска.
Когда использовать
Чтобы найти текст или другие совпадения на страницах сайта. Передайте условия поиска в параметре conditions, например [{"operator":"contains","value":"SEO"}]. Для объединения условий используйте logic: and требует все условия, or — хотя бы одно.
Как сделать запрос
Возьмите номер проекта и currentScanId из ответа проекта. Подставьте их в /v1/projects/42/scans/SCAN_ID/reports/custom-search?limit=15, заменив 42 и SCAN_ID своими значениями.
Как понять ответ
items содержит найденные совпадения, totalCandidates — сколько страниц подходит для проверки, processedCandidates — сколько страниц проверено этим запросом. Один запрос проверяет не более 15 страниц. total всегда null: общее число совпадений заранее неизвестно. Проверяется содержимое сайта на момент запроса, даже если выбран старый scanId.
Что делать дальше
Передавайте nextCursor как cursor в следующий такой же запрос, пока nextCursor не станет null. Продолжайте и при пустом items: на этой группе страниц совпадений могло не быть, но следующие страницы еще нужно проверить.
Проверить метод: выполнить запрос
Выполнить запрос
Ключ хранится только в памяти этой страницы. Запрос отправляется прямо в API.
projectId*integerНомер своего проекта: возьмите поле id из ответа создания проекта или списка проектов. Например, 42. Для чужого или несуществующего проекта ответ будет 404.
1 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько адресов сайта проверить за один запрос: от 1 до 15. Это число адресов, а не число совпадений в ответе; совпадений может быть больше.
1 <= value <= 1515cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
logic?stringЛогика объединения условий поиска: and требует все условия, or — хотя бы одно.
"and""and""or"conditions?stringJSON-массив до 20 условий {operator,value}; value до 2000 символов. Операторы: contains, not_contains, exact, starts_with, ends_with, empty, missing.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
source*stringПоиск читает содержимое URL во время запроса, а не снимок скана.
items*array<>Совпадения, найденные на страницах, проверенных этим запросом.
total*nullОбщее число совпадений неизвестно и всегда null.
totalCandidates*integerОбщее число HTML-страниц, подходящих для поиска среди URL выбранной проверки.
0 <= valueprocessedCandidates*integerСколько страниц сайта проверено этим запросом; не больше limit, максимум 15.
0 <= valuebearerAuthAuthorizationBearer <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/custom-search?limit=15' \ -H 'Authorization: Bearer YOUR_API_KEY'{ "projectId": 42, "scanId": "eyJ2IjoxLCJyb3ciOjQyLCJydW4iOiJydW4tMjAyNi0xMC0xM1QwOTowMDowMFoifQ", "report": "custom-search", "source": "live-content", "items": [ { "url": "https://example.org/catalog/", "contentType": "text/html", "searchCondition": "Содержит", "foundValue": "SEO", "found": 1 } ], "total": null, "totalCandidates": 248, "processedCandidates": 15, "nextCursor": "eyJ2IjoxLCJzY29wZSI6IjQyOnByb2plY3RzIiwib2Zmc2V0IjoxMDB9"}/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 <= valuescanId*stringИдентификатор проверки: скопируйте currentScanId из ответа проекта или id из списка проверок. Передайте строку целиком. Номер проекта вместо нее не подходит.
limit?integerСколько записей вернуть на одной странице. Например, limit=50 вернет до 50 записей. Максимум 100 для списка проектов и проверок, 1000 для отчетов.
1 <= value <= 1000100cursor?stringДля первой страницы не передавайте этот параметр. Для следующей скопируйте сюда nextCursor из предыдущего ответа. Когда nextCursor равен null, вы прочитали все страницы.
Успешный ответ
application/json- response
projectId*integerНомер проекта, к которому относится эта проверка или отчет.
0 < valuescanId*stringID запрошенного запуска.
report*stringИмя запрошенного отчета.
nextCursor*|Строка для получения следующей страницы; null означает конец списка.
items*array<>Строки отчета текущей страницы.
total*integerЧисло строк, попадающих в фильтр отчета.
0 <= valuecolumns*array<>Состав динамических полей extraction.
bearerAuthAuthorizationBearer <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" } ]}