Market NinjaMarket Ninja

Категории

Список категорий одного маркетплейса и получение всего ассортимента категории через фильтр category

Список категорий

GET /categories возвращает список уникальных category_path для одного маркетплейса с количеством товаров в каждой. В отличие от GET /brands, параметр marketplace здесь обязателен — таксономии категорий у разных маркетплейсов не совпадают, объединённый список без привязки к площадке смешал бы несвязанные иерархии.

GET /categories и GET /brands не расходуют дневную квоту на объём данных — только лимит запросов в минуту. Это lookup-эндпоинты для навигации, а не выгрузка данных, поэтому их можно вызывать свободно, не думая об остатке квоты.
curl -G -H "Authorization: Bearer mn_live_..." \
  "https://data.marketninja.ru/v1/categories" \
  --data-urlencode "marketplace=wildberries"
{
  "data": [
    { "category_path": [], "product_count": 11197 },
    { "category_path": ["Зоотовары", "Фермерство"], "product_count": 455 },
    { "category_path": ["Обувь", "Мужская", "Кеды и кроссовки"], "product_count": 37 }
  ]
}
Пустой category_path: [] в ответе — это товары без категории вообще, а не корень иерархии. Не отбрасывайте эту строку автоматически, если считаете общее количество товаров по всем категориям.

Получение ассортимента категории

Полученное значение category_path используйте как фильтр category в GET /products — совпадение идёт по вхождению в путь, на любом уровне иерархии, а не только по последнему элементу:

curl -G -H "Authorization: Bearer mn_live_..." \
  "https://data.marketninja.ru/v1/products" \
  --data-urlencode "marketplace=wildberries" \
  --data-urlencode "category=Обувь" \
  --data-urlencode "page_size=100"

Значение Обувь совпадёт и с ["Обувь", "Мужская", "Кеды и кроссовки"], и с ["Обувь", "Женская", "Туфли и лоферы"], и с любой другой веткой, где "Обувь" встречается на любом уровне — удобно, если вы хотите весь верхнеуровневый раздел, не перечисляя все его подкатегории по отдельности. Чтобы получить конкретную ветку целиком — передайте более специфичный путь, например Кеды и кроссовки.

category — это фильтр по вхождению, а не точное совпадение всего пути. Если в датасете есть и ["Обувь"], и ["Спорт", "Обувь для бега"], оба варианта попадут в выдачу по category=Обувь. Если вам нужна именно одна конкретная ветка, используйте её самый специфичный (последний) сегмент — он реже пересекается с другими.

Постраничный обход большой категории

Для верхнеуровневых категорий с тысячами товаров используйте постраничный обход с максимальным page_size — тот же паттерн, что и для полной выгрузки датасета, см. Массовую выгрузку.

Так же можно сузить выборку по конкретному бренду — добавьте brand к тому же запросу, или найдите весь ассортимент бренда напрямую, см. Бренды.

Last updated on

On this page