# Wildberries Reviews Scraper (`ecomconnector/wb-reviews-scraper`) Actor

Extract all Wildberries reviews (feedbacks) by product URL, nmId or imtId — ratings, review text, pros and cons, photos and seller answers as a clean dataset. / Выгрузка всех отзывов Wildberries по ссылке, артикулу (nmId) или imtId: оценки, тексты, плюсы и минусы, фото и ответы продавца.

- **URL**: https://apify.com/ecomconnector/wb-reviews-scraper.md
- **Developed by:** [Ecom Connector](https://apify.com/ecomconnector) (community)
- **Categories:** E-commerce
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 Reviews Scraper

**Wildberries Reviews Scraper** extracts every product review (feedback) from **wildberries.ru** — ratings, review text, pros and cons, author, photos, videos and the seller's answers — and returns them as a clean, structured dataset. It also pulls the **product card** (name, brand, description, photos, video) and the **seller's legal data**.

Give it a product URL, an `nmId`, an `imtId` or a seller ID and get everything in one run. No login, no browser and **no proxy required**.

**🌍 Language / Язык: [English](#english) · [Русский](#ru)**

<a id="english"></a>

### What is the Wildberries Reviews Scraper?

This **Wildberries reviews scraper** turns any Wildberries product page into a ready-to-use review dataset. It is built for sellers, brand managers and data teams who need to **export Wildberries reviews**, track customer sentiment or feed review data into their own analytics, CRM or BI tools.

You can find the review count, average rating, individual star ratings, full review text, customer photos, customer videos and official seller replies — everything Wildberries shows on a product's feedback page.

Because it runs on the [Apify platform](https://apify.com), you also get scheduling, monitoring, API access, integrations (Google Sheets, Slack, webhooks) and proxy rotation out of the box.

### What data can you extract from Wildberries?

For every review:

- ⭐ **Rating** (1–5 stars)
- 📝 **Review text**, plus **pros** and **cons**
- 👤 **Author name** and country
- 🏷️ **Product** info: `nmId`, `imtId`, name, brand, seller ID and product URL
- 📷 **Customer photos** and 🎥 **videos** attached to the review
- 💬 **Seller answers** and their dates
- 👍 **Helpfulness votes** (pluses / minuses)
- 🚫 Whether the review was **excluded from the product rating**
- 📅 **Created and updated** timestamps
- 🎨 Variant details such as size and colour

Plus, for each product, in the run's **key-value store** under the `OUTPUT` key:

- 🧾 Full **product card**: description, subject, vendor code, all colour variants
- 🖼️ **Direct photo URLs** (full size, card and thumbnail) and a video flag
- 🏭 **Seller legal data**: company name, INN, OGRN, KPP, legal address, trademark
- 📊 **Aggregates**: rating distribution, share of reviews with photo/video/text, monthly timeline

### How to scrape Wildberries reviews (step by step)

1. Open the Actor's input form.
2. Paste one or more **product URLs** into *Product or review URLs* — for example `https://www.wildberries.ru/catalog/27530247/detail.aspx`. Review-page URLs, product IDs (`nmId`) and feedback IDs (`imtId`) also work — the type is detected automatically.
3. Optionally set filters: **Max reviews per product**, **rating range**, **only reviews with photos/video**, or **only reviews newer than** a date.
4. Click **Start** and wait for the run to finish.
5. Open the **Output** tab to preview the reviews, or download them as **JSON, CSV or Excel**, or pull them through the [Apify API](https://docs.apify.com/api/v2).

You can also run the Actor programmatically:

```bash
curl -X POST "https://api.apify.com/v2/actors/ecomconnector~wb-reviews-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":[{"url":"https://www.wildberries.ru/catalog/27530247/detail.aspx"}],"maxReviews":500}'
```

#### How does the Actor find reviews?

Wildberries identifies a product's reviews by an internal `imtId`. If you pass a review-page URL containing `imtId=…`, the Actor uses it directly (fastest). If you pass only a product URL or `nmId`, the Actor resolves the `imtId` automatically before fetching reviews.

### Input example

```json
{
    "startUrls": [
        { "url": "https://www.wildberries.ru/catalog/27530247/detail.aspx" }
    ],
    "maxReviews": 500,
    "minRating": 1,
    "maxRating": 3,
    "onlyWithMedia": false,
    "parseCard": true,
    "parseSeller": true,
    "sortBy": "newest"
}
```

### Output example

```json
{
    "reviewId": "pGvuEHYC3VLXq6RpWOEB",
    "product": {
        "nmId": 27530247,
        "imtId": 4208686397,
        "name": "Гель для стирки 2в1 c пятновыводителем, 5 л",
        "brand": "SYNERGETIC",
        "sellerId": 47912,
        "url": "https://www.wildberries.ru/catalog/27530247/detail.aspx"
    },
    "rating": 3,
    "text": "Пришёл гель, вообще никак не упакован, протекает, выкупать не стала.",
    "pros": "",
    "cons": "",
    "author": "Светлана",
    "authorCountry": "ru",
    "hasPhoto": false,
    "hasVideo": false,
    "storeAnswer": null,
    "createdAt": "2026-10-11T19:11:19.581Z"
}
```

### How to monitor new Wildberries reviews

Use the **Only reviews newer than** field in *incremental mode*. It accepts an ISO date (`2026-10-01`) or a relative value (`7d`, `24h`, `2w`), so a scheduled run returns only fresh reviews:

```json
{
    "productIds": ["27530247"],
    "onlyNewSince": "1d"
}
```

Combine it with Apify [schedules](https://docs.apify.com/platform/schedules) to get a daily digest of new feedback and negative reviews.

### How much does it cost to scrape Wildberries reviews?

Pricing is **pay-per-result**: you pay only for the reviews that land in your dataset. There is no monthly fee and no charge for empty runs.

- Roughly **$0.15 per 100 reviews** and **~$1.5 per 1,000 reviews** on the free tier price.
- Discounts apply automatically on higher Apify plans (Bronze, Silver, Gold and above).
- The **Actor start** is covered by Apify for the first 5 seconds of every run.

That makes this one of the cheapest ways to **export Wildberries product reviews** at scale. See the **Pricing** tab for the exact current rates, or set a maximum spend per run to stay in full control of costs.

### Is scraping Wildberries legal?

This Actor only collects publicly available product data and reviews that Wildberries shows to any visitor, in the same way a browser does. Use the data responsibly and in line with Wildberries' terms and applicable law.

### Related Actors

- [Ozon Reviews Scraper](https://apify.com/store) — the same clean review schema for Ozon
- [Yandex Market Reviews Scraper](https://apify.com/store) — for Yandex Market
- [RU Marketplaces Scraper](https://apify.com/store) — Wildberries + Ozon + Yandex Market in one dataset

### FAQ

**Does it need a proxy?**
No. Wildberries reviews and product cards are publicly accessible, so the Actor runs without a proxy by default. If you ever see `403`/`498` errors, enable Apify Proxy.

**How many reviews can I get per product?**
All reviews that Wildberries exposes for that product — often hundreds or thousands. Use *Max reviews per product* to limit the output.

**Can I get only negative reviews?**
Yes. Set **Min rating** to `1` and **Max rating** to `1` or `2` to collect only negative feedback.

**Can I get only reviews with photos or videos?**
Yes. Enable **Only reviews with photos or video**, or filter by the `hasPhoto` / `hasVideo` fields in the dataset.

**Can I get product photos and the seller's details?**
Yes. Keep *Extract product card* and *Extract seller info* enabled. Photo URLs and the seller's legal data are written to the run's key-value store under the `OUTPUT` key.

**Can I schedule it?**
Yes, use Apify [schedules](https://docs.apify.com/platform/schedules) to run the Actor daily or hourly and pick up new reviews automatically.

**Can I export reviews to CSV or Excel?**
Yes, every dataset can be downloaded as JSON, CSV, Excel or accessed via the API.

***

<a id="ru"></a>

**🌍 Language / Язык: [English](#english) · [Русский](#ru)**

### Парсер отзывов Wildberries

**Парсер отзывов Wildberries** выгружает все отзывы с карточки товара: оценку, текст отзыва, плюсы и минусы, имя автора, фото, видео и ответы продавца. Дополнительно собирает **карточку товара** (название, бренд, описание, фото, видео) и **юридические данные продавца** (ИНН, ОГРН, адрес, товарный знак).

На вход принимает **ссылку на товар**, **ссылку на отзывы**, **артикул (nmId)**, **imtId** или **ID продавца** — тип определяется автоматически.

Подходит для селлеров и брендов, которым нужно **выгрузить отзывы Wildberries**, следить за обратной связью, считать тональность и собирать аналитику по товарам конкурентов.

#### Что собирает

- ⭐ Оценки (1–5) и распределение оценок
- 📝 Текст отзыва, плюсы и минусы
- 👤 Имя и страна автора
- 🏷️ Товар: `nmId` (артикул), `imtId`, название, бренд, ID продавца
- 📷 Фото и 🎥 видео покупателей
- 💬 Ответы продавца и их даты
- 👍 Полезность отзыва (голоса)
- 🧾 **Карточка товара**: описание, предмет, артикул продавца, все цвета
- 🖼️ **Прямые ссылки на фото товара** (full, card, thumb)
- 🏭 **Данные продавца**: название, ИНН, ОГРН, КПП, юр. адрес, товарный знак
- 📊 **Агрегаты**: распределение оценок, доля с фото/видео/текстом, динамика по месяцам

#### Как выгрузить отзывы WB: пошагово

1. Вставьте ссылку на товар вида `https://www.wildberries.ru/catalog/27530247/detail.aspx` (можно ссылку на отзывы или просто артикул).
2. При необходимости задайте лимит, диапазон оценок и флаги (карточка, продавец, фото).
3. Нажмите **Start** и скачайте результат во вкладке **Output** (JSON, CSV, Excel или через API).

#### Мониторинг новых отзывов

Поле **«Только новые с даты»** принимает ISO-дату (`2026-10-01`) или относительное значение (`7d`, `24h`, `2w`). Запускайте по расписанию — и получайте только свежие отзывы, например только негатив за сутки.

#### Сколько стоит

Оплата **за результат**: ~$0.15 за 100 отзывов, без абонентской платы. Есть скидки на старших тарифах Apify.

#### Частые вопросы

**Нужен ли прокси?** Нет. Отзывы и карточки доступны без прокси.

**Можно только негатив?** Да — поставьте «Минимальная оценка» = 1 и «Максимальная оценка» = 1–2.

**Можно только отзывы с фото?** Да — включите «Только отзывы с фото или видео».

**Где фото товара и данные продавца?** В `OUTPUT` (key-value store запуска).

# Actor input Schema

## `startUrls` (type: `array`):

Any Wildberries product or review page. The type is detected automatically. / Любые страницы товара или отзывов Wildberries — тип определяется автоматически.

## `productIds` (type: `array`):

Numeric product IDs, e.g. 27530247 (the number in /catalog/27530247/detail.aspx). The Actor resolves imtId and the card automatically. / Артикулы — числовые ID товара, например 27530247. imtId и карточка определяются автоматически.

## `feedbackIds` (type: `array`):

Numeric feedback IDs, e.g. 4208686397 (the imtId=… value in a review URL). Fastest option. / Числовые ID отзывов, например 4208686397. Самый быстрый вариант.

## `sellerIds` (type: `array`):

Wildberries supplier IDs, e.g. 47912. Returns legal seller info (INN, OGRN, address, trademark). / ID продавцов Wildberries, например 47912. Возвращает юридические данные: ИНН, ОГРН, адрес, товарный знак.

## `parseCard` (type: `boolean`):

Extract the full product card: name, brand, description, subject, vendor code, colours, photos and video. Saved to the run's key-value store under the OUTPUT key, and name/brand/seller are added to every review. / Собирать полную карточку: название, бренд, описание, предмет, артикул продавца, цвета, фото и видео. Сохраняется в OUTPUT; название, бренд и продавец добавляются в каждый отзыв.

## `parseSeller` (type: `boolean`):

Fetch legal seller details (INN, OGRN, KPP, legal address, trademark) for each product. / Получать юридические данные продавца по каждому товару.

## `includePhotos` (type: `boolean`):

Build direct image URLs (full size, card and thumbnail) from the product card. / Формировать прямые ссылки на фото товара (full, card, thumb).

## `maxReviews` (type: `integer`):

How many reviews to save per product. Use 0 to save everything. / Сколько отзывов сохранять на товар. 0 — сохранять все.

## `minRating` (type: `integer`):

Only keep reviews with this rating or higher (1–5). / Оставлять отзывы с оценкой не ниже указанной.

## `maxRating` (type: `integer`):

Only keep reviews with this rating or lower (1–5). Use 1–2 to collect negative feedback. / Оставлять отзывы с оценкой не выше указанной. 1–2 — только негатив.

## `onlyWithMedia` (type: `boolean`):

Keep only reviews that include customer photos or video. / Оставить только отзывы с фото или видео покупателя.

## `onlyNewSince` (type: `string`):

Incremental mode. Keep only reviews published after this moment. Accepts an ISO date (2026-10-01) or a relative value (7d, 24h, 2w). / Инкрементальный режим. Оставить только отзывы, опубликованные после этой даты. Принимает ISO-дату или относительное значение (7d, 24h, 2w).

## `sortBy` (type: `string`):

Order in which reviews are stored in the dataset. / Порядок отзывов в датасете.

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

Optional. Reviews and card data are accessible without a proxy. Leave disabled unless you see 403/498 errors. / Необязательно. Отзывы и карточка доступны без прокси. Включайте только при ошибках 403/498.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.wildberries.ru/catalog/27530247/detail.aspx"
    }
  ],
  "parseCard": true,
  "parseSeller": false,
  "includePhotos": true,
  "maxReviews": 0,
  "minRating": 1,
  "maxRating": 5,
  "onlyWithMedia": false,
  "sortBy": "newest",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `reviews` (type: `string`):

All scraped Wildberries reviews in the default dataset (one row per review).

## `productsAndSellers` (type: `string`):

Per product: full card (description, vendor code, colours, video), direct photo URLs, seller legal data (INN, OGRN, address, trademark) and aggregates (rating distribution, media share, monthly timeline).

# 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 = {
    "startUrls": [
        {
            "url": "https://www.wildberries.ru/catalog/27530247/detail.aspx"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomconnector/wb-reviews-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 = { "startUrls": [{ "url": "https://www.wildberries.ru/catalog/27530247/detail.aspx" }] }

# Run the Actor and wait for it to finish
run = client.actor("ecomconnector/wb-reviews-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 '{
  "startUrls": [
    {
      "url": "https://www.wildberries.ru/catalog/27530247/detail.aspx"
    }
  ]
}' |
apify call ecomconnector/wb-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomconnector/wb-reviews-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/sbCPN1PyeQ64hgUWP/builds/0TB6u2g5ihrau6Zsi/openapi.json
