Wildberries API API

Отрасль: Маркетплейсы. Актуально на 2026-10-24.

API маркетплейса Wildberries для продавцов. Разделён на категории, у каждой свой хост: контент (карточки товаров), цены и скидки, маркетплейс (сборочные задания FBS, поставки, остатки), статистика, аналитика, продвижение, вопросы и отзывы, чат с покупателями, поставки FBW, возвраты, документы, тарифы. Токен выпускается в кабинете продавца под нужные категории.

Сценарии

Собрать заказы FBS и передать поставку в доставку

Ежедневная работа продавца со своего склада: забрать новые заказы, собрать их в поставку, напечатать стикеры и отгрузить.

  1. Создай токен в кабинете продавца с категорией «Маркетплейс» и проверь его запросом /ping на хосте https://marketplace-api.wildberries.ru.
  2. Забери новые заказы: GET /api/v3/orders/new. Каждый заказ — сборочное задание с id, артикулом и складом.
  3. Создай поставку: POST /api/v3/supplies с name. В ответе — id поставки вида WB-GI-1234567.
  4. Добавь задания в поставку: PATCH /api/marketplace/v3/supplies/{supplyId}/orders с массивом orders (до 100 за запрос). Задания перейдут в статус confirm.
  5. Напечатай стикеры: POST /api/v3/orders/stickers с type (png, svg или zpl), width и height (58×40 или 40×30) и orders — до 100 заданий. Наклей стикер на каждую упаковку.
  6. Когда всё собрано, закрой поставку: PATCH /api/v3/supplies/{supplyId}/deliver. Задания уйдут в доставку.
H="Authorization: $WB_TOKEN"
API=https://marketplace-api.wildberries.ru

curl "$API/api/v3/orders/new" -H "$H"

SUPPLY=$(curl -s -X POST "$API/api/v3/supplies" -H "$H" -H 'Content-Type: application/json' \
  -d '{"name": "Поставка 24.10"}' | jq -r .id)

curl -X PATCH "$API/api/marketplace/v3/supplies/$SUPPLY/orders" -H "$H" -H 'Content-Type: application/json' \
  -d '{"orders": [5632423, 5632424]}'

curl -X POST "$API/api/v3/orders/stickers?type=png&width=58&height=40" -H "$H" -H 'Content-Type: application/json' \
  -d '{"orders": [5632423, 5632424]}'

curl -X PATCH "$API/api/v3/supplies/$SUPPLY/deliver" -H "$H"

Обновить остатки на своём складе

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

  1. Нужен токен с категорией «Маркетплейс» и ID твоего склада продавца (warehouseId) — он виден в кабинете в разделе складов.
  2. Остатки задаются по размерам товара: в каждой позиции chrtId (ID размера из карточки: sizes[].chrtID в списке карточек) и amount — количество.
  3. Отправь остатки: PUT /api/v3/stocks/{warehouseId} — до 1 000 позиций за запрос. Успех — ответ 204 без тела.
  4. Поля с неверными именами молча игнорируются: если остатки не поменялись, проверь написание chrtId и amount.
  5. Лимит категории — 300 запросов в минуту. При 429 жди столько секунд, сколько в заголовке X-Ratelimit-Retry.
curl -X PUT "https://marketplace-api.wildberries.ru/api/v3/stocks/<warehouseId>" \
  -H "Authorization: $WB_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"stocks": [{"chrtId": 12345678, "amount": 10}, {"chrtId": 12345679, "amount": 0}]}'

Изменить цены и скидки

Массово обновить цены: переоценка, акция, синхронизация с прайсом.

  1. Нужен токен с категорией «Цены и скидки», хост https://discounts-prices-api.wildberries.ru.
  2. Посмотри текущие цены: GET /api/v2/list/goods/filter с limit (до 1 000) и offset, или с filterNmID для одного товара.
  3. Загрузи новые: POST /api/v2/upload/task — в data список товаров с nmID, price (цена до скидки, в рублях, целое число) и discount (скидка в процентах). До 1 000 товаров за запрос, цена и скидка не могут быть пустыми одновременно.
  4. Загрузка обрабатывается заданием: в ответе id задания. Лимит — 10 запросов за 6 секунд.
curl -X POST https://discounts-prices-api.wildberries.ru/api/v2/upload/task \
  -H "Authorization: $WB_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"data": [{"nmID": 123, "price": 999, "discount": 30}, {"nmID": 456, "price": 2490, "discount": 15}]}'

Выгрузить все карточки товаров

Получить список своих товаров с артикулами WB, артикулами продавца и размерами — для сопоставления с учётной системой.

  1. Нужен токен с категорией «Контент», хост https://content-api.wildberries.ru. Лимит — 100 запросов в минуту на все методы категории.
  2. Запроси первую страницу: POST /content/v2/get/cards/list с settings.cursor.limit = 100 и settings.filter.withPhoto = -1 (все карточки).
  3. Для следующей страницы скопируй из ответа cursor.updatedAt и cursor.nmID в settings.cursor запроса.
  4. Повторяй, пока cursor.total не станет меньше limit — значит, получены все карточки.
  5. Из каждой карточки сохрани nmID, vendorCode и sizes[].chrtID — по chrtID обновляются остатки.
curl -X POST https://content-api.wildberries.ru/content/v2/get/cards/list \
  -H "Authorization: $WB_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"settings": {"cursor": {"limit": 100}, "filter": {"withPhoto": -1}}}'

# Следующая страница — с курсором из предыдущего ответа
curl -X POST https://content-api.wildberries.ru/content/v2/get/cards/list \
  -H "Authorization: $WB_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"settings": {"cursor": {"limit": 100, "updatedAt": "2023-12-06T11:17:00.96577Z", "nmID": 123654123}, "filter": {"withPhoto": -1}}}'

Создать карточку товара

Завести новый товар: найти предмет, заполнить обязательные характеристики и отправить карточку.

  1. Найди предмет (категорию): GET /content/v2/object/all с name — в ответе subjectID.
  2. Узнай характеристики предмета: GET /content/v2/object/charcs/{subjectId}. Обязательные поля отмечены required; для каждой характеристики указан тип значения и единица измерения.
  3. Отправь карточку: POST /content/v2/cards/upload с subjectID и variants — вариантами товара (до 30 на карточку), у каждого vendorCode, title, description, brand, sizes и characteristics.
  4. Создание асинхронное: успешный ответ не значит, что карточка создана. Через минуту-две проверь ошибки методом /content/v2/cards/error/list и найди карточку в списке.
  5. Править карточку — POST /content/v2/cards/update, но она перезаписывается целиком: передавай все поля, а не только изменённые.
curl -G https://content-api.wildberries.ru/content/v2/object/all \
  -H "Authorization: $WB_TOKEN" \
  --data-urlencode 'name=Кружки' -d limit=10

curl https://content-api.wildberries.ru/content/v2/object/charcs/<subjectID> -H "Authorization: $WB_TOKEN"

curl -X POST https://content-api.wildberries.ru/content/v2/cards/upload \
  -H "Authorization: $WB_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '[{
        "subjectID": <subjectID>,
        "variants": [{
          "vendorCode": "MUG-WHITE-330",
          "title": "Кружка керамическая 330 мл",
          "description": "Белая керамическая кружка, подходит для посудомоечной машины.",
          "brand": "Моя марка",
          "sizes": [{"price": 990, "skus": ["2000000000017"]}],
          "characteristics": [{"id": <id характеристики>, "value": ["керамика"]}]
        }]
      }]'

Базовые URL

Авторизация

Тип: API-ключ

Токен создаётся в кабинете продавца: «Настройки» → «Доступ к API» → выбрать категории → «Создать токен». Сохраните его сразу — повторно посмотреть нельзя. Токен — JWT, действует 180 дней. Передаётся в заголовке Authorization.

Типы токенов: стандартный (полный доступ к выбранным категориям), тестовый (работает только в песочнице) и «только на чтение». Категория токена должна совпадать с категорией вызываемого API, иначе будет 401.

Проверить доступ можно методом /ping на хосте категории, например https://content-api.wildberries.ru/ping. Ответ:

{"TS": "...", "Status": "OK"}

Методы

POST /content/v2/get/cards/list — Список карточек товаров

Хост «Контент». Возвращает созданные карточки с курсорной пагинацией.

Параметр Где Тип Обяз. Описание
locale query string нет Язык
settings body object да Настройки выборки
settings.cursor.limit body integer нет Количество карточек на странице
settings.filter.withPhoto body integer нет Фильтр по наличию фото; -1 — все

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

{
  "settings": {
    "cursor": {
      "limit": 100
    },
    "filter": {
      "withPhoto": -1
    }
  }
}

POST /content/v2/cards/upload — Создание карточек товаров

Создание обрабатывается асинхронно; ошибки смотрят в /content/v2/cards/error/list.

Параметр Где Тип Обяз. Описание
subjectID body integer да Предмет (категория)
variants body array да Варианты товара, до 30 на карточку

POST /content/v2/cards/update — Редактирование карточек

Карточка перезаписывается целиком — передавайте все параметры.

Параметр Где Тип Обяз. Описание
nmID body integer да Артикул WB
vendorCode body string да Артикул продавца
sizes body array да Размеры
brand body string нет Бренд
title body string нет Наименование, до 60 символов
description body string нет Описание
characteristics body array нет Характеристики

GET /content/v2/object/all — Список предметов

Параметр Где Тип Обяз. Описание
locale query string нет Язык
name query string нет Поиск по названию
limit query integer нет По умолчанию 30, максимум 1 000
offset query integer нет Смещение
parentID query integer нет Родительская категория

GET /content/v2/object/charcs/{subjectId} — Характеристики предмета

Параметр Где Тип Обяз. Описание
subjectId path integer да ID предмета
locale query string нет Язык

POST /api/v2/upload/task — Установка цен и скидок

Хост «Цены и скидки». До 1 000 товаров в запросе; цена и скидка не могут быть пустыми одновременно.

Параметр Где Тип Обяз. Описание
data body array да Товары с ценами и скидками

GET /api/v2/list/goods/filter — Товары с ценами

Параметр Где Тип Обяз. Описание
limit query integer да Максимум 1 000
offset query integer нет Смещение
filterNmID query integer нет Фильтр по артикулу WB

PUT /api/v3/stocks/{warehouseId} — Обновление остатков

Хост «Маркетплейс». Успех — 204; поля с неверными именами молча игнорируются.

Параметр Где Тип Обяз. Описание
warehouseId path integer да ID склада продавца
stocks body array да Остатки, от 1 до 1 000 позиций

GET /api/v3/orders/new — Новые сборочные задания

Хост «Маркетплейс». Возвращает все новые сборочные задания (FBS). Параметров нет.

GET /api/v3/orders — Сборочные задания

Информация о заданиях без текущего статуса, не больше чем за 30 дней.

Параметр Где Тип Обяз. Описание
limit query integer да От 1 до 1 000
next query integer да Пагинация: первый запрос — 0, далее значение next из ответа
dateFrom query integer нет Начало периода, Unix timestamp; по умолчанию 30 дней назад
dateTo query integer нет Конец периода, Unix timestamp

POST /api/v3/orders/status — Статусы сборочных заданий

Параметр Где Тип Обяз. Описание
orders body array да ID заданий, от 1 до 1 000

POST /api/v3/supplies — Создание поставки

Возвращает ID поставки.

Параметр Где Тип Обяз. Описание
name body string да Название, 1–128 символов

PATCH /api/marketplace/v3/supplies/{supplyId}/orders — Добавить задания в поставку

Добавляет до 100 сборочных заданий к поставке и переводит их в статус confirm. Может перемещать задания между активными поставками.

Параметр Где Тип Обяз. Описание
supplyId path string да ID поставки, например WB-GI-1234567
orders body array да ID сборочных заданий, от 1 до 100

PATCH /api/v3/supplies/{supplyId}/deliver — Передать поставку в доставку

Закрывает поставку и переводит её задания в статус доставки.

Параметр Где Тип Обяз. Описание
supplyId path string да ID поставки

POST /api/v3/orders/stickers — Стикеры сборочных заданий

Стикеры для заданий в статусе confirm.

Параметр Где Тип Обяз. Описание
type query string да svg, zplv, zplh или png
width query integer да 58 или 40
height query integer да 40 или 30
orders body array да ID заданий, от 1 до 100

PATCH /api/v3/orders/{orderId}/cancel — Отмена сборочного задания

Переводит задание в статус отмены продавцом.

Параметр Где Тип Обяз. Описание
orderId path integer да ID сборочного задания

Нюансы

Ошибки

Код Описание
200 Успешно
204 Удалено, обновлено или подтверждено
400 Неправильный запрос
401 Не авторизован: проверьте токен и его категорию
403 Доступ запрещён: токен удалённого пользователя или метод заблокирован
404 Не найдено: проверьте URL
409 Ошибка обновления статуса или стикера
413 Слишком большое тело запроса
422 Ошибка обработки параметров
429 Слишком много запросов
5XX Внутренняя ошибка сервиса

Ограничения

Источники


Если этого недостаточно — официальная документация: https://dev.wildberries.ru/openapi/api-information JSON: https://mcp-everything.ru/api/integrations/wildberries. MCP: https://mcp-everything.ru/mcp