Skip to content

Wildberries SDKTypeScript SDK for Wildberries API

Full-featured SDK providing type-safe access to all Wildberries marketplace API methods. Reduce integration time from weeks to hours.

Quick Start ​

Install the SDK and make your first API call in under 5 minutes:

bash
npm install daytona-wildberries-typescript-sdk
typescript
import { WildberriesSDK } from 'daytona-wildberries-typescript-sdk';

const sdk = new WildberriesSDK({ apiKey: 'your-api-key' });
const categories = await sdk.products.getParentCategories();
console.log(categories);

👉 Complete 5-Minute Quickstart Guide


🆕 v4.1.0 — Item Rating v2 ​

Wildberries will disable Item Rating v1 and the dedicated hidden-from-catalog report on July 30, 2026. SDK v4.1.0 adds analytics.getItemRatingV2() with onlyShadowedNms filtering and items[].isShadowed visibility.

👉 Migrate Item Rating v1 and hidden-product reporting


⚠️ Critical API Update - February 2, 2026 ​

WILDBERRIES API DEPRECATION NOTICE

Four Promotion API methods will be disabled on February 2, 2026

Wildberries is transitioning from type 8 (standard bid) campaigns to type 9 (custom/standard bid) campaigns. The following methods will stop working:

  • getAutoGetnmtoadd() - List of Product Cards
  • createAutoUpdatenm() - Update Product Cards
  • getAutoStatWords() - Statistics by Phrase Clusters
  • createAutoSetExcluded() - Set/Remove Minus-Phrases

⏱️ Migration Time: 30-60 minutes | ⏰ Deadline: February 2, 2026 (6 weeks from today)

Quick Migration Steps: ​

1. Check Your Campaigns (2 min):

typescript
const campaigns = await sdk.promotion.getPromotionCount();
const type8 = campaigns.adverts?.filter(c => c.type === 8) || [];
console.log(`⚠️  Type 8 campaigns to migrate: ${type8.length}`);

2. Update Your Code (10-30 min):

typescript
// ❌ OLD (Type 8) — removed in v4.0.0
const products = await sdk.promotion.getAutoGetnmtoadd({ id: campaignId });

// ✅ Type 9 campaigns — fetch via the v2 advert API (the v0/v1 methods
//    shown in earlier migration guides were removed in v4.0.0)
const campaigns = await sdk.promotion.getAdvertsV2({ ids: String(campaignId) });
const products = campaigns.adverts?.[0]?.nm_settings || [];

v4.0.0 note: the v0/v1 advert methods (getAuctionAdverts, getAutoGetnmtoadd, etc.) have been removed. See docs/guides/migration-v4.md for the full replacement table.

3. Test & Deploy (15 min)

📖 Complete Migration Guide with 6 Practical Examples →


Project Statistics ​

<div class="stats-grid"> <div class="stat-card"> <div class="stat-number">100%</div> <div class="stat-label">API Coverage</div> </div> <div class="stat-card"> <div class="stat-number">90%+</div> <div class="stat-label">Test Coverage</div> </div> <div class="stat-card"> <div class="stat-number">2376</div> <div class="stat-label">Tests</div> </div> <div class="stat-card"> <div class="stat-number">14</div> <div class="stat-label">API Modules</div> </div> </div>

<style> .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 2rem 0; }

.stat-card { padding: 1.5rem; background: var(--vp-c-bg-soft); border-radius: 8px; text-align: center; transition: transform 0.2s ease, box-shadow 0.2s ease; }

.stat-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); }

.stat-number { font-size: 2.5rem; font-weight: bold; color: var(--vp-c-brand-1); line-height: 1.2; }

.stat-label { margin-top: 0.5rem; font-size: 0.9rem; color: var(--vp-c-text-2); font-weight: 500; }

@media (max-width: 768px) { .stats-grid { grid-template-columns: repeat(2, 1fr); }

.stat-number { font-size: 2rem; } } </style>


Why Choose Wildberries SDK? ​

🎯 Production Ready ​

Battle-tested with 90%+ statement coverage and 2,376 tests. All 14 API modules are implemented and validated against the repository's Wildberries OpenAPI specifications.

⚡ Time Savings ​

Reduce integration time from weeks to hours. Complete type safety eliminates debugging runtime errors. Automatic rate limiting prevents API bans.

📚 Comprehensive Documentation ​

🔧 Zero Configuration ​

Works out of the box with sensible defaults. Advanced configuration available for custom rate limiting, retry policies, timeouts, and logging levels.


Supported API Modules ​

All 14 Wildberries API modules are supported:

ModuleCoverageKey Features
General100%Ping, connectivity testing, seller info, user management, Jam subscription, seller rating
Products100%Catalog CRUD, pricing, media, inventory
Orders FBS100%Seller fulfillment, order status, supplies, metadata validation
Orders FBW100%WB warehouse fulfillment, supply planning, acceptance coefficients, cost calculator, DBW buyer info
Finances100%Balance, transactions, reports, payouts
Analytics100%Sales funnel, search queries, CSV exports, WB warehouse inventory
Reports100%Income reports, sales reports, data exports
Communications100%Customer chat, Q&A, reviews management
Promotion100%Campaign lifecycle, bidding, statistics, search clusters, bid recommendations ⚠️ Migration Required
Tariffs100%Commission rates, fee schedules
In-Store Pickup100%Pickup point orders and management
Orders DBS100%Delivery-by-Seller orders, bulk status ops, B2B, marking metadata
User Management100%Seller-profile users: invitations, access rights
Returns100%Unified return analytics (FBO + FBS + Finance)

View Complete Module Documentation →


Common Use Cases ​

<div class="use-cases"> <div class="use-case-card"> <h3>📦 Product Management</h3> <p>Sync product catalogs, update pricing, manage inventory across warehouses.</p> <a href="/getting-started/tutorials/product-catalog-sync">View Tutorial →</a> </div>

<div class="use-case-card"> <h3>📋 Order Fulfillment</h3> <p>Process customer orders, manage shipping, track deliveries for FBS and FBW.</p> <a href="/getting-started/tutorials/order-fulfillment">View Tutorial →</a> </div>

<div class="use-case-card"> <h3>📊 Analytics & Reporting</h3> <p>Generate sales reports, analyze performance, export data for BI tools.</p> <a href="/getting-started/tutorials/analytics-dashboard">View Tutorial →</a> </div>

<div class="use-case-card"> <h3>💰 Financial Management</h3> <p>Track balance, reconcile transactions, manage payouts and reporting.</p> <a href="/api/classes/FinancesModule">View API Reference →</a> </div>

<div class="use-case-card"> <h3>💬 Customer Support</h3> <p>Manage customer chat, answer Q&A, respond to reviews at scale.</p> <a href="/api/classes/CommunicationsModule">View API Reference →</a> </div>

<div class="use-case-card"> <h3>🔄 Multi-Channel Integration</h3> <p>Connect products → orders → finances → analytics for complete automation.</p> <a href="/getting-started/tutorials/multi-module-integration">View Tutorial →</a> </div> </div>

<style> .use-cases { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin: 2rem 0; }

.use-case-card { padding: 1.5rem; background: var(--vp-c-bg-soft); border: 1px solid var(--vp-c-divider); border-radius: 8px; transition: all 0.2s ease; }

.use-case-card:hover { border-color: var(--vp-c-brand-1); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); transform: translateY(-2px); }

.use-case-card h3 { margin: 0 0 0.75rem 0; font-size: 1.1rem; color: var(--vp-c-text-1); }

.use-case-card p { margin: 0 0 1rem 0; font-size: 0.9rem; color: var(--vp-c-text-2); line-height: 1.6; }

.use-case-card a { display: inline-block; font-size: 0.9rem; color: var(--vp-c-brand-1); text-decoration: none; font-weight: 500; }

.use-case-card a:hover { color: var(--vp-c-brand-2); text-decoration: underline; }

@media (max-width: 768px) { .use-cases { grid-template-columns: 1fr; } } </style>


Ready to Get Started? ​

<div class="cta-section"> <div class="cta-card"> <h3>🚀 Quick Start</h3> <p>Get up and running in under 5 minutes with our comprehensive quickstart guide.</p> <a href="/getting-started/quickstart" class="cta-button">Start Building →</a> </div>

<div class="cta-card"> <h3>📚 View Documentation</h3> <p>Explore tutorials, guides, and complete API reference documentation.</p> <a href="/getting-started/" class="cta-button secondary">Browse Docs →</a> </div> </div>

<style> .cta-section { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 3rem 0; padding: 2rem; background: linear-gradient(135deg, var(--vp-c-bg-soft) 0%, var(--vp-c-bg) 100%); border-radius: 12px; }

.cta-card { text-align: center; padding: 2rem; }

.cta-card h3 { margin: 0 0 1rem 0; font-size: 1.5rem; color: var(--vp-c-text-1); }

.cta-card p { margin: 0 0 1.5rem 0; color: var(--vp-c-text-2); line-height: 1.6; }

.cta-button { display: inline-block; padding: 0.75rem 2rem; background: var(--vp-c-brand-1); color: white !important; text-decoration: none; border-radius: 6px; font-weight: 600; transition: all 0.2s ease; }

.cta-button:hover { background: var(--vp-c-brand-2); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }

.cta-button.secondary { background: var(--vp-c-bg-soft); color: var(--vp-c-brand-1) !important; border: 2px solid var(--vp-c-brand-1); }

.cta-button.secondary:hover { background: var(--vp-c-brand-soft); }

@media (max-width: 768px) { .cta-section { grid-template-columns: 1fr; padding: 1.5rem; } } </style>


Made with ❤️ for the Wildberries developer community

Made with ❤️ for the Wildberries developer community