Skip to content

Wildberries API TypeScript SDK / AnalyticsModule

Class: AnalyticsModule

Defined in: modules/analytics/index.ts:53

Constructors

Constructor

ts
new AnalyticsModule(client: BaseClient): AnalyticsModule;

Defined in: modules/analytics/index.ts:54

Parameters

ParameterType
clientBaseClient

Returns

AnalyticsModule

Methods

getNmReportDownloads()

ts
getNmReportDownloads(options?: {
  filter[downloadIds]?: string[];
}): Promise<NmReportGetReportsResponse>;

Defined in: modules/analytics/index.ts:74

Получить список отчётов

Метод возвращает список отчётов с расширенной аналитикой продавца. Ответ содержит ID созданных отчётов и статусы генерации.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
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

ts
const result = await sdk.analytics.getNmReportDownloads({});
console.log(result);

createNmReportDownload()

ts
createNmReportDownload(data?: 
  | SalesFunnelProductReq
  | SalesFunnelGroupReq
  | SearchReportGroupReq
  | SearchReportProductReq
  | SearchReportTextReq
  | StocksReportReq
| InventoryHistoryReportReq): Promise<NmReportCreateReportResponse>;

Defined in: modules/analytics/index.ts:105

Создать отчёт

Метод создаёт задание на генерацию отчёта с расширенной аналитикой продавца. Вы можете создать CSV-версии отчётов по воронке продаж или параметрам поиска с группировкой по артикулам WB, предметам, брендам и ярлыкам. В отчётах по воронке продаж можно группировать данные по дням, неделям или месяцам. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
data?| SalesFunnelProductReq | SalesFunnelGroupReq | SearchReportGroupReq | SearchReportProductReq | SearchReportTextReq | StocksReportReq | InventoryHistoryReportReqRequest 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

ts
const result = await sdk.analytics.createNmReportDownload({});
console.log(result);

createDownloadsRetry()

ts
createDownloadsRetry(data: NmReportRetryReportRequest): Promise<NmReportRetryReportResponse>;

Defined in: modules/analytics/index.ts:141

Сгенерировать отчёт повторно

Метод создает повторное задание на генерацию отчёта с расширенной аналитикой продавца. Необходимо, если при генерации отчёта вы получили статус FAILED.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataNmReportRetryReportRequestRequest 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

ts
const result = await sdk.analytics.createDownloadsRetry({});
console.log(result);

getDownloadsFile()

ts
getDownloadsFile(downloadId: string): Promise<ArrayBuffer>;

Defined in: modules/analytics/index.ts:171

Получить отчёт

Метод возвращает отчёт с расширенной аналитикой продавца по ID задания на генерацию. Можно получить отчёт, который сгенерирован за последние 48 часов. Отчёт будет загружен внутри архива ZIP в формате CSV.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
downloadIdstringID отчёта (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

ts
const result = await sdk.analytics.getDownloadsFile('downloadId-value');
console.log(result);

createSearchReportReport()

ts
createSearchReportReport(data: MainRequest): Promise<CommonResponseProperties & {
  data: MainResponse;
}>;

Defined in: modules/analytics/index.ts:197

Основная страница

Метод формирует набор данных для основной страницы отчёта по поисковым запросам с общей информацией, позициями товаров, данными по видимости и переходам в карточку, данными для таблицы по группам. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataMainRequestRequest 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

ts
const result = await sdk.analytics.createSearchReportReport({});
console.log(result);

createTableGroup()

ts
createTableGroup(data: TableGroupRequest): Promise<CommonResponseProperties & {
  data: TableGroupResponse;
}>;

Defined in: modules/analytics/index.ts:227

Пагинация по группам

Метод формирует дополнительные данные к основному отчёту с пагинацией по группам. Пагинация возможна только при наличии фильтра по бренду, предмету или ярлыку. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataTableGroupRequestRequest 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

ts
const result = await sdk.analytics.createTableGroup({});
console.log(result);

createTableDetail()

ts
createTableDetail(data: TableDetailsRequest): Promise<CommonResponseProperties & {
  data: TableDetailsResponse;
}>;

Defined in: modules/analytics/index.ts:257

Пагинация по товарам в группе

Метод формирует дополнительные данные к основному отчёту с пагинацией по товарам в группе. Пагинация возможна вне зависимости от наличия фильтров. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataTableDetailsRequestRequest 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

ts
const result = await sdk.analytics.createTableDetail({});
console.log(result);

createProductSearchText()

ts
createProductSearchText(data: ProductSearchTextsRequest): Promise<CommonResponseProperties & {
  data: ProductSearchTextsResponse;
}>;

Defined in: modules/analytics/index.ts:286

Поисковые запросы по товару

Метод формирует топ поисковых запросов по товару. Параметры includeSubstitutedSKUs и includeSearchTexts не могут одновременно иметь значение false.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataProductSearchTextsRequestRequest 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

ts
const result = await sdk.analytics.createProductSearchText({});
console.log(result);

createProductOrder()

ts
createProductOrder(data: ProductOrdersRequest): Promise<CommonResponseProperties & {
  data: ProductOrdersResponse;
}>;

Defined in: modules/analytics/index.ts:314

Заказы и позиции по поисковым запросам товара

Метод формирует данные для таблицы по количеству заказов и позиций в поиске по запросам покупателя.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataProductOrdersRequestRequest 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

ts
const result = await sdk.analytics.createProductOrder({});
console.log(result);

createProductsGroup()

ts
createProductsGroup(data: TableGroupRequestSt): Promise<{
  data: TableGroupResponseSt;
}>;

Defined in: modules/analytics/index.ts:343

Данные по группам

Метод формирует набор данных об остатках по группам товаров. Группа товаров описывается кортежем subjectID, brandName, tagID.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataTableGroupRequestStRequest 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

ts
const result = await sdk.analytics.createProductsGroup({});
console.log(result);

createProductsProduct()

ts
createProductsProduct(data: TableProductRequest): Promise<{
  data: TableProductResponse;
}>;

Defined in: modules/analytics/index.ts:370

Данные по товарам

Метод формирует набор данных об остатках по товарам. Можно получить данные как по отдельным товарам, так и в рамках всего отчёта — если в запросе отсутствуют фильтры: nmIDs, subjectID, brandName, tagID.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataTableProductRequestRequest 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

ts
const result = await sdk.analytics.createProductsProduct({});
console.log(result);

createProductsSize()

ts
createProductsSize(data: CommonSizeFilters): Promise<{
  data: TableSizeResponse;
}>;

Defined in: modules/analytics/index.ts:398

Данные по размерам

Метод формирует набор данных об остатках по размерам товара. Товар не имеет размера, если у него единственный размер с "techSize":"0". Данные по складам Маркетплейс (FBS) приходят в агрегированном виде.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataCommonSizeFiltersRequest 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

ts
const result = await sdk.analytics.createProductsSize({});
console.log(result);

createStocksReportOffice()

ts
createStocksReportOffice(data: CommonShippingOfficeFilters): Promise<{
  data: TableShippingOfficeResponse;
}>;

Defined in: modules/analytics/index.ts:425

Данные по складам

Метод формирует набор данных об остатках по складам. Данные по складам Маркетплейс (FBS) приходят в агрегированном виде — по всем сразу, без детализации по конкретным складам.

Rate limit: 3 requests/minute, 20-second interval, burst 3

Parameters

ParameterTypeDescription
dataCommonShippingOfficeFiltersRequest 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

ts
const result = await sdk.analytics.createStocksReportOffice({});
console.log(result);

getSalesFunnelProducts()

ts
getSalesFunnelProducts(data: SalesFunnelProductsRequest): Promise<SalesFunnelProductsResponse>;

Defined in: modules/analytics/index.ts:461

Статистика карточек товаров за период (v3)

Возвращает отчёт о товарах с ключевыми показателями — переходы в карточку, добавления в корзину, заказы — за текущий и прошлый периоды.

Rate limit: 3 requests/minute, 20-second interval, 3-request burst

Parameters

ParameterTypeDescription
dataSalesFunnelProductsRequestRequest 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

ts
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()

ts
getSalesFunnelProductsHistory(data: SalesFunnelProductsHistoryRequest): Promise<SalesFunnelProductsHistoryResponse>;

Defined in: modules/analytics/index.ts:493

Статистика карточек товаров по дням (v3)

Возвращает статистику карточек товаров по дням или неделям.

Rate limit: 3 requests/minute, 20-second interval, 3-request burst

Parameters

ParameterTypeDescription
dataSalesFunnelProductsHistoryRequestRequest 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

ts
const result = await sdk.analytics.getSalesFunnelProductsHistory({
  selectedPeriod: { start: '2026-01-01', end: '2026-01-07' },
  nmIds: [268913787],
  aggregationLevel: 'day',
});
console.log(result);

getSalesFunnelGroupedHistory()

ts
getSalesFunnelGroupedHistory(data: SalesFunnelGroupedHistoryRequest): Promise<SalesFunnelGroupedHistoryResponse>;

Defined in: modules/analytics/index.ts:524

Статистика групп карточек товаров по дням (v3)

Возвращает статистику карточек товаров по дням, сгруппированных по предметам, брендам и ярлыкам.

Rate limit: 3 requests/minute, 20-second interval, 3-request burst

Parameters

ParameterTypeDescription
dataSalesFunnelGroupedHistoryRequestRequest 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

ts
const result = await sdk.analytics.getSalesFunnelGroupedHistory({
  selectedPeriod: { start: '2026-01-01', end: '2026-01-07' },
  aggregationLevel: 'day',
});
console.log(result);

getWbWarehousesStock()

ts
getWbWarehousesStock(data?: WbWarehousesStockRequest): Promise<WbWarehousesStockResponse>;

Defined in: modules/analytics/index.ts:580

Текущие остатки на складах 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

ParameterTypeDescription
data?WbWarehousesStockRequestFilter 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

Example

typescript
// 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,
});

getItemRatingV2()

ts
getItemRatingV2(data: ItemRatingV2Request): Promise<ItemRatingV2ResponseWrapper>;

Defined in: modules/analytics/index.ts:616

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

ParameterTypeDescription
dataItemRatingV2RequestV2 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

typescript
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()

ts
getItemRating(data: ItemRatingRequest): Promise<ItemRatingResponseWrapper>;

Defined in: modules/analytics/index.ts:677

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

ParameterTypeDescription
dataItemRatingRequestRequest 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

typescript
// 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

Made with ❤️ for the Wildberries developer community