Перейти к основному содержимому

Ozon API эндпоинты

Полная документация REST API MPStats для маркетплейса Ozon. Все 25 эндпоинтов организованы по разделам.

Base URL: https://mpstats.io/api/

Аутентификация: заголовок X-Mpstats-TOKEN: <your_token>

Пагинация (POST-эндпоинты): параметры startRow / endRow в теле запроса. Не более 5000 записей за один вызов.

Схема FBS

Параметр fbs=1 включает данные по схеме FBS (Fulfillment by Seller). По умолчанию данные возвращаются без FBS.


Рубрикатор

Получение текущего рубрикатора

GET oz/get/categories

Возвращает полный список категорий Ozon с путями и URL.

Параметры запроса: нет

Пример запроса:

curl --location --request GET 'https://mpstats.io/api/oz/get/categories' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"url": "/category/avtotovary-8500/",
"path": "Автотовары",
"name": "Автотовары"
},
{
"url": "/category/chehly-i-nakidki-na-sidenya-8640/",
"path": "Автотовары/Автоаксессуары и принадлежности/Чехлы и накидки на сиденья",
"name": "Чехлы и накидки на сиденья"
},
{
"url": "/category/semena-lna-9481/",
"path": "Продукты питания/Орехи, снэки/Семена льна",
"name": "Семена льна"
}
]

Описание полей:

ПолеТипОписание
urlstringURL категории на Ozon
namestringНазвание категории
pathstringПолный путь по каталогу Ozon

По категориям

Товары в категории

POST oz/get/category

Возвращает список товаров в указанной категории с продажами, выручкой и ценами за период.

Параметры запроса (query string):

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаПуть категории, например Дом и сад/Товары для бань
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Тело запроса:

{
"startRow": 0,
"endRow": 100,
"filterModel": {},
"sortModel": []
}

Структура ответа:

{
"startRow": 0,
"endRow": 100,
"filterModel": {},
"sortModel": [],
"total": 42,
"data": [ ... ]
}

Пример запроса:

curl --location --request POST \
'https://mpstats.io/api/oz/get/category?path=%D0%94%D0%BE%D0%BC%20%D0%B8%20%D1%81%D0%B0%D0%B4%2F%D0%92%D0%B5%D0%BD%D0%B8%D0%BA%D0%B8%20%D0%B4%D0%BB%D1%8F%20%D0%B1%D0%B0%D0%BD%D1%8C&d1=2023-12-12&d2=2023-12-25&fbs=1' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json' \
--data-raw '{"startRow":0,"endRow":100,"filterModel":{},"sortModel":[]}'

Пример ответа:

{
"data": [
{
"id": 1346408351,
"is_fbs": 1,
"name": "Веники Дубовые СВЕЖИЕ для бани 2 шт",
"brand": "Удмуртпотребсоюз",
"seller": "ООО \"Мега-Групп\"",
"supplier_id": 89749,
"final_price": 669,
"ozon_card_price": 648,
"sales": 999999,
"revenue": 668999331,
"days_in_stock": 0,
"category": "Дом и сад/Товары для бань и саун/Веники для бань",
"url": "https://www.ozon.ru/context/detail/id/1346408351/"
}
],
"total": 3165
}

Описание полей ответа:

ПолеТипОписание
idnumberИдентификатор товарной позиции
is_fbsnumberТовар поставляется по FBS (1 = да)
thumbstringURL изображения товара (100px)
thumb_middlestringURL изображения товара (250px)
namestringНазвание товара
brandstringБренд товара
sellerstringНазвание продавца
supplier_idnumberID продавца
balancenumberПоследний зафиксированный остаток
balance_fbsnumberПоследний остаток FBS
commentsnumberКоличество комментариев
ratingnumberРейтинг товара
final_pricenumberПоследняя зафиксированная цена
ozon_card_pricenumberЦена с Ozon картой
final_price_maxnumberМаксимальная цена за период
final_price_minnumberМинимальная цена за период
final_price_averagenumberСредняя цена (выручка / продажи)
final_price_mediannumberМедианная цена
start_pricenumberБазовая цена
salesnumberКоличество продаж
sales_per_day_averagenumberСреднее число продаж в день
revenuenumberВыручка
revenue_potentialnumberПотенциал выручки
revenue_averagenumberСредняя выручка в день
lost_profitnumberУпущенная выручка
lost_profit_percentnumberУпущенная выручка в %
days_in_stocknumberДней в наличии
days_with_salesnumberДней с продажами
average_if_in_stocknumberСреднее продаж при наличии товара
categories_last_countnumberКол-во категорий, где встречался товар
categorystringОсновная категория (дольше всего в выдаче)
category_positionnumberПозиция в основной категории
sparkline_observearrayГрафик запросов
category_grapharrayГрафик категорий
grapharrayГрафик продаж
stocks_grapharrayГрафик остатков
price_grapharrayГрафик изменения цены
revenue_grapharrayГрафик выручки
urlstringСсылка на товар на Ozon
turnover_daysnumberОборачиваемость в днях
turnover_oncenumberОборачиваемость

Подкатегории

GET oz/get/category/subcategories

Возвращает список подкатегорий с агрегированной статистикой для каждой.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаПуть родительской категории
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/category/subcategories?d1=2023-12-12&d2=2023-12-25&path=%D0%94%D0%BE%D0%BC+%D0%B8+%D1%81%D0%B0%D0%B4&fbs=1' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"name": "Текущая категория",
"items": 3165,
"items_with_sells": 1116,
"brands": 167,
"brands_with_sells": 89,
"sellers": 579,
"sellers_with_sells": 240,
"sales": 6066095,
"revenue": 3015176221,
"avg_price": 1252,
"comments": 79,
"rating": 4.58,
"items_with_sells_percent": 35,
"brands_with_sells_percent": 53,
"sellers_with_sells_percent": 41,
"sales_per_items_average": 1917,
"sales_per_items_with_sells_average": 5436,
"revenue_per_items_average": 952662,
"revenue_per_items_with_sells_average": 2701771
}
]

Описание полей:

ПолеТипОписание
namestringНазвание категории
itemsnumberЧисло товаров
items_with_sellsnumberТоваров с продажами
brandsnumberКоличество брендов
brands_with_sellsnumberБрендов с продажами
sellersnumberКоличество продавцов
sellers_with_sellsnumberПродавцов с продажами
salesnumberЧисло продаж
revenuenumberВыручка
avg_pricenumberСредняя цена
commentsnumberСреднее количество отзывов
ratingnumberСредний рейтинг
items_with_sells_percentnumberДоля товаров с продажами, %
brands_with_sells_percentnumberДоля брендов с продажами, %
sellers_with_sells_percentnumberДоля продавцов с продажами, %
sales_per_items_averagenumberСреднее продаж на товар
sales_per_items_with_sells_averagenumberСреднее продаж на товар с продажами
revenue_per_items_averagenumberСредняя выручка на товар
revenue_per_items_with_sells_averagenumberСредняя выручка на товар с продажами

Продавцы в категории

GET oz/get/category/sellers
Тариф

Доступен на тарифе «Профессиональный».

Рейтинг продавцов в категории, отсортированный по выручке.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаПуть категории
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/category/sellers?d1=2023-12-12&d2=2023-12-25&path=%D0%94%D0%BE%D0%BC+%D0%B8+%D1%81%D0%B0%D0%B4&fbs=1' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"supplier_id": 89749,
"name": "ООО \"Мега-Групп\"",
"items": 12,
"items_with_sells": 6,
"items_with_sells_percent": 50,
"brands": 2,
"brands_with_sells": 2,
"sales": 5999998,
"revenue": 2970998859,
"avg_price": 463.8,
"rating": 4.62,
"comments": 696,
"position": 1,
"graph": [0, 0, 1, 3, 1, 5999993, 0, 0]
}
]

Описание полей:

ПолеТипОписание
supplier_idnumberИдентификатор продавца
namestringНазвание продавца
itemsnumberЧисло товаров
items_with_sellsnumberТоваров с продажами
items_with_sells_percentnumberДоля товаров с продажами, %
brandsnumberКоличество брендов
brands_with_sellsnumberБрендов с продажами
brands_with_sells_percentnumberДоля брендов с продажами, %
salesnumberЧисло продаж
revenuenumberВыручка
sales_per_items_averagenumberСреднее продаж на товар
sales_per_items_with_sells_averagenumberСреднее продаж на товар с продажами
revenue_per_items_averagenumberСредняя выручка на товар
revenue_per_items_with_sells_averagenumberСредняя выручка на товар с продажами
balancenumberОстаток на конец периода
avg_pricenumberСредняя цена
ratingnumberСредний рейтинг
commentsnumberСреднее количество отзывов
positionnumberПозиция в топе по выручке
grapharrayГрафик продаж

Бренды в категории

GET oz/get/category/brands

Рейтинг брендов в категории по выручке.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаПуть категории
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/category/brands?d1=2023-12-12&d2=2023-12-25&path=%D0%94%D0%BE%D0%BC+%D0%B8+%D1%81%D0%B0%D0%B4&fbs=1' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"name": "Удмуртпотребсоюз",
"lbrand": "удмуртпотребсоюз",
"items": 4,
"items_with_sells": 4,
"items_with_sells_percent": 100,
"sellers": 1,
"sellers_with_sells": 1,
"sellers_with_sells_percent": 100,
"sales": 3999998,
"revenue": 2065998859,
"avg_price": 516.5,
"rating": null,
"comments": null,
"position": 1,
"graph": [0, 0, 0]
}
]

Описание полей:

ПолеТипОписание
namestringНазвание бренда
lbrandstringНазвание бренда в нижнем регистре
itemsnumberЧисло товаров
items_with_sellsnumberТоваров с продажами
items_with_sells_percentnumberДоля товаров с продажами, %
sellersnumberКоличество продавцов
sellers_with_sellsnumberПродавцов с продажами
sellers_with_sells_percentnumberДоля продавцов с продажами, %
salesnumberЧисло продаж
revenuenumberВыручка
sales_per_items_averagenumberСреднее продаж на товар
sales_per_items_with_sells_averagenumberСреднее продаж на товар с продажами
revenue_per_items_averagenumberСредняя выручка на товар
revenue_per_items_with_sells_averagenumberСредняя выручка на товар с продажами
balancenumberОстаток на конец периода
avg_pricenumberСредняя цена
commentsnumberСреднее количество отзывов
positionnumberПозиция в топе по выручке
grapharrayГрафик продаж

Динамика категории по дням

GET oz/get/category/by_date

Исторические данные по категории в разбивке по дням.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаПуть категории
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/category/by_date?d1=2023-12-12&d2=2023-12-25&path=%D0%94%D0%BE%D0%BC+%D0%B8+%D1%81%D0%B0%D0%B4&fbs=1' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"period": "2023-12-24",
"items": 3078,
"items_with_sells": 351,
"brands": 163,
"brands_with_sells": 43,
"sellers": 547,
"sellers_with_sells": 105,
"sales": 8365,
"revenue": 4674576,
"avg_price": 1276.93,
"comments": 75.79,
"rating": 4.57,
"avg_sale_price": 558.83
}
]

Описание полей:

ПолеТипОписание
perioddateДата
itemsnumberЧисло товаров в рейтинге
items_with_sellsnumberТоваров с продажами
brandsnumberКоличество брендов
brands_with_sellsnumberБрендов с продажами
sellersnumberКоличество продавцов
sellers_with_sellsnumberПродавцов с продажами
salesnumberПродано единиц товаров
revenuenumberВыручка
avg_pricenumberСредняя цена (все товары, среднее арифметическое)
commentsnumberСреднее число комментариев
ratingnumberСредний рейтинг
avg_sale_pricenumberСредняя цена продажи (выручка / продажи)

Ценовая сегментация в категории

GET oz/get/category/price_segmentation

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

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаПуть категории
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу
minPricenumberнетМинимальная цена диапазона
maxPricenumberнетМаксимальная цена диапазона
segmentsCntnumberнетКоличество сегментовМаксимум 25

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/category/price_segmentation?d1=2023-12-12&d2=2023-12-25&path=%D0%94%D0%BE%D0%BC+%D0%B8+%D1%81%D0%B0%D0%B4&fbs=1' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"range": "0-626",
"items": 465,
"items_with_sells": 398,
"brands": 130,
"brands_with_sells": 104,
"sellers": 125,
"sellers_with_sells": 102,
"revenue": 2421396,
"sales": 5508,
"product_revenue": 6083,
"min_range_price": 0,
"max_range_price": 626,
"revenue_potential": 2436717,
"lost_profit": 65489,
"lost_profit_percent": 2
}
]

Описание полей:

ПолеТипОписание
rangestringДиапазон цен в сегменте
itemsnumberЧисло товаров
items_with_sellsnumberТоваров с продажами
brandsnumberКоличество брендов
brands_with_sellsnumberБрендов с продажами
sellersnumberКоличество продавцов
sellers_with_sellsnumberПродавцов с продажами
revenuenumberВыручка
salesnumberПродано единиц
product_revenuenumberВыручка сегмента / число товаров
min_range_pricenumberНачало диапазона цены
max_range_pricenumberКонец диапазона цены
revenue_potentialnumberПотенциал выручки
lost_profitnumberУпущенная прибыль
lost_profit_percentnumberУпущенная прибыль, %

Сравнение периодов в категории

POST oz/get/category/compare

Сравнение показателей товаров категории между двумя периодами.

Параметры запроса (query string):

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаПуть категории
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Тело запроса:

{
"startRow": 0,
"endRow": 100,
"filterModel": {},
"sortModel": [],
"d11": "2023-10-18",
"d12": "2023-10-19",
"d21": "2023-10-19",
"d22": "2023-10-20"
}

Пример запроса:

curl --location --request POST \
'https://mpstats.io/api/oz/get/category/compare?path=%D0%94%D0%BE%D0%BC+%D0%B8+%D1%81%D0%B0%D0%B4&fbs=1' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json' \
--data-raw '{"startRow":0,"endRow":100,"filterModel":{},"sortModel":[],"d11":"2023-10-18","d12":"2023-10-19","d21":"2023-10-19","d22":"2023-10-20"}'

Пример ответа:

{
"data": [
{
"id": 1320660870,
"sku": 1320660870,
"name": "Веник массажный бамбуковый",
"brand": "Банные штучки",
"seller": "Гринэкодом",
"pricefinal_1": 624,
"pricefinal_2": 602,
"sales_count_1": 0,
"sales_count_2": 1817,
"revenue_1": 0,
"revenue_2": 1093834,
"sales_count_diff": 1817,
"revenue_diff": 1093834
}
],
"total": 2981,
"pinnedBottom": {
"sales_count_1": 3769,
"sales_count_2": 8808,
"revenue_1": 4081713,
"revenue_2": 7014953,
"sales_count_diff": 5039,
"revenue_diff": 2933240
}
}

Описание полей:

ПолеТипОписание
idnumberИдентификатор товарной позиции
skunumberИдентификатор товарной позиции
namestringНазвание товара
brandstringБренд
sellerstringПродавец
pricefinal_1numberЦена в первом периоде
pricefinal_2numberЦена во втором периоде
sales_count_1numberПродажи в первом периоде
sales_count_2numberПродажи во втором периоде
revenue_1numberВыручка в первом периоде
revenue_2numberВыручка во втором периоде
avg_pricefinal_1numberСредняя цена в первом периоде
avg_pricefinal_2numberСредняя цена во втором периоде
days_in_stock_1numberДней в наличии в первом периоде
days_in_stock_2numberДней в наличии во втором периоде
sales_count_diffnumberРазница продаж
revenue_diffnumberРазница выручки
pricefinal_diffnumberРазница цен
avg_pricefinal_diffnumberРазница средней цены
days_in_stock_diffnumberРазница дней в наличии
pinnedBottom.sales_count_1numberИтого продаж в первом периоде
pinnedBottom.revenue_1numberИтого выручка в первом периоде
pinnedBottom.sales_count_diffnumberИтого разница продаж
pinnedBottom.revenue_diffnumberИтого разница выручки

По брендам

Товары бренда

POST oz/get/brand

Список товаров бренда с продажами, ценами и остатками за период.

Параметры запроса (query string):

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание бренда, например Mango
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу
newsmode7, 14 или 30нетТолько новинки за N днейвсе товары

Тело запроса:

{
"startRow": 0,
"endRow": 100,
"filterModel": {},
"sortModel": []
}

Пример запроса:

curl --location --request POST \
'https://mpstats.io/api/oz/get/brand?path=mango&d1=2023-12-12&d2=2023-12-25' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json' \
--data-raw '{"startRow":0,"endRow":100,"filterModel":{},"sortModel":[]}'

Пример ответа:

{
"data": [
{
"id": 1244266227,
"is_fbs": 0,
"name": "Дубленка MANGO",
"brand": "MANGO",
"seller": "Blizz",
"supplier_id": 365520,
"final_price": 6180,
"ozon_card_price": 5969,
"sales": 16,
"revenue": 104146,
"days_in_stock": 7,
"category": "Одежда/Женщинам/Верхняя одежда/Дубленки и шубы",
"category_position": 5,
"url": "https://www.ozon.ru/context/detail/id/1244266227/"
}
],
"total": 22878
}

Поля ответа идентичны эндпоинту oz/get/category (см. выше).


Категории бренда

GET oz/get/brand/categories

Распределение товаров бренда по категориям с агрегированными метриками.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание бренда
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/brand/categories?d1=2023-12-12&d2=2023-12-25&path=mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"name": "Одежда/Женщинам/Джинсы и джеггинсы",
"items": 4756,
"items_with_sells": 83,
"items_with_sells_percent": 1.74,
"sellers": 35,
"sellers_with_sells": 2,
"sales": 240,
"revenue": 970059,
"avg_price": 4265.98,
"comments": 17.67,
"rating": 4.82
}
]

Описание полей:

ПолеТипОписание
namestringНазвание категории
itemsnumberЧисло товаров
items_with_sellsnumberТоваров с продажами
items_with_sells_percentnumberДоля товаров с продажами, %
sellersnumberКоличество продавцов
sellers_with_sellsnumberПродавцов с продажами
sellers_with_sells_percentnumberДоля продавцов с продажами, %
salesnumberЧисло продаж
revenuenumberВыручка
avg_pricenumberСредняя цена
commentsnumberСреднее количество отзывов
ratingnumberСредний рейтинг
sales_per_items_averagenumberСреднее продаж на товар
sales_per_items_with_sells_averagenumberСреднее продаж на товар с продажами
revenue_per_items_averagenumberСредняя выручка на товар
revenue_per_items_with_sells_averagenumberСредняя выручка на товар с продажами

Продавцы бренда

GET oz/get/brand/sellers
Тариф

Доступен на тарифе «Профессиональный».

Список продавцов, торгующих товарами данного бренда.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание бренда
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/brand/sellers?path=mango&d1=2023-12-12&d2=2023-12-25' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"supplier_id": 736201,
"name": "Mango",
"items": 748,
"items_with_sells": 363,
"items_with_sells_percent": 48.53,
"sales": 956,
"revenue": 2731210,
"avg_price": 2844.02,
"rating": 4.82,
"comments": 16.6,
"position": 1,
"graph": [66, 84, 80, 47, 62, 73, 80, 70, 57, 65, 77, 57, 65, 73]
}
]

Поля ответа идентичны oz/get/category/sellers.


Динамика бренда по дням

GET oz/get/brand/by_date

Исторические данные бренда в разбивке по дням.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание бренда
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/brand/by_date?d1=2023-12-12&d2=2023-12-25&path=mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"period": "2023-12-25",
"items": 86634,
"items_with_sells": 69,
"sellers": 466,
"sellers_with_sells": 3,
"sales": 78,
"revenue": 214816,
"avg_price": 5434.27,
"comments": 16.04,
"rating": 4.75,
"avg_sale_price": 2754.05
}
]

Поля ответа идентичны oz/get/category/by_date.


Ценовая сегментация бренда

GET oz/get/brand/price_segmentation

Распределение товаров бренда по ценовым сегментам.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание бренда
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу
minPricenumberнетМинимальная цена
maxPricenumberнетМаксимальная цена
segmentsCntnumberнетКоличество сегментовМаксимум 25

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/brand/price_segmentation?d1=2023-12-12&d2=2023-12-25&path=mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"range": "99-799",
"items": 3542,
"items_with_sells": 21,
"sellers": 11,
"sellers_with_sells": 1,
"revenue": 24813,
"sales": 47,
"product_revenue": 1181,
"min_range_price": 99,
"max_range_price": 799,
"revenue_potential": 28038,
"lost_profit": 3225,
"lost_profit_percent": 11
}
]

Поля ответа идентичны oz/get/category/price_segmentation.


Сравнение периодов по бренду

POST oz/get/brand/compare

Сравнение товаров бренда между двумя периодами.

Параметры запроса (query string):

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание бренда
fbs0 или 1нетВключить данные FBSбез FBS

Тело запроса:

{
"startRow": 0,
"endRow": 100,
"filterModel": {},
"sortModel": [],
"d11": "2023-10-18",
"d12": "2023-10-19",
"d21": "2023-10-19",
"d22": "2023-10-20"
}

Пример запроса:

curl --location --request POST \
'https://mpstats.io/api/oz/get/brand/compare?path=mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json' \
--data-raw '{"startRow":0,"endRow":100,"filterModel":{},"sortModel":[],"d11":"2023-10-18","d12":"2023-10-19","d21":"2023-10-19","d22":"2023-10-20"}'

Пример ответа:

{
"data": [
{
"id": 1244266227,
"sku": 1244266227,
"name": "Дубленка MANGO",
"brand": "MANGO",
"seller": "Blizz",
"pricefinal_1": 6300,
"pricefinal_2": 6428,
"sales_count_1": 1,
"sales_count_2": 5,
"revenue_1": 6300,
"revenue_2": 32140,
"sales_count_diff": 4,
"revenue_diff": 25840
}
],
"total": 70121,
"pinnedBottom": {
"sales_count_1": 89,
"sales_count_2": 93,
"revenue_1": 278692,
"revenue_2": 333366,
"sales_count_diff": 4,
"revenue_diff": 54674
}
}

Поля ответа идентичны oz/get/category/compare.


По продавцам

Товары продавца

POST oz/get/seller

Список товаров конкретного продавца с полными метриками.

Параметры запроса (query string):

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание продавца, например Mango
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу
newsmode7, 14 или 30нетТолько новинки за N днейвсе товары

Тело запроса:

{
"startRow": 0,
"endRow": 100,
"filterModel": {},
"sortModel": []
}

Пример запроса:

curl --location --request POST \
'https://mpstats.io/api/oz/get/seller?path=Mango&d1=2023-12-12&d2=2023-12-25' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json' \
--data-raw '{"startRow":0,"endRow":100,"filterModel":{},"sortModel":[]}'

Пример ответа:

{
"data": [
{
"id": 1263151743,
"is_fbs": 0,
"name": "GPS-трекер hoco DI29 Plus",
"brand": "hoco",
"seller": "ManGo",
"supplier_id": 229043,
"final_price": 1229,
"ozon_card_price": 1194,
"sales": 96,
"revenue": 114819,
"days_in_stock": 14,
"url": "https://www.ozon.ru/context/detail/id/1263151743/"
}
],
"total": 1836
}

Поля ответа идентичны oz/get/category.


Категории продавца

GET oz/get/seller/categories

Распределение ассортимента продавца по категориям.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание продавца
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/seller/categories?d1=2023-12-12&d2=2023-12-25&path=Mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"name": "Одежда/Женщинам/Джинсы и джеггинсы",
"items": 113,
"items_with_sells": 76,
"items_with_sells_percent": 67.26,
"brands": 1,
"brands_with_sells": 1,
"sales": 233,
"revenue": 948294,
"avg_price": 4049.14,
"comments": 3.18,
"rating": 4.53
}
]

Поля ответа идентичны oz/get/brand/categories.


Бренды продавца

GET oz/get/seller/brands
Тариф

Доступен на тарифе «Профессиональный».

Список брендов, которыми торгует продавец.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание продавца
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/seller/brands?d1=2023-12-12&d2=2023-12-25&path=Mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"lbrand": "mango",
"name": "MANGO",
"items": 748,
"items_with_sells": 363,
"items_with_sells_percent": 48.53,
"sales": 956,
"revenue": 2731210,
"avg_price": 2844.02,
"rating": 4.82,
"comments": 16.6,
"position": 1,
"graph": [66, 84, 80, 47, 62, 73, 80, 70, 57, 65, 77, 57, 65, 73]
}
]

Поля ответа идентичны oz/get/category/brands.


Динамика продавца по дням

GET oz/get/seller/by_date

Исторические данные продавца в разбивке по дням.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание продавца
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/seller/by_date?d1=2023-12-12&d2=2023-12-25&path=Mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"period": "2023-12-24",
"items": 3078,
"items_with_sells": 351,
"brands": 163,
"brands_with_sells": 43,
"sellers": 547,
"sellers_with_sells": 105,
"sales": 8365,
"revenue": 4674576,
"avg_price": 1276.93,
"comments": 75.79,
"rating": 4.57,
"avg_sale_price": 558.83
}
]

Поля ответа идентичны oz/get/category/by_date.


Ценовая сегментация продавца

GET oz/get/seller/price_segmentation

Распределение ассортимента продавца по ценовым сегментам.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание продавца
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу
minPricenumberнетМинимальная цена
maxPricenumberнетМаксимальная цена
segmentsCntnumberнетКоличество сегментовМаксимум 25

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/seller/price_segmentation?d1=2023-12-12&d2=2023-12-25&path=Mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"range": "70-99",
"items": 78,
"items_with_sells": 58,
"brands": 2,
"brands_with_sells": 1,
"revenue": 22494,
"sales": 255,
"product_revenue": 387,
"min_range_price": 70,
"max_range_price": 99,
"revenue_potential": 26908,
"lost_profit": 4414,
"lost_profit_percent": 16
}
]

Поля ответа идентичны oz/get/category/price_segmentation.


Сравнение периодов по продавцу

POST oz/get/seller/compare

Сравнение товаров продавца между двумя периодами.

Параметры запроса (query string):

ПараметрТипОбязательныйОписаниеПо умолчанию
pathstringдаНазвание продавца
fbs0 или 1нетВключить данные FBSбез FBS

Тело запроса:

{
"startRow": 0,
"endRow": 100,
"filterModel": {},
"sortModel": [],
"d11": "2023-10-18",
"d12": "2023-10-19",
"d21": "2023-10-19",
"d22": "2023-10-20"
}

Пример запроса:

curl --location --request POST \
'https://mpstats.io/api/oz/get/seller/compare?path=Mango' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json' \
--data-raw '{"startRow":0,"endRow":100,"filterModel":{},"sortModel":[],"d11":"2023-10-18","d12":"2023-10-19","d21":"2023-10-19","d22":"2023-10-20"}'

Пример ответа:

{
"data": [
{
"id": 1252710191,
"sku": 1252710191,
"name": "Пиджак MANGO",
"brand": "MANGO",
"seller": "Mango",
"pricefinal_1": 9749,
"pricefinal_2": 9749,
"sales_count_1": 0,
"sales_count_2": 2,
"revenue_1": 0,
"revenue_2": 19498,
"sales_count_diff": 2,
"revenue_diff": 19498
}
],
"total": 1813,
"pinnedBottom": {
"sales_count_1": 222,
"sales_count_2": 262,
"revenue_1": 235998,
"revenue_2": 290077,
"sales_count_diff": 40,
"revenue_diff": 54079
}
}

Поля ответа идентичны oz/get/category/compare.


Товарная позиция (SKU)

Продажи и остатки товара

GET oz/get/item/{sku}/sales

Ежедневная динамика продаж, остатков и цен для конкретного товара.

Параметр пути: {sku} — идентификатор товара на Ozon.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
fbs0 или 1нетВключить данные FBSбез FBS
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/item/1252420260/sales?d1=2023-12-12&d2=2023-12-25' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"no_data": 0,
"data": "2023-12-25",
"balance": 2,
"sales": 1,
"rating": 5,
"price": 5200,
"final_price": 4499,
"ozon_card_price": 3835,
"is_bestseller": 0,
"is_new": 0,
"comments": 1
},
{
"no_data": 0,
"data": "2023-12-24",
"balance": 3,
"sales": 0,
"rating": 5,
"price": 5200,
"final_price": 4499,
"ozon_card_price": 3835,
"is_bestseller": 0,
"is_new": 0,
"comments": 1
}
]

Описание полей:

ПолеТипОписание
no_datanumber0 = OK, 1 = данных нет
datadateДата
balancenumberОстаток
salesnumberПродажи
ratingnumberРейтинг
pricenumberЦена
final_pricenumberЦена со скидкой
ozon_card_pricenumberЦена с Ozon картой
is_newnumberНовинка (1 = да)
is_bestsellernumberБестселлер (1 = да)
commentsnumberКоличество комментариев

Продажи и остатки за сутки (почасово)

GET oz/get/item/{sku}/balance_by_day

Внутридневная почасовая динамика остатков и продаж за конкретную дату.

Параметр пути: {sku} — идентификатор товара на Ozon.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
dYYYY-MM-DDдаДата проверки

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/item/1252420260/balance_by_day?d=2023-12-26' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{
"tm": "04:28",
"comments": 1,
"rating": 500,
"balance": 2,
"sales": 0,
"price": 5200,
"final_price": 4499,
"ozon_card_price": 3809
}
]

Описание полей:

ПолеТипОписание
tmtimeВремя снимка (HH:MM)
commentsnumberКоличество комментариев
ratingnumberРейтинг
balancenumberОстаток
balance_fbsnumberОстаток с учетом FBS
salesnumberПродажи
sales_fbsnumberПродажи с учетом FBS
pricenumberЦена
final_pricenumberЦена со скидкой
ozon_card_pricenumberЦена с Ozon картой

Остатки по складам

GET oz/get/item/{sku}/balance_by_region

Распределение остатков товара по складам (регионам) на конкретную дату.

Параметр пути: {sku} — идентификатор товара на Ozon.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
dYYYY-MM-DDдаДата проверки
fbs0 или 1нетВключить данные FBSбез FBS

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/item/1252420260/balance_by_region?d=2023-12-26' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

[
{"store": "АДЫГЕЙСК_РФЦ", "balance": 1},
{"store": "СПБ_ШУШАРЫ_РФЦ", "balance": 1}
]

Описание полей:

ПолеТипОписание
storestringНазвание склада
balancenumberОстаток на складе

Категории и позиции товара в них

GET oz/get/item/{sku}/by_category

Динамика позиций товара в категориях с продажами, остатками и ценой по дням.

Параметр пути: {sku} — идентификатор товара на Ozon.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/item/1252420260/by_category?d1=2023-12-19&d2=2023-12-26' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

{
"categories": [],
"days": ["18.12", "19.12", "20.12", "21.12", "22.12", "23.12", "24.12", "25.12", "26.12"],
"sales": [0, 0, 0, 0, 0, 0, 0, 1, 0],
"balance": [0, 0, 1, 1, 2, 3, 3, 2, 2],
"final_price": [0, 0, 4499, 4499, 4499, 4499, 4499, 4499, 4499]
}

Описание полей:

ПолеТипОписание
categoriesarrayКатегории и позиции в них
autonumberПозиция карточки при авторекламе
posnumberПозиция товара в категории
daysarrayДаты (формат DD.MM)
salesarrayГрафик продаж
balancearrayГрафик остатков
final_pricearrayЦена на конец дня

Запросы и позиции товара по ним

GET oz/get/item/{sku}/by_keywords

Позиции товара по поисковым запросам с динамикой по дням.

Параметр пути: {sku} — идентификатор товара на Ozon.

Параметры запроса:

ПараметрТипОбязательныйОписаниеПо умолчанию
d1YYYY-MM-DDнетНачало периодаПо тарифу
d2YYYY-MM-DDнетКонец периодаПо тарифу

Пример запроса:

curl --location --request GET \
'https://mpstats.io/api/oz/get/item/1230841687/by_keywords?d1=2023-11-27&d2=2023-12-26' \
--header 'X-Mpstats-TOKEN: <your_token>' \
--header 'Content-Type: application/json'

Пример ответа:

{
"words": {
"пальто манго женское": {
"pos": [3, null, null, null, 4, 3, null, 2, null, 6, 5, 3, 1, 1],
"count": 53,
"total": 2458,
"avgPos": 3
},
"mango пальто": {
"pos": [4, 4, null, 4, null, null, null, 3, 2, null, 1, 1, null, null],
"count": 47,
"total": 976,
"avgPos": 2
}
},
"days": ["25.11", "26.11", "27.11", "28.11", "29.11", "30.11", "01.12"],
"sales": [1078, 1001, 1088, 1113, 1061, 699, 520],
"balance": [6359, 7011, 5949, 4874, 3848, 3180, 2675],
"final_price": [1095, 1095, 1095, 1095, 1095, 1095, 1080],
"comments": [28329, 28872, 29328, 29788, 30291, 30760, 31177],
"rating": [5, 5, 5, 5, 5, 5, 5]
}

Описание полей:

ПолеТипОписание
wordsobjectСловарь запросов с позициями
words.{query}.posarrayПозиция товара по запросу (null = не в выдаче)
words.{query}.countnumberЧастота запроса
words.{query}.totalnumberКоличество результатов в выдаче
words.{query}.avgPosnumberСредняя позиция
daysarrayДаты (формат DD.MM)
salesarrayГрафик продаж
balancearrayГрафик остатков
final_pricearrayГрафик цены
commentsarrayГрафик количества комментариев
ratingarrayГрафик рейтинга

Сводная таблица эндпоинтов

МетодПутьОписание
GEToz/get/categoriesРубрикатор Ozon
POSToz/get/categoryТовары в категории
GEToz/get/category/subcategoriesПодкатегории
GEToz/get/category/sellersПродавцы в категории
GEToz/get/category/brandsБренды в категории
GEToz/get/category/by_dateДинамика категории по дням
GEToz/get/category/price_segmentationЦеновая сегментация категории
POSToz/get/category/compareСравнение периодов в категории
POSToz/get/brandТовары бренда
GEToz/get/brand/categoriesКатегории бренда
GEToz/get/brand/sellersПродавцы бренда
GEToz/get/brand/by_dateДинамика бренда по дням
GEToz/get/brand/price_segmentationЦеновая сегментация бренда
POSToz/get/brand/compareСравнение периодов по бренду
POSToz/get/sellerТовары продавца
GEToz/get/seller/categoriesКатегории продавца
GEToz/get/seller/brandsБренды продавца
GEToz/get/seller/by_dateДинамика продавца по дням
GEToz/get/seller/price_segmentationЦеновая сегментация продавца
POSToz/get/seller/compareСравнение периодов по продавцу
GEToz/get/item/{sku}/salesПродажи и остатки товара
GEToz/get/item/{sku}/balance_by_dayПочасовые данные товара
GEToz/get/item/{sku}/balance_by_regionОстатки по складам
GEToz/get/item/{sku}/by_categoryПозиции в категориях
GEToz/get/item/{sku}/by_keywordsПозиции по запросам