Wildberries API TypeScript SDK / AnalyticsModule
Class: AnalyticsModule
Defined in: modules/analytics/index.ts:57
Constructors
Constructor
new AnalyticsModule(client: BaseClient): AnalyticsModule;Defined in: modules/analytics/index.ts:58
Parameters
| Parameter | Type |
|---|---|
client | BaseClient |
Returns
AnalyticsModule
Methods
getNmReportDownloads()
getNmReportDownloads(options?: {
filter[downloadIds]?: string[];
}): Promise<NmReportGetReportsResponse>;Defined in: modules/analytics/index.ts:78
Получить список отчётов
Метод возвращает список отчётов с расширенной аналитикой продавца. Ответ содержит ID созданных отчётов и статусы генерации.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | { filter[downloadIds]?: string[]; } | Query parameters |
options.filter[downloadIds]? | string[] | - |
Returns
Promise<NmReportGetReportsResponse>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Analitika-prodavca-CSV
Example
const result = await sdk.analytics.getNmReportDownloads({});
console.log(result);createNmReportDownload()
createNmReportDownload(data?:
| SalesFunnelProductReq
| SalesFunnelGroupReq
| SearchReportGroupReq
| SearchReportProductReq
| SearchReportTextReq
| StocksReportReq
| InventoryHistoryReportReq): Promise<NmReportCreateReportResponse>;Defined in: modules/analytics/index.ts:116
Создать отчёт
Метод создаёт задание на генерацию отчёта с расширенной аналитикой продавца. Вы можете создать CSV-версии отчётов по воронке продаж или параметрам поиска с группировкой по артикулам WB, предметам, брендам и ярлыкам. В отчётах по воронке продаж можно группировать данные по дням, неделям или месяцам. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
DETAIL_HISTORY_REPORT и GROUPED_HISTORY_REPORT: С 2026-09-24 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов. Order Feed заменяет только данные заказов и выкупов, но не просмотры, добавления в корзину или метрики конверсии. SEARCH_QUERIES_PREMIUM_REPORT_GROUP, SEARCH_QUERIES_PREMIUM_REPORT_PRODUCT и SEARCH_QUERIES_PREMIUM_REPORT_TEXT: С 2026-10-12 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data? | | SalesFunnelProductReq | SalesFunnelGroupReq | SearchReportGroupReq | SearchReportProductReq | SearchReportTextReq | StocksReportReq | InventoryHistoryReportReq | Request body data |
Returns
Promise<NmReportCreateReportResponse>
Успешно
Remarks
Daily limit: 20 reports per day per seller account.
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Analitika-prodavca-CSV
Example
const result = await sdk.analytics.createNmReportDownload({});
console.log(result);
⚠️ Для типов отчётов STOCK_HISTORY_REPORT_CSV и STOCK_HISTORY_DAILY_CSV с 17.09.2026
данные обновляются 1 раз в 2 часа (новость WB от 2026-09). Для остатков без задержки —
{@link AnalyticsModule.getSellerWarehousesStock} / {@link AnalyticsModule.getWbWarehousesStock} (task-190).createDownloadsRetry()
createDownloadsRetry(data: NmReportRetryReportRequest): Promise<NmReportRetryReportResponse>;Defined in: modules/analytics/index.ts:152
Сгенерировать отчёт повторно
Метод создает повторное задание на генерацию отчёта с расширенной аналитикой продавца. Необходимо, если при генерации отчёта вы получили статус FAILED.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | NmReportRetryReportRequest | Request body data |
Returns
Promise<NmReportRetryReportResponse>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Analitika-prodavca-CSV
Example
const result = await sdk.analytics.createDownloadsRetry({});
console.log(result);getDownloadsFile()
getDownloadsFile(downloadId: string): Promise<ArrayBuffer>;Defined in: modules/analytics/index.ts:185
Получить отчёт
Метод возвращает отчёт с расширенной аналитикой продавца по ID задания на генерацию. Можно получить отчёт, который сгенерирован за последние 48 часов. Отчёт будет загружен внутри архива ZIP в формате CSV.
С 2026-10-12 только SEARCH_QUERIES_PREMIUM_REPORT_TEXT не содержит колонок OpenCardPercentile, AddToCartPercentile, OpenToCartPercentile, OrdersPercentile, CartToOrderPercentile. Остальные поля и варианты отчёта сохраняются. SDK возвращает ZIP как ArrayBuffer; CSV-парсер и обязательные колонки в SDK отсутствуют.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
downloadId | string | ID отчёта (UUID format) |
Returns
Promise<ArrayBuffer>
Успешно - ZIP архив с CSV файлом
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Analitika-prodavca-CSV
Example
const result = await sdk.analytics.getDownloadsFile('downloadId-value');
console.log(result);createSearchReportReport()
createSearchReportReport(data: MainRequest): Promise<CommonResponseProperties & {
data: MainResponse;
}>;Defined in: modules/analytics/index.ts:213
Основная страница
Метод формирует набор данных для основной страницы отчёта по поисковым запросам с общей информацией, позициями товаров, данными по видимости и переходам в карточку, данными для таблицы по группам. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
С 2026-10-12 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | MainRequest | Request body data |
Returns
Promise<CommonResponseProperties & { data: MainResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Poiskovye-zaprosy
Example
const result = await sdk.analytics.createSearchReportReport({});
console.log(result);createTableGroup()
createTableGroup(data: TableGroupRequest): Promise<CommonResponseProperties & {
data: TableGroupResponse;
}>;Defined in: modules/analytics/index.ts:245
Пагинация по группам
Метод формирует дополнительные данные к основному отчёту с пагинацией по группам. Пагинация возможна только при наличии фильтра по бренду, предмету или ярлыку. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
С 2026-10-12 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | TableGroupRequest | Request body data |
Returns
Promise<CommonResponseProperties & { data: TableGroupResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Poiskovye-zaprosy
Example
const result = await sdk.analytics.createTableGroup({});
console.log(result);createTableDetail()
createTableDetail(data: TableDetailsRequest): Promise<CommonResponseProperties & {
data: TableDetailsResponse;
}>;Defined in: modules/analytics/index.ts:277
Пагинация по товарам в группе
Метод формирует дополнительные данные к основному отчёту с пагинацией по товарам в группе. Пагинация возможна вне зависимости от наличия фильтров. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
С 2026-10-12 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | TableDetailsRequest | Request body data |
Returns
Promise<CommonResponseProperties & { data: TableDetailsResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Poiskovye-zaprosy
Example
const result = await sdk.analytics.createTableDetail({});
console.log(result);createProductSearchText()
createProductSearchText(data: ProductSearchTextsRequest): Promise<CommonResponseProperties & {
data: ProductSearchTextsResponse;
}>;Defined in: modules/analytics/index.ts:308
Поисковые запросы по товару
Метод формирует топ поисковых запросов по товару. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.
С 2026-10-12 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | ProductSearchTextsRequest | Request body data |
Returns
Promise<CommonResponseProperties & { data: ProductSearchTextsResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Poiskovye-zaprosy
Example
const result = await sdk.analytics.createProductSearchText({});
console.log(result);createProductOrder()
createProductOrder(data: ProductOrdersRequest): Promise<CommonResponseProperties & {
data: ProductOrdersResponse;
}>;Defined in: modules/analytics/index.ts:338
Заказы и позиции по поисковым запросам товара
Метод формирует данные для таблицы по количеству заказов и позиций в поиске по запросам покупателя.
С 2026-10-12 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | ProductOrdersRequest | Request body data |
Returns
Promise<CommonResponseProperties & { data: ProductOrdersResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Poiskovye-zaprosy
Example
const result = await sdk.analytics.createProductOrder({});
console.log(result);createProductsGroup()
createProductsGroup(data: TableGroupRequestSt): Promise<{
data: TableGroupResponseSt;
}>;Defined in: modules/analytics/index.ts:371
Данные по группам
Метод формирует набор данных об остатках по группам товаров. Группа товаров описывается кортежем subjectID, brandName, tagID.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | TableGroupRequestSt | Request body data |
Returns
Promise<{ data: TableGroupResponseSt; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Istoriya-ostatkov
Example
const result = await sdk.analytics.createProductsGroup({});
console.log(result);
⚠️ С 17.09.2026 данные истории остатков обновляются 1 раз в 2 часа (новость WB от 2026-09).
Для остатков без задержки используйте {@link AnalyticsModule.getSellerWarehousesStock}
или {@link AnalyticsModule.getWbWarehousesStock} (task-190).createProductsProduct()
createProductsProduct(data: TableProductRequest): Promise<{
data: TableProductResponse;
}>;Defined in: modules/analytics/index.ts:402
Данные по товарам
Метод формирует набор данных об остатках по товарам. Можно получить данные как по отдельным товарам, так и в рамках всего отчёта — если в запросе отсутствуют фильтры: nmIDs, subjectID, brandName, tagID.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | TableProductRequest | Request body data |
Returns
Promise<{ data: TableProductResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Istoriya-ostatkov
Example
const result = await sdk.analytics.createProductsProduct({});
console.log(result);
⚠️ С 17.09.2026 данные истории остатков обновляются 1 раз в 2 часа (новость WB от 2026-09).
Для остатков без задержки используйте {@link AnalyticsModule.getSellerWarehousesStock}
или {@link AnalyticsModule.getWbWarehousesStock} (task-190).createProductsSize()
createProductsSize(data: CommonSizeFilters): Promise<{
data: TableSizeResponse;
}>;Defined in: modules/analytics/index.ts:434
Данные по размерам
Метод формирует набор данных об остатках по размерам товара. Товар не имеет размера, если у него единственный размер с "techSize":"0". Данные по складам Маркетплейс (FBS) приходят в агрегированном виде.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | CommonSizeFilters | Request body data |
Returns
Promise<{ data: TableSizeResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Istoriya-ostatkov
Example
const result = await sdk.analytics.createProductsSize({});
console.log(result);
⚠️ С 17.09.2026 данные истории остатков обновляются 1 раз в 2 часа (новость WB от 2026-09).
Для остатков без задержки используйте {@link AnalyticsModule.getSellerWarehousesStock}
или {@link AnalyticsModule.getWbWarehousesStock} (task-190).createStocksReportOffice()
createStocksReportOffice(data: CommonShippingOfficeFilters): Promise<{
data: TableShippingOfficeResponse;
}>;Defined in: modules/analytics/index.ts:465
Данные по складам
Метод формирует набор данных об остатках по складам. Данные по складам Маркетплейс (FBS) приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам.
Rate limit: 3 requests/minute, 20-second interval, burst 3
Parameters
| Parameter | Type | Description |
|---|---|---|
data | CommonShippingOfficeFilters | Request body data |
Returns
Promise<{ data: TableShippingOfficeResponse; }>
Успешно
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Istoriya-ostatkov
Example
const result = await sdk.analytics.createStocksReportOffice({});
console.log(result);
⚠️ С 17.09.2026 данные истории остатков обновляются 1 раз в 2 часа (новость WB от 2026-09).
Для остатков без задержки используйте {@link AnalyticsModule.getSellerWarehousesStock}
или {@link AnalyticsModule.getWbWarehousesStock} (task-190).getSalesFunnelProducts()
getSalesFunnelProducts(data: SalesFunnelProductsRequest): Promise<SalesFunnelProductsResponse>;Defined in: modules/analytics/index.ts:504
Статистика карточек товаров за период (v3)
Возвращает отчёт о товарах с ключевыми показателями — переходы в карточку, добавления в корзину, заказы — за текущий и прошлый периоды.
С 2026-09-24 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов. Order Feed заменяет только данные заказов и выкупов, но не просмотры, добавления в корзину или метрики конверсии.
Rate limit: 3 requests/minute, 20-second interval, 3-request burst
Parameters
| Parameter | Type | Description |
|---|---|---|
data | SalesFunnelProductsRequest | Request parameters |
Returns
Promise<SalesFunnelProductsResponse>
Sales funnel products statistics
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Voronka-prodazh
Example
const result = await sdk.analytics.getSalesFunnelProducts({
selectedPeriod: { start: '2026-01-01', end: '2026-01-31' },
orderBy: { field: 'orderCount', mode: 'desc' },
limit: 10,
offset: 0,
});
console.log(result.products);getSalesFunnelProductsHistory()
getSalesFunnelProductsHistory(data: SalesFunnelProductsHistoryRequest): Promise<SalesFunnelProductsHistoryResponse>;Defined in: modules/analytics/index.ts:539
Статистика карточек товаров по дням (v3)
Возвращает статистику карточек товаров по дням или неделям.
С 2026-09-24 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов. Order Feed заменяет только данные заказов и выкупов, но не просмотры, добавления в корзину или метрики конверсии.
Rate limit: 3 requests/minute, 20-second interval, 3-request burst
Parameters
| Parameter | Type | Description |
|---|---|---|
data | SalesFunnelProductsHistoryRequest | Request parameters |
Returns
Promise<SalesFunnelProductsHistoryResponse>
Products history statistics
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Voronka-prodazh
Example
const result = await sdk.analytics.getSalesFunnelProductsHistory({
selectedPeriod: { start: '2026-01-01', end: '2026-01-07' },
nmIds: [268913787],
aggregationLevel: 'day',
});
console.log(result);getSalesFunnelGroupedHistory()
getSalesFunnelGroupedHistory(data: SalesFunnelGroupedHistoryRequest): Promise<SalesFunnelGroupedHistoryResponse>;Defined in: modules/analytics/index.ts:573
Статистика групп карточек товаров по дням (v3)
Возвращает статистику карточек товаров по дням, сгруппированных по предметам, брендам и ярлыкам.
С 2026-09-24 данные обновляются раз в 2 часа. Это свежесть данных, а не лимит запросов. Order Feed заменяет только данные заказов и выкупов, но не просмотры, добавления в корзину или метрики конверсии.
Rate limit: 3 requests/minute, 20-second interval, 3-request burst
Parameters
| Parameter | Type | Description |
|---|---|---|
data | SalesFunnelGroupedHistoryRequest | Request parameters |
Returns
Promise<SalesFunnelGroupedHistoryResponse>
Grouped history statistics
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
See
https://dev.wildberries.ru/openapi/seller-analytics#tag/Voronka-prodazh
Example
const result = await sdk.analytics.getSalesFunnelGroupedHistory({
selectedPeriod: { start: '2026-01-01', end: '2026-01-07' },
aggregationLevel: 'day',
});
console.log(result);getWbWarehousesStock()
getWbWarehousesStock(data?: WbWarehousesStockRequest): Promise<WbWarehousesStockResponse>;Defined in: modules/analytics/index.ts:629
Текущие остатки на складах WB
Возвращает актуальные остатки товаров на складах Wildberries. Данные обновляются раз в 30 минут. Одна строка = один размер на одном складе. Результаты отсортированы по возрастанию nmId.
Доступен только для токенов типа Personal и Service.
WB expanded access: now also available to registered/authorized services via a basic token + secret (not just personal/service tokens).
Заменяет устаревший метод GET /api/v1/supplier/stocks, который будет отключён 23 июня 2026.
Rate limit: 3 requests per minute, 20-second interval, burst 1
Parameters
| Parameter | Type | Description |
|---|---|---|
data? | WbWarehousesStockRequest | Filter and pagination parameters (all optional) |
Returns
Promise<WbWarehousesStockResponse>
Current inventory with warehouse IDs, region names, quantities
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
Since
3.4.0
See
- https://dev.wildberries.ru/docs/openapi/analytics#tag/Istoriya-ostatkov/operation/postV1StocksReportWbWarehouses
- Stocks History guide
Example
// Get all inventory
const stock = await sdk.analytics.getWbWarehousesStock();
for (const item of stock.data.items) {
console.log(`${item.warehouseName} (${item.regionName}): ${item.quantity} шт.`);
}
// With filters and pagination
const page = await sdk.analytics.getWbWarehousesStock({
nmIds: [395996251],
limit: 100,
offset: 0,
});getSellerWarehousesStock()
getSellerWarehousesStock(data?: SellerWarehousesStockRequest): Promise<SellerWarehousesStockResponse>;Defined in: modules/analytics/index.ts:683
Текущие остатки на складах продавца
Возвращает актуальные остатки товаров на складах продавца (FBS) сразу по ВСЕМ складам — в запросе не нужно передавать ID складов и размеры товаров (фильтры nmIds/chrtIds опциональны).
Данные обновляются раз в 30 минут. Одна строка ответа = один размер товара на одном складе продавца.
Доступен только для токенов типа Personal и Service.
Заменяет использование POST /api/v3/stocks/{warehouseId} (sdk.products.getStocks) — WB recommends this report instead of fetching stocks warehouse-by-warehouse.
Rate limit: 3 requests per minute, 20-second interval, burst 1 (strict)
Parameters
| Parameter | Type | Description |
|---|---|---|
data? | SellerWarehousesStockRequest | Filter and pagination parameters (all optional) |
Returns
Promise<SellerWarehousesStockResponse>
Current seller-warehouse inventory with warehouse IDs, region names, quantities
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
Since
task-199
See
Example
// Get inventory across ALL seller warehouses — no warehouse/size IDs needed
const stock = await sdk.analytics.getSellerWarehousesStock();
for (const item of stock.data.items) {
console.log(`${item.warehouseName} (${item.regionName}): ${item.quantity} шт.`);
}
// With filters and pagination
const page = await sdk.analytics.getSellerWarehousesStock({
nmIds: [395996251],
limit: 100,
offset: 0,
});getOrderFeed()
getOrderFeed(data: OrderFeedRequest): Promise<OrderFeedResponseWrapper>;Defined in: modules/analytics/index.ts:770
Лента заказов — заказы и продажи в одном отчёте (реальном времени)
Метод формирует датасет по заказам и продажам продавца. Данные отчёта обновляются в реальном времени. 1 заказ = 1 сборочное задание = 1 единица товара.
В отличие от устаревших отчётов GET /api/v1/supplier/orders и GET /api/v1/supplier/sales, заказы и выкупы возвращаются одним методом: статус заказа меняется в той же строке (created → buyout / cancel / return / returnDefective), отдельные строки для выкупа не создаются. При отмене (status: "cancel") дополнительно возвращается причина cancelType (app — отказ до получения, receipt — отказ в пункте выдачи, expire — истёк срок хранения, other — техническая отмена). Поле isB2b разделяет B2B/B2C-продажи.
Статусы — единственные изменяемые поля: чтобы отслеживать переходы заказа между статусами, повторно запрашивайте тот же период — строка обновится на месте. Период выбирается по дате текущего статуса заказа, максимум 31 день назад.
Фильтры nmIds, subjectIds, brandNames, tagIds можно передавать пустыми массивами [] — тогда вернутся все заказы продавца. Несколько фильтров объединяются по И (AND); если ни один заказ не подошёл, вернётся пустой массив [].
Пагинация выполняется по offset в пределах одного снимка данных: данные обновляются асинхронно, поэтому все запросы одной выборки должны использовать один и тот же курсор snapshotTime (из ответа на первый запрос с offset: 0). При смене периода или фильтров начинайте выборку заново с offset: 0 и без snapshotTime.
Заменяет GET /api/v1/supplier/orders и GET /api/v1/supplier/sales (sdk.reports.getSupplierOrders / sdk.reports.getSupplierSales) — оба ещё работают, но WB анонсировала их будущее отключение (дата не объявлена).
Rate limit: 1 запрос в минуту, интервал 1 минута, burst 1. Базовый токен без секрет: 1 запрос в 3 часа.
Доступен для любого типа токена, категория Analytics.
Parameters
| Parameter | Type | Description |
|---|---|---|
data | OrderFeedRequest | Период, фильтры и параметры пагинации |
Returns
Promise<OrderFeedResponseWrapper>
Снимок данных с курсором snapshotTime, валютой и списком заказов
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
Since
task-204
See
https://dev.wildberries.ru/docs/openapi/analytics#tag/orderFeed/operation/postV1OrderFeed
Example
// Первая страница — offset: 0, без snapshotTime
const first = await sdk.analytics.getOrderFeed({
selectedPeriod: { start: '2026-08-24T00:00:00Z', end: '2026-09-23T00:00:00Z' },
pagination: { offset: 0, limit: 1000 },
});
// Следующие страницы — тот же курсор snapshotTime из первого ответа
let snapshot = first.data.snapshotTime;
let offset = first.data.orders.length;
while (offset < 5000) { // пока не собрано всё (лимит запроса — 1 в минуту)
const page = await sdk.analytics.getOrderFeed({
selectedPeriod: { start: '2026-08-24T00:00:00Z', end: '2026-09-23T00:00:00Z' },
pagination: { snapshotTime: snapshot, offset, limit: 1000 },
});
if (page.data.orders.length === 0) break;
offset += page.data.orders.length;
}getItemRatingV2()
getItemRatingV2(data: ItemRatingV2Request): Promise<ItemRatingV2ResponseWrapper>;Defined in: modules/analytics/index.ts:806
Get the v2 item-rating report, including catalog visibility.
Use onlyShadowedNms: true to replace the deprecated reports.getBannedProductsShadowed() report. Each returned item includes isShadowed, and the per-product array is named items (not the v1 cards).
Rate limit: 3 requests per minute, 20s interval, burst 3.
Parameters
| Parameter | Type | Description |
|---|---|---|
data | ItemRatingV2Request | V2 report filters, sorting, and pagination. |
Returns
Promise<ItemRatingV2ResponseWrapper>
Seller rating, feedback summary, and per-product rows with isShadowed.
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
Since
4.1.0
See
https://dev.wildberries.ru/docs/openapi/analytics#tag/Ocenka-tovara/operation/postV2ItemRating
Example
const hiddenProducts = await sdk.analytics.getItemRatingV2({
currentPeriod: { start: '2026-07-01', end: '2026-07-18' },
onlyShadowedNms: true,
orderBy: { field: 'feedbackCount', mode: 'desc' },
offset: 0,
});
console.log(hiddenProducts.data.items[0]?.isShadowed);getItemRating()
getItemRating(data: ItemRatingRequest): Promise<ItemRatingResponseWrapper>;Defined in: modules/analytics/index.ts:867
Get item rating with feedback distribution.
Returns the seller rating, a feedback-increase summary (total + per-star 1-5 with optional dynamics vs. the previous period), and a per-item breakdown of feedback counts and star distribution.
Rate limit: 3 requests per minute, 20s interval, burst 3.
Parameters
| Parameter | Type | Description |
|---|---|---|
data | ItemRatingRequest | Request parameters. currentPeriod, orderBy, and offset are required. Pass pastPeriod to enable compare mode (yields dynamics fields in the response). |
Returns
Promise<ItemRatingResponseWrapper>
Seller rating, feedback-increase summary, and per-item array.
Throws
When API key is invalid (401/403)
Throws
When rate limit exceeded (429)
Throws
When request data is invalid (400/422)
Throws
When network request fails or times out
Deprecated
Scheduled for removal by Wildberries on 2026-07-30. Use AnalyticsModule.getItemRatingV2; note the v2 response uses items instead of cards and the no-sales filter is isNotIncludeNmsWithoutSales.
Since
3.16.0
See
https://dev.wildberries.ru/docs/openapi/analytics#tag/Ocenka-tovara/operation/postV1ItemRating
Example
// Period mode (single period, no dynamics)
const rating = await sdk.analytics.getItemRating({
currentPeriod: { start: '2026-02-10', end: '2026-02-10' },
orderBy: { field: 'feedbackCount', mode: 'desc' },
offset: 0,
limit: 100,
});
console.log(rating.data.sellerRating.current); // e.g. 3.56
// Compare mode (current + past period — yields `dynamics` fields)
const compared = await sdk.analytics.getItemRating({
currentPeriod: { start: '2026-02-10', end: '2026-02-10' },
pastPeriod: { start: '2026-02-08', end: '2026-02-08' },
nmIds: [162579635, 166699779],
orderBy: { field: 'fiveStar', mode: 'desc' },
offset: 0,
});
console.log(compared.data.feedbackIncrease.fiveStar.dynamics); // % change vs past period