# Wildberries Scraper — Product Data, Prices & Suppliers (`haketa/wildberries-scraper`) Actor

Scrape Wildberries.ru by keyword or product ID: extract product name, brand, prices, discount %, rating, reviews, supplier name/ID/INN, delivery times, colors & sizes, product URL. Russian & CIS marketplace data for competitor analysis & B2B supplier discovery. JSON, CSV, Excel.

- **URL**: https://apify.com/haketa/wildberries-scraper.md
- **Developed by:** [Haketa](https://apify.com/haketa) (community)
- **Categories:** E-commerce, Lead generation, Business
- **Features:** Limited permissions
- **Stats:** 7 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Wildberries Scraper 🛍️🇷🇺 — Product Data, Prices, Ratings & Supplier Intelligence

**Extract structured product and merchant data from [Wildberries.ru](https://www.wildberries.ru) — the largest online marketplace in Russia and the CIS region — with zero login and zero coding.** This **Wildberries scraper** accepts search keywords, product IDs (`nmId`), or product URLs, paginates automatically up to **1,000+ products per query**, and outputs clean records with **product ID, name, brand, prices in RUB, calculated discount %, star rating, verified review counts, supplier name, supplier legal entity & INN tax ID, supplier ID, category taxonomy, product specifications, color & size variants, delivery times, and high-resolution image URLs**.

Export your **Wildberries data** in bulk to **JSON, CSV, Excel, XML, or via the Apify API** for competitive pricing analysis, B2B supplier discovery, and CIS marketplace research.

> **Built for** e-commerce analysts, pricing & revenue teams, wholesale & sourcing buyers, B2B lead-generation agencies harvesting verified Russian merchant contacts (`supplierFullName` + `supplierInn`), brand protection teams, and marketplace intelligence researchers.

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-00b04f?style=flat-square\&logo=apify)](https://apify.com/haketa/wildberries-scraper)
[![Market](https://img.shields.io/badge/Marketplace-Wildberries%20%7C%20CIS-cb11ab?style=flat-square)](https://apify.com/haketa/wildberries-scraper)
[![Suppliers](https://img.shields.io/badge/Supplier%20Data-Name%20%7C%20ID%20%7C%20INN-ff6600?style=flat-square)](https://apify.com/haketa/wildberries-scraper)
[![Ratings](https://img.shields.io/badge/Ratings%20%26%20Reviews-Included-brightgreen?style=flat-square)](https://apify.com/haketa/wildberries-scraper)
[![Pagination](https://img.shields.io/badge/Pagination-1%2C000%2B%20Products%20%2F%20Query-blue?style=flat-square)](https://apify.com/haketa/wildberries-scraper)
[![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-2b7489?style=flat-square)](https://apify.com/haketa/wildberries-scraper)
[![No code](https://img.shields.io/badge/No--code-Friendly-9cf?style=flat-square)](https://apify.com/haketa/wildberries-scraper)

***

### ⚡ At a glance

| Feature | Details |
| --- | --- |
| **Target marketplace** | [Wildberries.ru](https://www.wildberries.ru) — Russia & CIS e-commerce across fashion, electronics, home, beauty, kids & grocery |
| **Targeting modes** | Search keywords (`queries`), direct Wildberries product IDs (`nmId`) / product URLs, or automatic multi-category sample |
| **Core data extracted** | Product `id` (`nmId`), `name`, `brand`, `productUrl`, `mainImage`, RUB prices & discount %, `rating`, `reviewRating`, `feedbacks`, `supplier`, `supplierId`, `supplierFullName`, `supplierInn`, `trademark`, category IDs, `colors`, `sizeVariants`, `options` specs |
| **Pagination & 1,000+ scale** | Automatic multi-page catalog pagination + resilient CDN card/seller/feedback extraction supporting **1,000+ products per query** |
| **De-duplication** | 100% unique products per run — keyed globally on Wildberries article ID (`id`) |
| **Speed & reliability** | ~50–100 products in 15–30 seconds; built-in dual-path extraction ensures results even when regional WAF challenges active search endpoints |
| **Export formats** | JSON, CSV, Excel (XLSX), HTML, XML, RSS, and live REST API / webhooks |

***

### 🔎 Why scrape Wildberries?

[Wildberries](https://www.wildberries.ru) is the dominant e-commerce ecosystem across Russia, Belarus, Kazakhstan, Armenia, Kyrgyzstan, and Uzbekistan, processing millions of daily orders across hundreds of millions of SKUs and hundreds of thousands of third-party merchants. Every product listing on Wildberries exposes two high-value layers of commercial intelligence:

1. **Product, catalog & review intelligence** — product title, brand, category hierarchy (`entity`, `subjectId`, `subjectParentId`), star rating, weighted review rating (`reviewRating`), verified feedback count (`feedbacks`), color/size variants, physical weight, and structured technical specifications (`options`).
2. **Verified B2B merchant & supplier identity** — unlike many Western marketplaces that hide seller identities, Wildberries publishes the merchant's store name (`supplier`), internal `supplierId`, registered legal entity name (`supplierFullName`, e.g. LLC / ООО or Individual Entrepreneur / ИП), taxpayer identification number (`supplierInn`), and registered `trademark`.

Collecting this data manually across thousands of product cards is slow and impractical. This **Wildberries data extractor** automates the entire process — paginating through catalog results, normalizing product specifications and merchant records into flat JSON rows, deduplicating by article ID, and exporting directly to Excel, CSV, or your analytics pipeline.

***

### ✨ What this Wildberries scraper does

- ✅ **Keyword, Product ID & URL targeting:** Pass any number of search keywords (Russian or English, e.g. `ноутбук`, `платье`, `наушники`), numeric Wildberries article IDs (`176765992`), or product URLs (`https://www.wildberries.ru/catalog/176765992/detail.aspx`).
- ✅ **Unlocked 1,000+ pagination per query:** Automatically paginates until your `maxItemsPerQuery` target is reached (supporting `1000+` items per keyword or `0` for unlimited collection) without artificial 100-item clamps.
- ✅ **Resilient dual-channel architecture:** Combines live search pagination with automatic fallback to Wildberries' product card, seller registry, and feedback channels — ensuring reliable product, specification, rating, and supplier extraction even when Wildberries' regional anti-bot (`wbaas`) restricts search queries on non-RU IPs.
- ✅ **Complete B2B supplier enrichment:** Extracts `supplier`, `supplierId`, `supplierRating`, `supplierFullName`, `supplierInn` (Russian tax ID), and `trademark` for B2B lead generation and counterparty verification.
- ✅ **Structured product specifications:** Captures `vendorCode`, full `description`, `weight`, `pics` count, `colors`, `sizeVariants`, and key-value attribute `options` (material, country of origin, dimensions, compatibility).
- ✅ **Sort & language controls:** Order search results by popularity (`popular`), rating (`rate`), price ascending (`priceup`), price descending (`pricedown`), or newest arrivals (`newly`), and choose Russian (`ru`) or English (`en`) product labels.

***

### 🎯 Use cases

| Persona | How they use Wildberries Scraper |
| --- | --- |
| **B2B Lead Generation & Fintech Teams** | Extract verified Wildberries sellers (`supplierFullName`, `supplierInn`, `supplierId`, `trademark`) to build B2B outreach lists for seller financing, fulfillment, SaaS, and wholesale services. |
| **Marketplace Sellers & Brand Managers** | Benchmark competitor product assortments, review velocity (`feedbacks`), weighted star ratings (`reviewRating`), and specification positioning. |
| **Sourcing & Wholesale Buyers** | Discover manufacturers and high-volume suppliers across apparel, footwear, electronics, and home goods, complete with vendor codes and country-of-origin specs. |
| **E-Commerce & Pricing Analysts** | Monitor category pricing (`priceBasicRub`, `priceProductRub`, `discountPercent`), brand share, and SKU depth across the CIS retail market. |
| **Catalog & Data Engineering Teams** | Enrich internal PIM/ERP databases by passing lists of Wildberries article IDs (`nmId`) in `queries` to pull normalized titles, images, brands, and attribute tables. |

***

### 📥 Input parameters

Every input field is optional. Running with default prefill (`queries: ["ноутбук"]`, `maxItemsPerQuery: 50`) finishes in ~15–25 seconds. Leaving `queries` empty automatically collects a diverse 100-product sample across 8 popular categories.

| Parameter | Type | Default / Prefill | Description |
| --- | --- | --- | --- |
| `queries` | `array<string>` | Prefill: `["ноутбук"]` | Search keywords (e.g. `"ноутбук"`, `"платье"`, `"наушники"`), Wildberries article IDs (`"176765992"`), or product URLs. Leave empty for an automatic multi-category sample. |
| `sort` | `string` (select) | `"popular"` | Result ordering: `"popular"` (Most popular), `"rate"` (Highest rated), `"priceup"` (Price: low to high), `"pricedown"` (Price: high to low), or `"newly"` (Newest first). |
| `language` | `string` (select) | `"ru"` | Product name language: `"ru"` (Russian native) or `"en"` (English translated where available). |
| `maxItemsPerQuery` | `integer` | `0` (Prefill: `50`) | Maximum products to collect per keyword. Set `0` for unlimited collection, or `1000+` for deep catalog extraction. |
| `proxyConfiguration` | `object` | `{ "useApifyProxy": true }` | Apify Proxy settings. Works out of the box on default proxy via resilient product/seller extraction; configure a Russian (`RU`) Residential proxy when direct search-ranking order is required. |

#### Example 1 — Multi-keyword marketplace & supplier scrape (1,000+ items)

```json
{
  "queries": ["ноутбук", "платье", "наушники"],
  "sort": "popular",
  "language": "ru",
  "maxItemsPerQuery": 500,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

#### Example 2 — Direct article ID (`nmId`) & product URL enrichment

```json
{
  "queries": [
    "176765992",
    "150000100",
    "https://www.wildberries.ru/catalog/100000100/detail.aspx"
  ],
  "language": "ru",
  "maxItemsPerQuery": 50
}
```

#### Example 3 — High-volume CIS category & supplier audit (1,000+ products)

```json
{
  "queries": ["кроссовки", "рюкзак", "смартфон", "кофе", "игрушки"],
  "sort": "rate",
  "language": "ru",
  "maxItemsPerQuery": 1000,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

***

### 🔌 Integrations & automated B2B workflows

Connect **Wildberries Scraper** directly to your BI, CRM, or analytics pipeline:

- **CRM & B2B Outreach (HubSpot, Salesforce, Bitrix24, AmoCRM):** Export deduplicated seller records (`supplierFullName`, `supplierInn`, `supplierId`, `trademark`) directly into your CRM to power merchant acquisition campaigns.
- **Google Sheets & Excel:** Sync daily category snapshots, review counts (`feedbacks`), and rating trends into shared spreadsheets.
- **Make, Zapier & n8n:** Build automated workflows that monitor specific Wildberries `nmId` lists and alert your team on Slack or Telegram when ratings, stock, or prices change.
- **Data Warehouses (ClickHouse, PostgreSQL, BigQuery, Snowflake):** Stream flat JSON records via the Apify Dataset API into your analytics warehouse on an hourly or daily schedule.

***

### 📤 Output & field reference

Each product is returned as a rich, flat JSON object. Below is a representative output record showing the unified schema:

```json
{
  "id": 176765992,
  "name": "Чехол на Xiaomi Redmi 9A (Редми 9А)",
  "productUrl": "https://www.wildberries.ru/catalog/176765992/detail.aspx",
  "mainImage": "https://basket-12.wbbasket.ru/vol1767/part176765/176765992/images/big/1.webp",
  "brand": "Case M&A",
  "brandId": "8AAA959CF56F1FCE",
  "siteBrandId": null,
  "priceBasicRub": 4000,
  "priceProductRub": 3036,
  "priceLogisticsRub": 0,
  "priceReturnRub": 0,
  "discountPercent": 24,
  "rating": 5,
  "feedbacks": 136,
  "reviewRating": 4.9,
  "nmFeedbacks": 136,
  "nmReviewRating": 4.9,
  "totalQuantity": 120,
  "soldQuantity": null,
  "supplier": "ИП Крейтор М. О.",
  "supplierId": 1278369,
  "supplierRating": 4.9,
  "supplierFlags": 0,
  "supplierFullName": "Индивидуальный предприниматель Крейтор Михаил Олегович",
  "supplierInn": "673205522660",
  "trademark": "M&A Shop",
  "root": 207231123,
  "kindId": null,
  "subjectId": 390,
  "subjectParentId": 6258,
  "semanticId": null,
  "volume": null,
  "weight": 0.032,
  "pics": 3,
  "colors": [
    { "name": "черный", "id": null }
  ],
  "sizeVariants": [
    {
      "name": "0",
      "origName": "0",
      "priceBasic": 4000,
      "priceProduct": 3036,
      "warehouseId": 123,
      "deliveryDaysMin": 1,
      "deliveryDaysMax": 5,
      "optionId": 292731982
    }
  ],
  "deliveryDaysMin": 1,
  "deliveryDaysMax": 5,
  "entity": "Чехлы для телефонов",
  "matchId": 207231123,
  "dist": null,
  "isNew": false,
  "viewFlags": null,
  "dtype": null,
  "wh": null,
  "panelPromoId": null,
  "vendorCode": "CASE_6_REDMI9A_034",
  "description": "Этот чехол для Xiaomi Redmi 9A - истинная находка...",
  "options": [
    { "name": "Тип чехлов", "value": "Бампер защитный" },
    { "name": "Совместимость", "value": "Xiaomi Redmi 9A" },
    { "name": "Страна производства", "value": "Россия" }
  ],
  "meta": { "sitemap": null },
  "searchQuery": "ноутбук",
  "sortOrder": "popular",
  "scrapedAt": "2026-11-10T03:00:00.000Z"
}
```

#### 🆔 Product identity, brand & media fields

| Field | Type | Coverage | Description |
| --- | --- | --- | --- |
| `id` | `integer` | 🟢 High (100%) | Unique Wildberries article number (`nmId`). Used as the global de-duplication key. |
| `name` | `string` | 🟢 High (100%) | Product title in Russian or English. |
| `productUrl` | `string` | 🟢 High (100%) | Direct link to the product detail page on Wildberries.ru. |
| `mainImage` | `string` | 🟢 High (100%) | High-resolution WebP product image URL. |
| `pics` | `integer` | 🟢 High (100%) | Total number of product gallery photos. |
| `brand` | `string` | 🟢 High (~98%) | Brand or trademark name. |
| `brandId` / `siteBrandId` | `string\|integer` | 🟢 High (~95%) | Internal Wildberries brand identifier / hash. |
| `vendorCode` | `string` | 🟢 High (~90%) | Seller's internal SKU / manufacturer part number (`vendor_code`). |
| `description` | `string` | 🟢 High (~90%) | Product description text (up to 600 chars). |

#### 🏢 Supplier & B2B legal entity fields

| Field | Type | Coverage | Description |
| --- | --- | --- | --- |
| `supplier` | `string` | 🟢 High (100%) | Merchant / seller short display name (e.g. `ИП Крейтор М. О.` or `ООО ...`). |
| `supplierId` | `integer` | 🟢 High (100%) | Unique Wildberries seller ID. |
| `supplierFullName` | `string` | 🟢 High (~95%) | Full registered legal entity name of the merchant. |
| `supplierInn` | `string` | 🟢 High (~95%) | Official Russian taxpayer identification number (`ИНН`) of the seller. |
| `trademark` | `string` | 🟢 High (~90%) | Registered storefront trademark associated with the supplier. |
| `supplierRating` | `number` | 🟡 Conditional | Seller or product family rating score. |

#### ⭐ Ratings, reviews & pricing fields

| Field | Type | Coverage | Description |
| --- | --- | --- | --- |
| `rating` | `integer` | 🟡 Conditional | Rounded star rating (1–5) for products with customer reviews. |
| `reviewRating` / `nmReviewRating` | `number` | 🟡 Conditional | Exact decimal review valuation (e.g. `4.9`) from verified buyers. |
| `feedbacks` / `nmFeedbacks` | `integer` | 🟢 High (100%) | Total count of customer feedbacks/reviews on the product family. |
| `priceBasicRub` | `integer` | 🟡 Conditional | Pre-discount base price in Russian Rubles (`RUB`). |
| `priceProductRub` | `integer` | 🟡 Conditional | Final discounted selling price in Russian Rubles (`RUB`). |
| `discountPercent` | `integer` | 🟡 Conditional | Calculated discount percentage (`1 - priceProductRub / priceBasicRub`). |
| `totalQuantity` / `soldQuantity` | `integer` | 🟡 Conditional | Available warehouse stock and historical sold count when exposed. |

#### 🧩 Taxonomy, variants & specification fields

| Field | Type | Coverage | Description |
| --- | --- | --- | --- |
| `entity` | `string` | 🟢 High (100%) | Product category name (e.g. `Чехлы для телефонов`, `Носки`, `Платья`). |
| `subjectId` / `subjectParentId` | `integer` | 🟢 High (100%) | Wildberries category and parent category IDs. |
| `root` / `matchId` | `integer` | 🟢 High (100%) | Product family root ID (`imt_id`) linking color variants together. |
| `weight` | `number` | 🟢 High (~80%) | Packaged product weight in kilograms (`kg`). |
| `colors` | `array<object>` | 🟢 High (~85%) | Available color variants (`{ name, id }`). |
| `sizeVariants` | `array<object>` | 🟢 High (~95%) | Size / option variants with `optionId`, `name`, and delivery day estimates. |
| `options` | `array<object>` | 🟢 High (~95%) | Up to 15 structured product specification pairs (`{ name, value }`). |
| `deliveryDaysMin` / `deliveryDaysMax` | `integer` | 🟢 High (100%) | Estimated minimum and maximum delivery days. |
| `searchQuery` / `sortOrder` / `scrapedAt` | `string` | 🟢 High (100%) | Search provenance and ISO-8601 extraction timestamp. |

***

### 🔁 Pagination & 1,000+ scale

This **Wildberries scraper** is engineered to scale from quick 50-item checks to **1,000+ product extractions** per run:

1. **Unlocked `maxItemsPerQuery`:** Set `maxItemsPerQuery: 1000` (or `0` for unlimited) to collect 1,000+ unique products per keyword. Even when you run with empty `queries` (sample mode) and specify a custom `maxItemsPerQuery` (e.g. `1000`), your explicit limit is honored in full.
2. **Automatic sister-variant & multi-volume expansion:** As products are collected, the scraper automatically discovers linked color/variant IDs in the same `imt_id` family and traverses active catalog volumes with 10× concurrent HTTP workers.
3. **Strict article deduplication:** Every product is deduplicated across all pages and queries by its numeric Wildberries `id` (`nmId`), guaranteeing **0 duplicates**.

***

### ⚙️ How to use

1. Open **Wildberries Scraper** in the Apify Console.
2. Enter your search keywords, numeric product IDs (`nmId`), or Wildberries URLs in **`queries`** (or leave empty for a mixed category sample).
3. Choose your preferred **`sort`** order and **`language`** (`ru` or `en`).
4. Set **`maxItemsPerQuery`** — e.g. `50` for a fast test run, `1000` for deep extraction, or `0` for unlimited.
5. Click **Start**, then export your dataset from **Storage → Dataset** as **JSON, CSV, Excel, HTML, or XML**.

#### Run via API (cURL, Node.js & Python)

**cURL**

```bash
curl -X POST "https://api.apify.com/v2/acts/haketa~wildberries-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "queries": ["ноутбук", "наушники"],
    "sort": "popular",
    "language": "ru",
    "maxItemsPerQuery": 500
  }'
```

**JavaScript (Node.js)**

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('haketa/wildberries-scraper').call({
    queries: ['платье', 'кроссовки'],
    maxItemsPerQuery: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} unique Wildberries products`);
```

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("haketa/wildberries-scraper").call(run_input={
    "queries": ["смартфон"],
    "maxItemsPerQuery": 500,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["id"], item["name"], item.get("brand"), item.get("supplierInn"))
```

***

### 💡 Pro tips

- **Harvest verified B2B seller leads with `supplierInn`:** Every record includes the merchant's official Russian taxpayer ID (`supplierInn`) and full legal name (`supplierFullName`). Deduplicate your exported Excel file on `supplierInn` to build an instant B2B registry of active Wildberries merchants.
- **Look up exact SKUs by article number:** You can paste a list of Wildberries article numbers (e.g. `["176765992", "150000100", "200000100"]`) directly into `queries` — the scraper will fetch each exact product plus its sister color variants.
- **Russian Residential proxy for live search rankings:** While product cards, specifications, supplier legal records, and ratings work out of the box on default proxies, configuring a Russian (`RU`) Residential proxy in `proxyConfiguration` enables direct keyword-ranking pagination with live regional RUB checkout prices.

***

### ⚠️ Limitations & notes

- **Regional WAF on live search:** Wildberries protects its dynamic search endpoint with an in-house regional WAF (`wbaas`) that blocks non-Russian and datacenter IPs (`HTTP 403/498`). When running without a Russian residential proxy, the actor automatically uses its resilient CDN catalog/seller/feedback extractor so your run still succeeds with rich product, specification, rating, and supplier records; in that mode, regional checkout price fields (`priceBasicRub`, `priceProductRub`) may be `null` because dynamic checkout pricing is region-gated.
- **Product-dependent review scores:** Products that have `feedbacks: 0` naturally have `rating: null` and `reviewRating: null`.

***

### ❓ FAQ

**Do I need a Wildberries account or API key?**
No. All product, specification, rating, and supplier data is extracted from public Wildberries endpoints without logging in.

**Will my run return data on default Apify Proxy?**
Yes! Unlike older scrapers that fail with 0 items when Wildberries' regional WAF (`wbaas`) blocks datacenter IPs, v1.2 automatically falls back to Wildberries' product card, seller legal registry, and feedback channels so every run delivers rich product and supplier data in seconds.

**How many products can I collect in one run?**
You can set `maxItemsPerQuery` to `1000` (or `0` for unlimited) and pass multiple keywords to collect **1,000 to 10,000+ unique products** in a single run.

**Can I scrape by Wildberries article ID (`nmId`) or product URL?**
Yes. Put any 6–10 digit `nmId` or `wildberries.ru/catalog/.../detail.aspx` URL into `queries`, and the scraper will extract that product and its linked variants.

**Are duplicate products removed?**
Yes. All records are deduplicated globally by numeric product `id` (`nmId`), ensuring **0 duplicates**.

**What export formats are supported?**
JSON, CSV, Excel (XLSX), HTML, XML, and RSS — available in the Apify Console or via the Apify REST API.

***

### 🔗 Related scrapers

Expand your e-commerce and international marketplace data pipeline with these actors by **haketa**:

- [Flipkart Scraper](https://apify.com/haketa/flipkart-scraper) — Product prices, MRPs, discounts, ratings, and specs from India's leading marketplace.
- [AliExpress Product Scraper](https://apify.com/haketa/aliexpress-product-scraper) — Global cross-border e-commerce products, prices, and seller ratings.
- [Tokopedia Scraper](https://apify.com/haketa/tokopedia-scraper) — Indonesian marketplace product and merchant intelligence.
- [Zalando Scraper](https://apify.com/haketa/zalando-scraper) — European fashion catalog, brand pricing, and discount tracking.

***

### 📋 Changelog

#### v1.2 (2026-11)

- **Unlocked 1,000+ deep pagination:** Fixed sample-run limit clamping so explicit `maxItemsPerQuery` values (`1000+`) are always honored, removed the 10,000 schema ceiling, and scaled dynamic page limits.
- **Resilient CDN product + seller + feedback extraction:** Added automatic fallback to Wildberries' product card, legal seller registry (`supplierFullName`, `supplierInn`, `trademark`), and feedback channels when `wbaas` blocks search queries on non-RU IPs.
- **Direct `nmId` & URL support:** `queries` now accepts numeric Wildberries article IDs and product URLs in addition to keywords.
- **Documentation upgrade:** Added `⚡ At a glance` table, emoji-grouped field tables with coverage indicators, and B2B seller enrichment documentation.

#### v1.1 (2026-10)

- **Empty-input sample support:** Added automatic 8-category seed queries when `queries` is left empty.
- **Improved WAF status reporting:** Added clear status messages and session rotation on HTTP 403/429/498 responses.

#### v1.0 (2026-07)

- Initial release with keyword search, RUB price conversion, supplier fields, and size/color variant mapping.

***

⭐ **Ready to extract Wildberries product and supplier data?** Click **Start** and export clean JSON, CSV, or Excel datasets in seconds!

# Changelog

This Actor's version history is a separate document: https://apify.com/haketa/wildberries-scraper/changelog.md

# Actor input Schema

## `queries` (type: `array`):

Type the product search terms (Russian or English, e.g. "ноутбук", "платье", "наушники") or paste Wildberries product IDs / URLs. Leave empty to get a ready-made mixed sample of popular products across categories.

## `sort` (type: `string`):

Choose how products are ordered in the results.

## `language` (type: `string`):

Language used for product names. Russian is the native marketplace language; English returns translated names where available.

## `maxItemsPerQuery` (type: `integer`):

Maximum number of products collected for each keyword. Results paginate automatically until this limit is reached. Set to 0 for unlimited collection.

## `proxyConfiguration` (type: `object`):

Apify Proxy with automatic session rotation. Works out of the box with CDN product extraction; a Russian (RU) Residential proxy is recommended when querying the live search endpoint directly.

## Actor input object example

```json
{
  "queries": [
    "ноутбук",
    "платье",
    "наушники"
  ],
  "sort": "popular",
  "language": "ru",
  "maxItemsPerQuery": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Open to view, filter and export all scraped results from this run (JSON, CSV, Excel).

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "ноутбук"
    ],
    "sort": "popular",
    "language": "ru",
    "maxItemsPerQuery": 50,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/wildberries-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "queries": ["ноутбук"],
    "sort": "popular",
    "language": "ru",
    "maxItemsPerQuery": 50,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/wildberries-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": [
    "ноутбук"
  ],
  "sort": "popular",
  "language": "ru",
  "maxItemsPerQuery": 50,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call haketa/wildberries-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,haketa/wildberries-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Uv8ShlVUUzNg9OBjm/builds/sFnetc1O1GjXRrj2H/openapi.json
