История цен
Когда достаточно текущей цены из ответа поиска, а когда нужен отдельный запрос истории — с примером анализа динамики.
Текущая цена уже у вас есть
Каждый товар в ответе GET /products и GET /products/{id} уже содержит массив
prices — по одной записи на каждую фактически встреченную тройку (страна, регион,
статус авторизации):
"prices": [
{
"country_code": "ru",
"region_code": null,
"user_auth_status": "anonymous",
"price": 7093,
"old_price": 8651,
"currency": "RUB",
"recorded_at": "2026-08-02T23:21:53.185302+00:00"
}
]country_code отражает страновой домен маркетплейса (например, .ru/.kz/.by/.am у Wildberries) — один и тот же товар может стоить по-разному в разных странах, поэтому это отдельное измерение, не сводимое к region_code (более точный, часто отсутствующий признак — сохранённый адрес доставки).GET /products/{id}/price-history нужен только для анализа динамики — если вам достаточно знать текущую цену, он не нужен вовсе.Когда нужна история
GET /products/{id}/price-history возвращает полную временную серию наблюдений — для
построения графика, отслеживания частоты изменений или расчёта средней цены за период.
curl -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/products/e86bee19-9cc9-4a83-b9cc-6b61f1209d90/price-history" \
--data-urlencode "from=2026-08-01T00:00:00Z" \
--data-urlencode "to=2026-08-02T23:59:59Z"{
"data": [
{ "price": 7093, "old_price": 8651, "recorded_at": "2026-08-02T23:21:53.185302+00:00", "...": "..." },
{ "price": 6993, "old_price": 8688, "recorded_at": "2026-08-01T01:03:17.999423+00:00", "...": "..." }
],
"meta": { "total": 2, "page": 1, "page_size": 100 }
}from и to необязательны — без них вернётся вся доступная история товара, от новых
записей к старым. Если нужна конкретная страна, регион или тип покупателя (гость или
авторизованный) — добавьте country_code, region_code и/или user_auth_status.
Периодический мониторинг
Для отслеживания цены во времени не нужно хранить локальную копию всей истории —
опрашивайте эндпоинт периодически (например, раз в день) с from, равным времени
последнего успешного опроса, и добавляйте только новые записи в свою базу:
# Пример: получить только записи с момента последней проверки
curl -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/products/e86bee19-9cc9-4a83-b9cc-6b61f1209d90/price-history" \
--data-urlencode "from=2026-08-02T23:21:53Z"id товара не меняется — как и в остальных сценариях, сохраните его после первого поиска (см. Обзор API) и не повторяйте GET /products при каждой проверке.Last updated on