Сессии парсинга
Получение именно тех данных, которые вы только что спарсили через расширение — проверка статуса сессии и выгрузка данных после слияния
Каждый запуск парсинга в расширении — одна страница или массовый сбор — становится
одной сессией парсинга, привязанной к вашему аккаунту. GET /products и остальные
эндпоинты на этом сайте ищут по всему общему датасету; эти три эндпоинта всегда
возвращают только ваши собственные данные.
GET /me/scrapes — это способ его найти.Список ваших последних парсингов
curl -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/me/scrapes"{
"data": [
{
"id": "b1f8b6b0-2f7d-4a1a-9a3c-2f6d8e9a1234",
"status": "processing",
"stats": { "total": 40, "pending": 12, "processing": 0, "merged": 28, "rejected": 0, "flagged": 0 },
"metadata": { "source_type": "bulk", "intent": "data", "url_count": 40 },
"created_at": "2026-08-04T10:15:00.000Z",
"updated_at": "2026-08-04T10:16:42.000Z"
}
],
"meta": { "total": 1, "page": 1, "page_size": 100 }
}Сначала самые новые, без параметров фильтрации — это всегда история именно вашего аккаунта.
Проверка статуса сессии
status становится completed, как только в сессии не остаётся ничего в
pending/processing — это не означает «каждый элемент обязательно успешно слился».
Точную разбивку смотрите в stats.
curl -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/me/scrapes/b1f8b6b0-2f7d-4a1a-9a3c-2f6d8e9a1234"status почти всегда processing. Опрашивайте этот эндпоинт (или просто повторяйте запрос к .../products ниже), пока статус не станет completed, а не считайте, что парсинг завершён сразу же после того, как расширение закончило работу.Получение спарсенных данных
Когда у вас есть id сессии, это и есть тот самый эндпоинт «дай мне то, что я только что собрал» — он возвращает каждый сабмишен в сессии, а не только уже слитые:
curl -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/me/scrapes/b1f8b6b0-2f7d-4a1a-9a3c-2f6d8e9a1234/products" \
--data-urlencode "page_size=100"{
"data": [
{ "submission_status": "merged", "product": { "id": "e86bee19-...", "name": "..." } },
{ "submission_status": "pending", "product": null }
],
"meta": { "total": 40, "page": 1, "page_size": 100 }
}product равен null, пока конкретный элемент ещё не слит — это осознанное поведение,
а не баг: если бы ещё не слитые строки просто опускались, свежий парсинг первую
минуту-другую выглядел бы как пустая страница. Слитый product — точно тот же формат
объекта, что возвращает GET /products.
product — плейсхолдер pending квоту не расходует, поэтому повторные запросы к ещё обрабатывающейся сессии ничего не стоят.Last updated on