# Wildberries Product Search Scraper (`stealth_mode/wildberries-product-search-scraper`) Actor

Scrape product listings from Wildberries.ru, Russia's largest online marketplace. Extract prices, ratings, supplier info, stock levels, and product specifications from search and category pages. Ideal for market research, price monitoring, and competitive analysis in the Russian e-commerce market.

- **URL**: https://apify.com/stealth\_mode/wildberries-product-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 6 total users, 3 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Product Search Scraper: Extract Russian E-commerce Data

### Understanding Wildberries and Its Market Data Value

Wildberries.ru dominates Russian e-commerce with millions of products across electronics, fashion, home goods, and more. Unlike Western marketplaces, Wildberries operates a unique supplier model with distinctive pricing dynamics and inventory management, making its data essential for understanding the Russian and CIS markets.

The platform reveals real-time market intelligence: product popularity through ratings and reviews, supplier performance metrics, regional stock availability, and competitive pricing. For businesses entering Russian markets, tracking competitors, or analyzing consumer trends, Wildberries data provides insights unavailable elsewhere.

Manual data collection across categories and suppliers is impractical at scale. This scraper automates extraction from search and category pages, transforming product listings into structured datasets for analysis.

### What This Scraper Extracts

The Wildberries Product Search Scraper processes category and search result pages, collecting multiple product listings per page. It captures comprehensive product data including identifiers, supplier information, pricing, inventory, and customer feedback metrics.

**Target Users:** Market researchers analyzing Russian consumer trends, e-commerce businesses benchmarking prices and suppliers, retailers planning market entry, brand managers monitoring product performance, and data analysts tracking inventory patterns.

### Input Configuration

The scraper requires category or search URLs from Wildberries—pages displaying multiple products, not individual product detail pages.

**Configuration Parameters:**

```json
{
  "urls": ["https://www.wildberries.ru/catalog/elektronika/smartfony-i-telefony/vse-smartfony"],
  "ignore_url_failures": true,
  "max_items_per_url": 50
}
````

**urls:** Array of category or search result page URLs. Use Wildberries catalog pages or search results. You can add multiple URLs to scrape different categories in one run.

**ignore\_url\_failures:** Set `true` to continue processing remaining URLs if some fail. Recommended for multi-URL runs.

**max\_items\_per\_url:** Maximum products to extract per URL (default: 20, shown example: 50). Wildberries displays 100 items per page, so adjust based on needs.

**URL Collection:** Browse Wildberries, navigate to desired categories or searches, copy URLs. For comprehensive data, include multiple category variations or paginated URLs.

### Output Fields Explained

**Sample Output:**

```json
{
  "id": 555207381,
  "root": 426928957,
  "kind_id": 0,
  "brand": "VIVO",
  "brand_id": 33526,
  "site_brand_id": 0,
  "colors": [
    {
      "name": "коричневый",
      "id": 10824234
    }
  ],
  "subject_id": 515,
  "subject_parent_id": 6258,
  "name": "Смартфон Y29 Ростест (ЕАС) 8+128, Горячий шоколад",
  "entity": "смартфоны",
  "match_id": 425962423,
  "supplier": "vivo official store",
  "supplier_id": 4058087,
  "supplier_rating": 4.9,
  "supplier_flags": 12224,
  "pics": 27,
  "rating": 5,
  "review_rating": 4.9,
  "nm_review_rating": 4.9,
  "feedbacks": 704,
  "nm_feedbacks": 704,
  "panel_promo_id": 1034530,
  "volume": 8,
  "weight": 0.522,
  "view_flags": 135536712,
  "sizes": [
    {
      "name": "",
      "orig_name": "0",
      "rank": 0,
      "option_id": 763308023,
      "wh": 206348,
      "time1": 2,
      "time2": 25,
      "dtype": 6597069766664,
      "price": {
        "basic": 1499900,
        "product": 998800,
        "logistics": 0,
        "return": 0
      },
      "sale_conditions": 2281701376,
      "payload": "A4oZ4kLbae5D81qQTT70Vycjw7pvDr/UJGCBmpdUUyMzmCWkJIKyd7OShtkQnyBtNq+KeCUlKMp2vv8eWRnpqmRZU6fWyT3TauoiNHslVbkUqQDPZvtVpelcUuoq1B1nlvJsrE89Uu84Qy/XBQCKvr/HC62kleqkwu/sNTpJ6kyi1X1bKpJRg4cQ2CySEeza0Q/Kwbe7vglEE7/X+t+tT5+ibC0rSORk5KP66ozecqNIVhnZBOS28OVrk9HC"
    }
  ],
  "total_quantity": 1,
  "time1": 2,
  "time2": 25,
  "wh": 206348,
  "dtype": 6597069766664,
  "dist": 224,
  "logs": "NAUzQXOoPJwUUWp34mbN5FVRRoVGYCc21k24NCY52LD8YseynLEdMd0/sTdCNAyJnUrcYkgwETQOazS3n5rtHDlM",
  "meta": {
    "tokens": [],
    "preset_id": 500050021
  },
  "from_url": "https://www.wildberries.ru/catalog/elektronika/smartfony-i-telefony/vse-smartfony"
}
```

**ID:** Unique product identifier. Primary key for databases and tracking.

**Root / Kind ID:** Product classification identifiers for categorization.

**Brand / Brand ID / Site Brand ID:** Brand name and identifiers. Track brand performance and filter by manufacturer.

**Colors:** Available color variants. Analyze color popularity and inventory.

**Subject ID / Subject Parent ID:** Category classification. Map products to Wildberries taxonomy.

**Name:** Product title as displayed. Used for search and identification.

**Entity / Match ID:** Internal matching identifiers for product variants.

**Supplier / Supplier ID:** Seller name and ID. Track supplier portfolios and performance.

**Supplier Rating / Supplier Flags:** Seller quality metrics. Assess supplier reliability.

**Pics:** Product image count. Visual content availability indicator.

**Rating:** Overall product rating. Customer satisfaction metric.

**Review Rating / NM Review Rating:** Different review score types. Multiple quality perspectives.

**Feedbacks / NM Feedbacks:** Review counts. Popularity and engagement metrics.

**Panel Promo ID:** Promotional campaign identifier. Track marketing activities.

**Volume / Weight:** Physical product dimensions. Shipping and logistics data.

**View Flags:** Display and visibility settings. Understand product presentation.

**Sizes:** Available size variants with details including prices and stock.

**Total Quantity:** Aggregate inventory across warehouses. Stock availability indicator.

**Time1 / Time2:** Temporal metadata. Track listing age and updates.

**WH:** Warehouse codes. Geographic inventory distribution.

**DType:** Delivery type classification. Shipping method indicator.

**Dist:** Distance/distribution data. Logistics information.

**Logs:** Activity logs and changes. Historical tracking data.

**Meta:** Additional metadata fields. Supplementary product information.

### Step-by-Step Usage

**1. Identify Categories:** Determine which Wildberries categories or search results to scrape. Browse the site to find relevant URLs.

**2. Configure Input:** Add URLs to configuration. Set `max_items_per_url` based on needs (20-100). Enable `ignore_url_failures` for robustness.

**3. Run Scraper:** Launch via Apify. Monitor progress. Typical 5-URL run with 50 items each completes in 2-4 minutes.

**4. Export Data:** Download as JSON, CSV, or Excel. Verify data quality before analysis.

**5. Handle Errors:** Check activity logs for failed URLs. Validate URLs are category/search pages, not product details.

### Strategic Applications

**Price Monitoring:** Track competitor pricing across products and categories. Identify pricing trends and seasonal changes.

**Supplier Intelligence:** Analyze supplier portfolios, ratings, and geographic coverage. Identify reliable partners or competitive threats.

**Inventory Analysis:** Monitor stock levels and warehouse distribution. Forecast demand patterns and supply chain dynamics.

**Market Entry Research:** Understand category competition, pricing ranges, and supplier landscape before entering Russian market.

**Brand Performance:** Track your brand's or competitors' product ratings, review counts, and market positioning.

**Trend Analysis:** Identify popular products through high ratings and feedback counts. Discover emerging categories and consumer preferences.

### Best Practices

**Regular Scraping:** Russian market dynamics change rapidly. Schedule weekly scraping for pricing data, monthly for broader market analysis.

**Category Segmentation:** Scrape specific categories separately for cleaner datasets and targeted analysis.

**Data Enrichment:** Combine with currency conversion for international comparison. Cross-reference with reviews scraper for sentiment analysis.

**Quality Checks:** Validate critical fields (ID, name, price). Flag anomalies like zero stock with high ratings.

**Respect Limits:** Space out large scraping runs. Sustainable practices ensure continued access.

### Conclusion

The Wildberries Product Search Scraper delivers essential Russian e-commerce intelligence. From pricing and inventory to supplier metrics and customer feedback, this tool provides the data foundation for competing in Russia's largest online marketplace. Start extracting Wildberries insights today.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the product list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.wildberries.ru/catalog/elektronika/smartfony-i-telefony/vse-smartfony"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.wildberries.ru/catalog/elektronika/smartfony-i-telefony/vse-smartfony"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/wildberries-product-search-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 = {
    "urls": ["https://www.wildberries.ru/catalog/elektronika/smartfony-i-telefony/vse-smartfony"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/wildberries-product-search-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 '{
  "urls": [
    "https://www.wildberries.ru/catalog/elektronika/smartfony-i-telefony/vse-smartfony"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/wildberries-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wildberries Product Search Scraper",
        "description": "Scrape product listings from Wildberries.ru, Russia's largest online marketplace. Extract prices, ratings, supplier info, stock levels, and product specifications from search and category pages. Ideal for market research, price monitoring, and competitive analysis in the Russian e-commerce market.",
        "version": "0.0",
        "x-build-id": "qtBXTblurGOZMJEQE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~wildberries-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-wildberries-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~wildberries-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-wildberries-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~wildberries-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-wildberries-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the product list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the product list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
