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, а не ноль.
- Оплата из России сейчас недоступна у наших платёжных провайдеров; ключ и бесплатные кредиты при этом работают.
- Кэша нет: каждый вызов показывает состояние на момент запроса.