# Wildberries Scraper - Russian Marketplace Product Data (`haketa/wildberries-scraper`) Actor

Scrape Wildberries.ru products by keyword: name, brand, RUB prices, ratings, reviews, supplier details, delivery times, color and size variants. Russian e-commerce data, marketplace intelligence, supplier discovery and lead generation.

- **URL**: https://apify.com/haketa/wildberries-scraper.md
- **Developed by:** [Haketa](https://apify.com/haketa) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 5 total users, 3 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Wildberries Scraper — Russian Marketplace Product Data & Lead Generation

Extract comprehensive product data from **Wildberries.ru** — Russia's largest online marketplace with over 250 million products across 50,000+ brands. Scrape product name, brand, prices (basic & discounted), rating, review count, supplier details, delivery times, color variants, size options, and more. Perfect for e-commerce competitive intelligence, marketplace research, supplier discovery, price monitoring, and lead generation on the Russian market.

### 🎯 Key Differentiators

- **30+ data fields per product** — far more than basic scrapers that only extract name and price
- **Internal JSON API** — extracts data directly from the same endpoint the Wildberries website uses, giving you the complete dataset including delivery times, supplier IDs, review metrics, and taxonomy
- **Supplier discovery** — get supplier name, ID, and rating for every product — identify manufacturers and distributors selling on Russia's #1 marketplace
- **Delivery time data** — min/max delivery days per warehouse, logistics cost breakdown
- **Size & color variants** — all available options with per-variant pricing
- **Discount calculation** — automatic discount percentage computed from basic vs. discounted price
- **No login required** — all data is publicly accessible through Wildberries' catalog search
- **Sort options** — popular, rating, price ascending/descending, newest first

### 📊 What You Can Extract

| Field | Description | Example |
|-------|-------------|---------|
| `name` | Product name | "Ноутбук Lenovo IdeaPad 3" |
| `brand` | Brand name | "Lenovo" |
| `brandId` | Wildberries brand ID | 123456 |
| `priceBasicRub` | Original price (RUB) | 59990 |
| `priceProductRub` | Discounted price (RUB) | 39990 |
| `discountPercent` | Calculated discount % | 33 |
| `rating` | Star rating (0-5) | 4.7 |
| `feedbacks` | Number of reviews | 1243 |
| `reviewRating` | Weighted review rating | 4.8 |
| `totalQuantity` | Available stock | 250 |
| `supplier` | Supplier/merchant name | "ООО ТехноМаркет" |
| `supplierId` | Wildberries supplier ID | 987654 |
| `supplierRating` | Supplier rating | 4.9 |
| `subjectId` | Category ID | 654 |
| `colors` | Available colors | \[{"name":"black","id":0}] |
| `sizeVariants` | Size options with pricing | \[{"name":"42","priceProductRub":39990}] |
| `deliveryDaysMin` | Minimum delivery days | 1 |
| `deliveryDaysMax` | Maximum delivery days | 3 |
| `priceLogisticsRub` | Logistics cost (RUB) | 300 |
| `priceReturnRub` | Return cost (RUB) | 0 |
| `mainImage` | Product image URL | basket-01.wbbasket.ru/vol.../big/1.webp |
| `productUrl` | Wildberries product page | wildberries.ru/catalog/123/detail.aspx |
| `searchQuery` | Search keyword used | "ноутбук" |

### 🚀 Use Cases

#### E-Commerce Competitive Intelligence

Track competitor pricing, product assortment, and discount strategies across the entire Russian marketplace. Monitor how brands and suppliers position themselves on Russia's dominant e-commerce platform.

#### Supplier & Manufacturer Discovery

Wildberries hosts thousands of suppliers — from major Russian manufacturers to Chinese dropshippers. Extract supplier names, IDs, and ratings to build B2B lead lists for sourcing, wholesale, or partnership opportunities in the Russian/CIS market.

#### Price Monitoring & MAP Compliance

Track product prices and discounts over time. Monitor if resellers are undercutting your MAP (Minimum Advertised Price). Calculate discount depth across categories and competitors.

#### Market Research & Category Analysis

Analyze entire product categories: average prices, rating distributions, most-reviewed products, dominant brands, and active suppliers. Understand the competitive landscape before entering the Russian market.

#### Lead Generation for B2B Services

Extract supplier data to identify merchants who may need logistics, warehousing, marketing, photography, or financial services. Filter by category to target specific verticals.

#### Product Feed Enrichment

Enrich your product database with accurate, up-to-date Wildberries data — current prices, stock levels, ratings, and review counts.

### 📥 Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `queries` | String array | ✅ Yes | Search keywords (e.g. `["ноутбук", "платье", "стол"]`). Supports Russian and English. |
| `maxItemsPerQuery` | Integer | No (default: 200) | Maximum products to collect per keyword. ~100 per page. |
| `sort` | Enum | No (default: `popular`) | Sort order: `popular`, `rate` (by rating), `priceup` (cheapest first), `pricedown` (expensive first), `newly` (newest first) |
| `language` | Enum | No (default: `ru`) | Interface language: `ru` (Russian, native names), `en` (English translations) |
| `proxyConfiguration` | Object | No (default: Residential) | Proxy settings. Residential with Russian IP recommended for production. |

### 💰 Pricing & Performance

Wildberries Scraper uses Playwright browser automation to handle the anti-bot challenge, then intercepts the internal JSON API for high-speed data extraction.

- **Cost efficiency**: Each page returns up to 100 products in a single JSON response — no DOM parsing overhead
- **Proxy recommendation**: Residential proxy with Russian IP for reliable operation. Datacenter proxies may trigger anti-bot challenges
- **Speed**: ~5-15 seconds per page depending on proxy latency and anti-bot challenge clearance
- **Memory**: 1024 MB minimum, 4096 MB recommended for high-volume runs

### 🛡️ Anti-Bot Handling

Wildberries uses **wbaas** — an in-house anti-bot system that serves HTTP 498 challenges to suspicious traffic. This scraper handles it through:

1. **Browser fingerprinting** — Crawlee's fingerprint generator creates realistic Chrome browser profiles
2. **JavaScript execution** — Playwright runs the full browser environment, including any client-side challenges
3. **Session persistence** — Cookies and tokens are maintained across page navigations within a run
4. **Proxy rotation** — Residential proxy support distributes requests across clean IPs

For production runs targeting 1,000+ products, residential proxies with Russian exit nodes provide the most reliable path.

### 📋 Example Output

```json
{
  "id": 776264265,
  "name": "Curling Tongs",
  "brand": "LOKKA",
  "brandId": 312269064,
  "priceBasicRub": 4000,
  "priceProductRub": 3036,
  "discountPercent": 24,
  "priceLogisticsRub": 0,
  "priceReturnRub": 0,
  "rating": 5,
  "feedbacks": 136,
  "reviewRating": 4.8,
  "totalQuantity": 120762,
  "supplier": "LOKKA",
  "supplierId": 250088821,
  "supplierRating": 5,
  "subjectId": 654,
  "subjectParentId": 9214,
  "root": 800442163,
  "kindId": 0,
  "volume": 34,
  "pics": 30,
  "mainImage": "https://basket-01.wbbasket.ru/vol776/part776264/776264265/images/big/1.webp",
  "colors": [{"name": "pink", "id": 16761035}],
  "sizeVariants": [{
    "name": "",
    "priceBasicRub": 4000,
    "priceProductRub": 3036,
    "deliveryDaysMin": 2,
    "deliveryDaysMax": 19,
    "optionId": 1139194125
  }],
  "deliveryDaysMin": 2,
  "deliveryDaysMax": 19,
  "productUrl": "https://www.wildberries.ru/catalog/776264265/detail.aspx",
  "searchQuery": "lokka",
  "sortOrder": "popular",
  "scrapedAt": "2026-06-24T12:00:00.000Z"
}
```

### 🏗️ Technical Architecture

This scraper is built on:

- **[Crawlee](https://crawlee.dev)** — Apify's open-source scraping framework with built-in fingerprinting, session management, and proxy rotation
- **[Playwright](https://playwright.dev)** — Microsoft's browser automation library for handling JavaScript challenges
- **[Apify SDK](https://docs.apify.com/sdk/js)** — Cloud platform integration for storage, proxy, and deployment

The extraction flow:

1. Playwright launches a browser with realistic fingerprint
2. Navigates to Wildberries search page with your keyword and sort parameters
3. Waits for the website's JavaScript to complete anti-bot challenges
4. Intercepts the internal JSON API response (`__internal/u-search`)
5. Extracts all 30+ product fields from the structured data
6. Auto-paginates until max items reached or results exhausted
7. Deduplicates by product ID to prevent duplicates across pages

### 🔍 Tips for Best Results

- **Use Russian keywords** for the most complete results. Russian-language queries return the full Wildberries catalog. English queries also work but may return fewer results.
- **Combine with other data sources** — use this scraper alongside Ozon or Yandex Market scrapers for complete Russian e-commerce coverage.
- **Sort by `rate`** to get the highest-rated products first.
- **Sort by `pricedown`** to analyze premium/luxury segments of a category.
- **Sort by `priceup`** to find budget options and entry-level products.
- **Run regularly** to track price changes, new product launches, and rating trends over time.

### ⚙️ Running on Apify

1. Click "Try for free"
2. Enter your search keywords in the `queries` field
3. Set `maxItemsPerQuery` to your desired limit
4. Choose a `sort` order if needed
5. Click "Save & Run"

The actor will process each keyword, paginate automatically, and save all products to the dataset. Download as JSON, CSV, Excel, or access via API.

### 📚 Related Actors

- **Ozon Scraper** — Russia's #2 marketplace
- **Yandex Market Scraper** — Price comparison across Russian retailers
- **Allegro Scraper** — Polish marketplace (CEE region)
- **Amazon Product Scraper** — Global marketplace benchmark

### ⚠️ Legal & Responsible Use

This scraper extracts publicly available product data from Wildberries.ru. It is designed for competitive intelligence, market research, and supplier discovery purposes.

Users are responsible for:

- Complying with Wildberries' Terms of Service
- Respecting rate limits and not overwhelming the website
- Not scraping personal data or user-generated content beyond public product listings
- Complying with applicable data protection laws (GDPR, Russian Federal Law No. 152-FZ)
- Ensuring your use case aligns with fair use principles

***

Built with ❤️ for the e-commerce and marketplace intelligence community. Questions? Contact the developer through Apify.

### 📅 Changelog & Maintenance

**Last updated:** 2026-07-02 — Actor verified and maintained. Data pipeline tested for quality, structure and freshness; selectors/endpoints confirmed against the live site.

# Actor input Schema

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

Type the product terms you want to collect, exactly as you would search on Wildberries (Russian or English both work, e.g. "ноутбук", "dress", "наушники"). 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`):

Cap the number of products collected for each keyword. Results paginate automatically until this limit is reached. Set to 0 for unlimited (collect everything available).

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

Apify Proxy is enabled by default with automatic session rotation. Datacenter works for most runs; switch to Residential if you hit rate limits on very large jobs.

## Actor input object example

```json
{
  "queries": [
    "ноутбук",
    "платье",
    "наушники"
  ],
  "sort": "popular",
  "language": "ru",
  "maxItemsPerQuery": 100,
  "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": 100,
    "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": 100,
    "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("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call haketa/wildberries-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=haketa/wildberries-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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