API

Wildberries API: поиск, цены и остатки в JSON

У Wildberries есть собственный API, но он рассчитан на поставщика и показывает ваш личный кабинет. Если нужны данные по всему маркетплейсу — чужие карточки, цены конкурентов, остатки по размерам и отзывы — этот API отдаёт их напрямую: кабинет поставщика не нужен, ответ приходит готовым JSON.

Эндпоинты

endpointЧто возвращаетОбязательные
searchПоиск по ключевому слову в выбранной стране: 100 товаров на страницу, цена и зачёркнутая цена, остатки, рейтинг и число отзывов.query
product/detailОдна карточка по артикулу или URL: название, бренд, продавец, остатки по каждому размеру, цены и изображения.все необязательные
product/reviewsОтзывы о товаре: полная разбивка по звёздам с количествами и самые свежие отзывы с текстом и датой.все необязательные
category/productsВыдача одной категории в выбранной стране с шестью сортировками сайта и фильтрами по цене и бренду.category
categoriesДерево каталога: каждая категория с id, названием, путём, родителем и признаком, можно ли из неё получать товары.все необязательные
seller/productsТовары одного продавца в выбранной стране, 100 на страницу, с сортировками и фильтрами.seller_id
seller/detailПубличная запись продавца: название магазина, юридическое лицо, торговая марка, ИНН и регистрационный номер.seller_id
suggestПодсказки поиска Wildberries по началу запроса.query

Каждый вызов тарифицируется в кредитах. Неудачные и заблокированные вызовы бесплатны.

Рабочий пример

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

Запрос
curl -X POST https://api.reefapi.com/wildberries/v1/search \
  -H "x-api-key: ВАШ_КЛЮЧ" \
  -H "content-type: application/json" \
  -d '{"query": "кроссовки", "page": 1}'
Ответ (сокращён)
{
  "ok": true,
  "data": {
    "products": [
      {
        "id": 123456789,
        "name": "...",
        "brand": "...",
        "price": 4290,
        "price_before_discount": 8990,
        "rating": 4.8,
        "feedbacks": 2311
      }
    ]
  },
  "meta": { "record_count": 100, "cache_hit": false, "mode": "live" }
}

Вместо собственного парсера Wildberries

Парсеры Wildberries на Python лежат на GitHub десятками, и первый запуск обычно проходит хорошо. Ломается это позже: карточка меняет структуру — парсер молча отдаёт пустоту; срабатывает защита — IP уходит в бан; меняется выдача остатков, и схема, под которую вы писали, перестаёт совпадать.

Здесь обслуживание на нашей стороне: при смене схемы движок правим мы, а при блокировке вызов возвращает код ошибки и не тарифицируется. В своём парсере обе ситуации выглядят одинаково — как «товаров нет».

Если задача разовая и больше не повторится, свой скрипт дешевле, и это честный ответ. Регулярный мониторинг — другое дело: там платишь за поломки, а не за код.

Ограничения и честные замечания

  • Это не официальный API Wildberries, и партнёрства с Wildberries у нас нет.
  • Остатки приходят так, как их публикует сайт: по размерам. Если склад не публикует число, поле будет null, а не ноль.
  • Оплата из России сейчас недоступна у наших платёжных провайдеров; ключ и бесплатные кредиты при этом работают.
  • Кэша нет: каждый вызов показывает состояние на момент запроса.