Skip to content

Wildberries API TypeScript SDK / ReportsModule

Class: ReportsModule ​

Defined in: modules/reports/index.ts:38

Constructors ​

Constructor ​

ts
new ReportsModule(client: BaseClient): ReportsModule;

Defined in: modules/reports/index.ts:39

Parameters ​

ParameterType
clientBaseClient

Returns ​

ReportsModule

Methods ​

getSupplierStocks() ​

ts
getSupplierStocks(options?: {
  dateFrom: string;
}): Promise<StocksItem[]>;

Defined in: modules/reports/index.ts:56

Склады

Метод возвращает количество остатков товаров на складах WB.<br>Данные обновляются раз в 30 минут. <br><br> Для одного ответа в системе установлено условное ограничение 60000 строк. Поэтому, чтобы получить все остатки, может потребоваться более, чем один запрос. Во втором и далее запросе в параметре dateFrom используйте полное значение поля lastChangeDate из последней строки ответа на предыдущий запрос.<br> Если в ответе отдаётся пустой массив [], все остатки уже выгружены. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 1 запрос | </div>

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; }Query parameters
options.dateFrom?string-

Returns ​

Promise<StocksItem[]>

Успешно

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

Example ​

ts
const result = await sdk.reports.getSupplierStocks({});
console.log(result);

getSupplierOrders() ​

ts
getSupplierOrders(options?: {
  dateFrom: string;
  flag?: number;
}): Promise<OrdersItem[]>;

Defined in: modules/reports/index.ts:85

Заказы

Метод возвращает информацию обо всех заказах.<br>Данные обновляются раз в 30 минут.<br><br> 1 строка = 1 заказ = 1 cборочное задание = 1 единица товара.<br>Для определения заказа рекомендуем использовать поле srid.<br><br> Информация о заказе хранится 90 дней с момента оформления.<br><br> Для одного ответа на запрос с flag=0 или без flag в системе установлено условное ограничение 80000 строк. Поэтому, чтобы получить все заказы, может потребоваться более, чем один запрос. Во втором и далее запросе в параметре dateFrom используйте полное значение поля lastChangeDate из последней строки ответа на предыдущий запрос.<br> Если в ответе отдаётся пустой массив [], все заказы уже выгружены. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 1 запрос | </div>

NOTE (not deprecated, WB news 2026-09): WB recommends the real-time Order Feed report instead — sdk.analytics.getOrderFeed() (POST /api/analytics/v1/order-feed) returns orders and buyouts in one method with statuses, cancel reasons and a B2B flag, updated in real time. GET /api/v1/supplier/orders will be disabled in the future (no date announced yet).

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; flag?: number; }Query parameters
options.dateFrom?string-
options.flag?number-

Returns ​

Promise<OrdersItem[]>

Успешно

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

Example ​

ts
const result = await sdk.reports.getSupplierOrders({});
console.log(result);

getSupplierSales() ​

ts
getSupplierSales(options?: {
  dateFrom: string;
  flag?: number;
}): Promise<SalesItem[]>;

Defined in: modules/reports/index.ts:114

Продажи

Метод возвращает информацию о продажах и возвратах.<br>Данные обновляются раз в 30 минут.<br><br> 1 строка = 1 заказ = 1 cборочное задание = 1 единица товара.<br>Для определения заказа рекомендуем использовать поле srid.<br><br> Информация о заказе хранится 90 дней с момента оформления.<br><br> Для одного ответа на запрос с flag=0 или без flag в системе установлено условное ограничение 80000 строк. Поэтому, чтобы получить все продажи и возвраты, может потребоваться более, чем один запрос. Во втором и далее запросе в параметре dateFrom используйте полное значение поля lastChangeDate из последней строки ответа на предыдущий запрос.<br> Если в ответе отдаётся пустой массив [], все продажи и возвраты уже выгружены. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 1 запрос | </div>

NOTE (not deprecated, WB news 2026-09): WB recommends the real-time Order Feed report instead — sdk.analytics.getOrderFeed() (POST /api/analytics/v1/order-feed) returns orders and buyouts in one method with statuses, cancel reasons and a B2B flag, updated in real time. GET /api/v1/supplier/sales will be disabled in the future (no date announced yet).

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; flag?: number; }Query parameters
options.dateFrom?string-
options.flag?number-

Returns ​

Promise<SalesItem[]>

Успешно

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

Example ​

ts
const result = await sdk.reports.getSupplierSales({});
console.log(result);

createAnalyticsExciseReport() ​

ts
createAnalyticsExciseReport(options?: {
  dateFrom: string;
  dateTo: string;
}, data?: ExciseReportRequest): Promise<ExciseReportResponse>;

Defined in: modules/reports/index.ts:137

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

Метод возвращает отчёт с операциями по товарам с обязательной маркировкой.<br><br> Данный отчёт можно сохранить в формате таблиц. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 5 часов | 10 запросов | 30 минут | 10 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; dateTo: string; }Query parameters
options.dateFrom?string-
options.dateTo?string-
data?ExciseReportRequestRequest body data

Returns ​

Promise<ExciseReportResponse>

Успешно

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

Example ​

ts
const result = await sdk.reports.createAnalyticsExciseReport({}, {});
console.log(result);

warehouseRemains() ​

ts
warehouseRemains(options?: {
  locale?: string;
  groupByBrand?: boolean;
  groupBySubject?: boolean;
  groupBySa?: boolean;
  groupByNm?: boolean;
  groupByBarcode?: boolean;
  groupBySize?: boolean;
  filterPics?: number;
  filterVolume?: number;
}): Promise<CreateTaskResponse>;

Defined in: modules/reports/index.ts:163

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

Метод создаёт задание на генерацию отчёта об остатках на складах WB.<br><br> Параметры groupBy и filter (группировки и фильтры) можно задать в любой комбинации — аналогично версии в личном кабинете. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 5 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ locale?: string; groupByBrand?: boolean; groupBySubject?: boolean; groupBySa?: boolean; groupByNm?: boolean; groupByBarcode?: boolean; groupBySize?: boolean; filterPics?: number; filterVolume?: number; }Query parameters
options.locale?string-
options.groupByBrand?boolean-
options.groupBySubject?boolean-
options.groupBySa?boolean-
options.groupByNm?boolean-
options.groupByBarcode?boolean-
options.groupBySize?boolean-
options.filterPics?number-
options.filterVolume?number-

Returns ​

Promise<CreateTaskResponse>

Успешно

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

Example ​

ts
const result = await sdk.reports.warehouseRemains({});
console.log(result);

getWarehouseRemainsTaskStatus() ​

ts
getWarehouseRemainsTaskStatus(task_id: string): Promise<GetTasksResponse>;

Defined in: modules/reports/index.ts:193

Проверить статус задания на генерацию отчёта об остатках на складах WB

Parameters ​

ParameterTypeDescription
task_idstringID задания на генерацию

Returns ​

Promise<GetTasksResponse>

Статус задания

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

Example ​

ts
const result = await sdk.reports.getWarehouseRemainsTaskStatus('task-uuid');
console.log(result.data?.status);

downloadWarehouseRemainsReport() ​

ts
downloadWarehouseRemainsReport(task_id: string): Promise<WarehouseRemainsDownloadItem[]>;

Defined in: modules/reports/index.ts:213

Получить отчёт об остатках на складах WB

Parameters ​

ParameterTypeDescription
task_idstringID задания на генерацию

Returns ​

Promise<WarehouseRemainsDownloadItem[]>

Данные отчёта

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

Example ​

ts
const result = await sdk.reports.downloadWarehouseRemainsReport('task-uuid');
console.log(result);

getAnalyticsAntifraudDetails() ​

ts
getAnalyticsAntifraudDetails(options?: {
  date?: string;
}): Promise<AntifraudDetailsResponse>;

Defined in: modules/reports/index.ts:235

Самовыкупы

Метод возвращает отчёт об удержаниях за самовыкупы. Отчёт формируется каждую неделю по средам, до 7:00 по московскому времени, и содержит данные за одну неделю.<br><br> Удержание за самовыкуп — 30% от стоимости товаров.<br>Минимальная сумма всех удержаний — 100 000 ₽, если за неделю в ПВЗ привезли ваших товаров больше, чем на сумму 100 000 ₽.<br><br> Данные доступны с августа 2023. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 100 минут | 10 запросов | 10 минут | 10 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ date?: string; }Query parameters
options.date?string-

Returns ​

Promise<AntifraudDetailsResponse>

Response data

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

Example ​

ts
const result = await sdk.reports.getAnalyticsAntifraudDetails({});
console.log(result);

getAnalyticsGoodsLabeling() ​

ts
getAnalyticsGoodsLabeling(options?: {
  dateFrom: string;
  dateTo: string;
}): Promise<GoodsLabelingResponse>;

Defined in: modules/reports/index.ts:259

Маркировка товара

Метод возвращает отчёт о штрафах за отсутствие обязательной маркировки товаров.<br> В отчёте представлены фотографии товаров, на которых маркировка отсутствует либо не считывается.<br><br> Можно получить данные максимум за 31 день. Данные доступны с марта 2024. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 10 минут | 10 запросов | 1 минута | 10 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; dateTo: string; }Query parameters
options.dateFrom?string-
options.dateTo?string-

Returns ​

Promise<GoodsLabelingResponse>

Response data

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

Example ​

ts
const result = await sdk.reports.getAnalyticsGoodsLabeling({});
console.log(result);

acceptanceReport() ​

ts
acceptanceReport(options?: {
  dateFrom: string;
  dateTo: string;
}): Promise<CreateTaskResponse>;

Defined in: modules/reports/index.ts:284

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

Метод создаёт задание на генерацию отчёта о платной приёмке.<br><br> Можно получить отчёт максимум за 31 день. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 1 запрос | </div>

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; dateTo: string; }Query parameters
options.dateFrom?string-
options.dateTo?string-

Returns ​

Promise<CreateTaskResponse>

Успешно

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

Example ​

ts
const result = await sdk.reports.acceptanceReport({});
console.log(result);

getAcceptanceReportTaskStatus() ​

ts
getAcceptanceReportTaskStatus(task_id: string): Promise<GetTasksResponse>;

Defined in: modules/reports/index.ts:307

Проверить статус задания на генерацию отчёта о платной приёмке

Parameters ​

ParameterTypeDescription
task_idstringID задания на генерацию

Returns ​

Promise<GetTasksResponse>

Статус задания

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

Example ​

ts
const result = await sdk.reports.getAcceptanceReportTaskStatus('task-uuid');
console.log(result.data?.status);

downloadAcceptanceReport() ​

ts
downloadAcceptanceReport(task_id: string): Promise<AcceptanceReportDownloadItem[]>;

Defined in: modules/reports/index.ts:327

Получить отчёт о платной приёмке

Parameters ​

ParameterTypeDescription
task_idstringID задания на генерацию

Returns ​

Promise<AcceptanceReportDownloadItem[]>

Данные отчёта

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

Example ​

ts
const result = await sdk.reports.downloadAcceptanceReport('task-uuid');
console.log(result);

paidStorage() ​

ts
paidStorage(options?: {
  dateFrom: string;
  dateTo: string;
}): Promise<CreateTaskResponse>;

Defined in: modules/reports/index.ts:349

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

Метод создаёт задание на генерацию отчёта о платном хранении.<br><br> Можно получить отчёт максимум за 8 дней. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 5 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; dateTo: string; }Query parameters
options.dateFrom?string-
options.dateTo?string-

Returns ​

Promise<CreateTaskResponse>

Успешно

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

Example ​

ts
const result = await sdk.reports.paidStorage({});
console.log(result);

getPaidStorageTaskStatus() ​

ts
getPaidStorageTaskStatus(task_id: string): Promise<GetTasksResponse>;

Defined in: modules/reports/index.ts:369

Проверить статус задания на генерацию отчёта о платном хранении

Parameters ​

ParameterTypeDescription
task_idstringID задания на генерацию

Returns ​

Promise<GetTasksResponse>

Статус задания

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

Example ​

ts
const result = await sdk.reports.getPaidStorageTaskStatus('task-uuid');
console.log(result.data?.status);

downloadPaidStorageReport() ​

ts
downloadPaidStorageReport(task_id: string): Promise<ResponsePaidStorage>;

Defined in: modules/reports/index.ts:389

Получить отчёт о платном хранении

Parameters ​

ParameterTypeDescription
task_idstringID задания на генерацию

Returns ​

Promise<ResponsePaidStorage>

Данные отчёта

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

Example ​

ts
const result = await sdk.reports.downloadPaidStorageReport('task-uuid');
console.log(result);

getAnalyticsRegionSale() ​

ts
getAnalyticsRegionSale(options?: {
  dateFrom: string;
  dateTo: string;
}): Promise<RegionSaleResponse>;

Defined in: modules/reports/index.ts:416

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

Метод возвращает отчёт с данными продаж, сгруппированных по регионам стран.<br><br> Можно получить отчёт максимум за 31 день. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 10 секунд | 1 запрос | 10 секунд | 5 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ dateFrom: string; dateTo: string; }Query parameters
options.dateFrom?string-
options.dateTo?string-

Returns ​

Promise<RegionSaleResponse>

Response data

Deprecated ​

WB disables this endpoint on 2026-11-03. Migrate to sdk.analytics.getOrderFeed() and aggregate the returned order events by delivery geography. Order Feed is not a drop-in replacement for the legacy regional money/share metrics; see the regional-sales migration guide.

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

Example ​

ts
const result = await sdk.reports.getAnalyticsRegionSale({});
console.log(result);

getBrandShareBrands() ​

ts
getBrandShareBrands(): Promise<BrandShareBrandsResponse>;

Defined in: modules/reports/index.ts:446

Бренды продавца

Метод возвращает список брендов продавца для отчёта о доле бренда в продажах. <br><br> Можно получить только бренды, которые: - Продавались за последние 90 дней. - Есть на складе WB. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 1 запрос | 1 минута | 10 запросов | </div>

Returns ​

Promise<BrandShareBrandsResponse>

Response data

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

Example ​

ts
const result = await sdk.reports.getBrandShareBrands();
console.log(result);

getBrandShareParentSubjects() ​

ts
getBrandShareParentSubjects(options?: {
  locale?: string;
  brand: string;
  dateFrom: string;
  dateTo: string;
}): Promise<BrandShareParentSubjectsResponse>;

Defined in: modules/reports/index.ts:468

Родительские категории бренда

Метод возвращает родительские категории бренда продавца для отчёта о доле бренда в продажах.<br><br> Можно получить отчёт максимум за 365 дней. Данные доступны с 1 ноября 2022. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 5 секунд | 1 запрос | 5 секунд | 20 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ locale?: string; brand: string; dateFrom: string; dateTo: string; }Query parameters
options.locale?string-
options.brand?string-
options.dateFrom?string-
options.dateTo?string-

Returns ​

Promise<BrandShareParentSubjectsResponse>

Response data

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

Example ​

ts
const result = await sdk.reports.getBrandShareParentSubjects({});
console.log(result);

getAnalyticsBrandShare() ​

ts
getAnalyticsBrandShare(options?: {
  parentId: number;
  brand: string;
  dateFrom: string;
  dateTo: string;
}): Promise<BrandShareResponse>;

Defined in: modules/reports/index.ts:495

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

Метод возвращает отчёт о доле бренда продавца в продажах. <br><br> Можно получить отчёт максимум за 365 дней. Данные доступны с 1 ноября 2022. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 5 секунд | 1 запрос | 5 секунд | 20 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ parentId: number; brand: string; dateFrom: string; dateTo: string; }Query parameters
options.parentId?number-
options.brand?string-
options.dateFrom?string-
options.dateTo?string-

Returns ​

Promise<BrandShareResponse>

Response data

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

Example ​

ts
const result = await sdk.reports.getAnalyticsBrandShare({});
console.log(result);

getBannedProductsBlocked() ​

ts
getBannedProductsBlocked(options?: {
  sort: "brand" | "nmId" | "title" | "vendorCode" | "reason";
  order: "asc" | "desc";
}): Promise<BannedProductsBlockedResponse>;

Defined in: modules/reports/index.ts:522

Заблокированные карточки

Метод возвращает список заблокированных карточек товаров продавца с причинами блокировки. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 10 секунд | 1 запрос | 10 секунд | 6 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ sort: "brand" | "nmId" | "title" | "vendorCode" | "reason"; order: "asc" | "desc"; }Query parameters
options.sort?"brand" | "nmId" | "title" | "vendorCode" | "reason"-
options.order?"asc" | "desc"-

Returns ​

Promise<BannedProductsBlockedResponse>

Успешно

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

Example ​

ts
const result = await sdk.reports.getBannedProductsBlocked({});
console.log(result);

getBannedProductsShadowed() ​

ts
getBannedProductsShadowed(options?: {
  sort: "brand" | "nmId" | "title" | "vendorCode" | "nmRating";
  order: "asc" | "desc";
}): Promise<BannedProductsShadowedResponse>;

Defined in: modules/reports/index.ts:550

Скрытые из каталога

Метод возвращает список товаров продавца, скрытых из каталога. <div class="description_limit"> <a href="/openapi/api-information#tag/Vvedenie/Limity-zaprosov">Лимит запросов</a> на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 10 секунд | 1 запрос | 10 секунд | 6 запросов | </div>

Parameters ​

ParameterTypeDescription
options?{ sort: "brand" | "nmId" | "title" | "vendorCode" | "nmRating"; order: "asc" | "desc"; }Query parameters
options.sort?"brand" | "nmId" | "title" | "vendorCode" | "nmRating"-
options.order?"asc" | "desc"-

Returns ​

Promise<BannedProductsShadowedResponse>

Успешно

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 sdk.analytics.getItemRatingV2({ onlyShadowedNms: true, ... }) instead; v2 returns catalog visibility in data.items[].isShadowed.

Example ​

ts
const result = await sdk.reports.getBannedProductsShadowed({});
console.log(result);

getAnalyticsV1GoodsReturn() ​

ts
getAnalyticsV1GoodsReturn(params: GetAnalyticsV1GoodsReturnParams): Promise<GoodsReturnV1Response>;

Defined in: modules/reports/index.ts:618

Получить отчёт (v1, аналитика) — Возврат и перемещение товаров

Новая версия отчёта о возвратах товаров продавцу. Заменяет удалённый в v5 метод getAnalyticsGoodsReturn — WB отключил старый эндпоинт 26 октября 2026 года.

Отличия от старой версии:

  • параметр status — раздельное получение активных (active) и архивных (archive) возвратов (заменяет поле isStatusActive);
  • пагинация limit + offset (старая версия возвращала всё сразу);
  • поле count — общее число возвратов за период (по всем страницам);
  • переименования полей: barcode→sku, status→returnStatus, reason→returnReason (только для «Возврат неопознанного товара»); добавлены kiz (Честный знак), subjectName, techSize.

Окно отчёта: максимум 31 день (dateTo > dateFrom), иначе 400 DateRangeExceeded. Пустой результат — HTTP 204.

Доступен по токену любого типа, категория «Аналитика».

Rate limit: WB не публикует отдельный лимит; в SDK зеркалирует старую версию отчёта — 1 req/min, 1 min interval, burst 10

Parameters ​

ParameterTypeDescription
paramsGetAnalyticsV1GoodsReturnParamsQuery parameters (all required)

Returns ​

Promise<GoodsReturnV1Response>

{ count, report } — счётчик за период + страница отчёта

Throws ​

When API key is invalid (401/403)

Throws ​

When rate limit exceeded (429)

Throws ​

When request data is invalid (400) — в т.ч. окно > 31 дня

Throws ​

When network request fails or times out

Since ​

task-212

See ​

https://dev.wildberries.ru/docs/openapi/reports#tag/returnsAndItemMovementReport/operation/getAnalyticsV1GoodsReturn

Example ​

typescript
// Active returns, first page
const page1 = await sdk.reports.getAnalyticsV1GoodsReturn({
  dateFrom: '2026-09-01',
  dateTo: '2026-09-24',
  status: 'active',
  limit: 1000,
  offset: 0
});
console.log(`Total: ${page1.count}`);
// Archive returns, second page
const page2 = await sdk.reports.getAnalyticsV1GoodsReturn({
  dateFrom: '2026-09-01',
  dateTo: '2026-09-24',
  status: 'archive',
  limit: 1000,
  offset: 1000
});

getMeasurementPenalties() ​

ts
getMeasurementPenalties(options: MeasurementPenaltiesParams): Promise<MeasurementPenaltiesResponse>;

Defined in: modules/reports/index.ts:656

Занижение габаритов упаковки (штрафы)

Метод возвращает отчёт об удержаниях за занижение габаритов упаковки.

Rate limit: 1 req/min, 1 min interval, burst 1

Parameters ​

ParameterTypeDescription
optionsMeasurementPenaltiesParamsQuery parameters

Returns ​

Promise<MeasurementPenaltiesResponse>

Penalty reports with total count

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 ​

EPIC 44 - New endpoint replacing tab=penalty on old warehouse-measurements

Example ​

ts
const result = await sdk.reports.getMeasurementPenalties({
  dateTo: '2026-02-06',
  limit: 100
});
console.log(result.data?.reports);

getWarehouseMeasurementsV2() ​

ts
getWarehouseMeasurementsV2(options: WarehouseMeasurementsV2Params): Promise<WarehouseMeasurementsV2Response>;

Defined in: modules/reports/index.ts:690

Замеры склада

Метод возвращает отчёт о замерах склада.

Rate limit: 1 req/min, 1 min interval, burst 1

Parameters ​

ParameterTypeDescription
optionsWarehouseMeasurementsV2ParamsQuery parameters

Returns ​

Promise<WarehouseMeasurementsV2Response>

Measurement reports with total count

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 ​

EPIC 44 - New endpoint replacing tab=measurement on old warehouse-measurements

Example ​

ts
const result = await sdk.reports.getWarehouseMeasurementsV2({
  dateTo: '2026-02-06',
  limit: 100
});
console.log(result.data?.reports);

getDeductions() ​

ts
getDeductions(options: DeductionsParams): Promise<DeductionsResponse>;

Defined in: modules/reports/index.ts:729

Удержания за подмену и некорректные вложения

Метод возвращает отчёт об удержаниях за подмену товара и некорректные вложения. Заменяет удалённый endpoint /api/v1/analytics/incorrect-attachments.

Rate limit: 1 req/min, 1 min interval, burst 1

Parameters ​

ParameterTypeDescription
optionsDeductionsParamsQuery parameters

Returns ​

Promise<DeductionsResponse>

Deduction reports with total count

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 ​

EPIC 44 - New endpoint replacing removed incorrect-attachments

Example ​

ts
const result = await sdk.reports.getDeductions({
  dateTo: '2026-02-06',
  limit: 100,
  sort: 'dtBonus',
  order: 'desc'
});
console.log(result.data?.reports);

Made with ❤️ for the Wildberries developer community