Коды ответов API
Parser API обрабатывает запросы на парсинг асинхронно. При создании задачи сразу возвращается её id, а затем по этому id вы запрашиваете результат, пока задача не завершится. Кредиты списываются только за успешные задачи — если задача завершилась с ошибкой, кредиты возвращаются на баланс.
HTTP-коды ответов
У каждого ответа API есть HTTP-код. 200 означает, что запрос принят. Любой другой код означает, что запрос не принят: задача не создана или не найдена.
| Код | Описание | Что делать |
|---|---|---|
| 200 | Запрос принят. Статус задачи смотрите в поле status — см. Статусы задачи | — |
| 400 | Неверное тело запроса или параметры | Исправьте запрос и отправьте его снова |
| 401 | API-ключ не передан, неверный или отключён | Проверьте заголовок Authorization: Bearer YOUR_API_KEY и ключ в личном кабинете |
| 402 | Недостаточно кредитов или срок их действия истёк | Пополните баланс или продлите тариф |
| 403 | У API-ключа нет доступа к этому парсеру | Разрешите парсер для этого ключа в личном кабинете |
| 404 | Парсер или задача с таким id не найдены | Проверьте адрес эндпоинта и id задачи |
| 409 | Задачу не удалось создать из-за конфликтующего запроса | Отправьте запрос ещё раз |
| 429 | Слишком много запросов или исчерпан дневной либо месячный лимит ключа | Дождитесь времени из заголовка X-RateLimit-Reset и повторите запрос |
| 500 | Ошибка на нашей стороне | Повторите запрос позже |
| 503 | Сервис временно перегружен | Повторите запрос через число секунд из заголовка Retry-After |
Тело ответа при ошибке
Если запрос не принят, в теле ответа приходит поле error с кратким описанием:
{
"error": "Insufficient credits"
}
Для кода 400 в ответе есть также поле details со списком отклонённых полей запроса:
{
"error": "Validation failed",
"details": {
"url": ["Invalid URL"]
}
}
В некоторых ошибках есть также поле code. Если у ключа нет доступа к парсеру, код 403 возвращает API_KEY_SCOPE_DENIED и недостающее разрешение:
{
"error": "this key has no access to scope \"url\"",
"code": "API_KEY_SCOPE_DENIED",
"scope": "url"
}
При перегрузке сервис возвращает 503 с "code": "SERVICE_BUSY".
Статусы задачи
Эндпоинт результата (GET /api/parsing/v1/result/{parser}/{requestId}) возвращает статус задачи в поле status. Статусы одинаковые для всех парсеров.
| Статус | Описание |
|---|---|
queued | Задача создана и ждёт в очереди. Этот же статус возвращает запрос на создание задачи |
parsing | Задача выполняется |
ready | Задача завершена. Успешно ли — видно в data, см. ниже |
cancelled | Задача отменена в личном кабинете |
Пока статус queued или parsing, повторите запрос через несколько секунд. ready и cancelled — окончательные статусы.
Если результат задачи не получен за 3 часа, она завершается как неудачная: статус становится ready, data.success равно false, а data.error — "Parsing request timed out after three hours". Кредиты за неё возвращаются на баланс.
Как понять, что задача выполнена успешно
ready означает, что задача завершена, но не обязательно успешно. Как выглядит неудачная задача, зависит от парсера:
| Парсер | Задача не удалась, если | Где результаты |
|---|---|---|
| URL Парсер | data.success равно false, причина — в data.error | data |
| Google SERP, Yandex SERP | есть поле data.error | data |
| Google News, Google Trends, MSN, Opera News, Galaxy Store Reviews | data.success равно false, причина — в data.error | data.data |
У URL Парсера в data.error приходит короткий код ошибки, например SYSTEM_ERR или NOT_ENOUGH_HTML_ERR, а в data.errorFull — подробности, если они есть. В неудачной задаче всё равно может быть загруженное содержимое страницы в content. У остальных парсеров в неудачной задаче нет data.data.
URL Парсер — задача не удалась:
{
"status": "ready",
"requestId": "5cfce409-1a30-4181-88eb-75b995499cd0",
"data": {
"url": "https://nonexistent-domain.example",
"time": "0.77",
"content": "",
"success": false,
"error": "SYSTEM_ERR",
"errorFull": "unknown error: net::ERR_NAME_NOT_RESOLVED"
},
"respondedAt": "2026-01-01T00:00:03.240Z"
}
Google SERP, Yandex SERP — задача завершилась по тайм-ауту. В остальных неудачных задачах SERP есть только data.error, без data.success:
{
"status": "ready",
"requestId": "abaf4ac3-d9e7-43f2-a414-e7d2ca9ff635",
"data": {
"success": false,
"error": "Parsing request timed out after three hours"
},
"respondedAt": "2026-01-01T00:00:03.240Z"
}
Google News, Google Trends, MSN, Opera News, Galaxy Store Reviews — задача не удалась:
{
"status": "ready",
"requestId": "8f2d1c6e-4b7a-4e3f-9a51-2c0d7e6b9f14",
"data": {
"success": false,
"error": "[msn] HTTP 400"
},
"respondedAt": "2026-01-01T00:00:03.240Z"
}
Если запрос не прошёл
- Повторите запрос. Задача может не выполниться из-за временной проблемы на стороне сайта; повторный запрос обычно проходит. За неудачные задачи кредиты не списываются.
- Проверьте параметры. Если запрос не проходит снова и снова, сверьте тело запроса с описанием парсера.
- Напишите в поддержку. Если ничего не помогает, напишите на support@parsering.com и укажите
idзадачи.
Дальнейшие шаги
- Начало работы — выполните первый запрос
- Тарифы — как списываются кредиты