Wildberries logo

Online shops · Coming soon

Wildberries Scraper: Products, Prices and Reviews

Search Wildberries by keyword, or paste article numbers. You get price, sale price, stock and seller for your delivery region. A third mode saves written reviews.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

rowTypeproduct
nmId839226871
imtId2362405143

How it will work: 3 steps

  1. Follow us on ApifyThe tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: наушники in Search queries. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Search Wildberries (wildberries.ru) by keyword, or paste article numbers or product links, and get products as one row each: name, brand, price, sale price, discount, rating, number of reviews, seller, stock, sizes, images and the product link. A third mode saves the written reviews of products. Prices and stock are for the delivery region you choose. No Wildberries login, no cookies, no API key.

  • Search — for each query, it reads the search results page by page, in Wildberries' order (or by price, rating, newest). One row per product: price and sale price in RUB, discount, rating, review count, brand, seller, stock, sizes, colours, images, category and the position in the results.
  • Products — for each article number (nmId) or product link, it reads the product card: the same fields plus stock per size. Products that do not exist are marked not_found and are free.
  • Reviews — for each article number, it saves the newest written reviews: stars, text, pros, cons, colour and size bought, tags, helpful votes, the seller's answer and the number of photos. Each review has the article number of the variant (colour or size) it was written for. Buyer names are not saved.

Good for

  • Price and discount research in a Wildberries category, by query and region (dest).
  • Tracking the same products over time: run on a schedule and compare salePrice and stocks by nmId.
  • Checking a list of article numbers: still on sale, current price, stock per size, seller.
  • Reading buyer reviews of your products or your competitors' products.

Not a good fit

  • Wildberries shows at most 60 pages (about 6,000 products) per search query. For more, split the query (наушники беспроводные, наушники игровые) or use other sort orders.
  • Large stocks are shown to visitors as a capped number (usually 37–54), not the warehouse total. Small stocks and 0 (sold out) are exact.
  • Reviews: Wildberries serves about the 1,000 newest written reviews per product. No buyer names, no review photos.
  • No seller legal details, no sales numbers, no price history, no login-only data (personal discounts, WB Club prices).

Who uses it

Wildberries sellers

Watch competitor prices, discounts and stock.

Category researchers

Study prices in a category by query and region.

Review analysts

Read buyer pros, cons and sizes for your products.

Price

Prices will be shown after release.

Questions

Do I need a Wildberries account?

No. No login, cookies or API key are needed.

Is the stock number exact?

Small stock and sold out are exact. Large stock is shown as a capped number.

Why does a review have another article number?

It was written for another colour or size of the same product.

Are buyer names saved?

No. Buyer names are not saved.

Do I need a Wildberries account, cookies or API key?

No. The Actor reads public Wildberries data without a login. It does not solve captchas or log in.

Why are prices different from what I see on the site?

Prices depend on the delivery region (dest) and on the account: WB Club and personal discounts are not included. The Actor sees the price for a visitor without an account in the chosen region.

Are the results complete and fresh?

The rows show what Wildberries shows at fetchedAt. Search order and prices change often. The Actor does not promise every product for a query.

Details

Step by step on Apify
  1. Open the Input tab.
  2. Keep What to scrape = Search by keyword and the prefilled query наушники, or type your own.
  3. Keep Max products per query = 10 (prefill) or raise it.
  4. Click Start.
  5. Open the Output tab, view Products, and check salePrice, rating, feedbacks and supplier.
Use cases
TaskInputYou getKey fieldsNext step
Category price researchqueries, sort, destproductprice, salePrice, discountPercent, positionGoogle Sheets, CSV
Competitor monitoringproductIds + scheduleproductsalePrice, stocks, sizes, fetchedAtDataset API, webhooks
Seller and brand researchqueriesproductsupplier, supplierId, brand, feedbacks, ratingspreadsheet, BI
Review analysisproductIds (mode reviews)reviewrating, text, pros, cons, size, createdDateLLM, sentiment tools
Tips for better results
  • Pick the delivery region first. Prices and stock change by region.
  • Split broad queries. Wildberries shows about 6,000 products per search.
  • Compare runs by article number to track price and stock.
Limits and good to know
  • product — each saved complete or partial product row
  • review — each saved review row
  • Up to 20 queries, up to 10,000 products per query (Wildberries gives at most about 6,000); up to 1,000 article numbers; up to 1,000 reviews per product
  • Measured in our tests: 5 queries × 1,000 → 5,000 products in 124 seconds (512 MB); 1 query × 6,000 → 5,984–5,987 products in 153–437 seconds (437 s at 512 MB when Wildberries was slow); 1,000 article numbers → 46 seconds (512 MB); 10 products × 1,000 reviews → 7,000 reviews in 66 seconds (512 MB)
  • The default run timeout is 600 seconds. When it is reached, the run ends normally with the rows saved so far (stopReason: TIMEOUT). Big searches can take longer when Wildberries is slow; raise the timeout for them

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "rowType": "product",
  "status": "complete",
  "nmId": 839226871,
  "imtId": 2362405143,
  "name": "Наушники беспроводные TWS Pro 2",
  "brand": "TehnoVolna",
  "brandId": 311123295,
  "price": 2525,
  "salePrice": 1617,
  "discountPercent": 36,
  "currency": "RUB",
  "rating": 5,
  "feedbacks": 133538,
  "supplier": "Me TradeMark",
  "supplierId": 1174666,
  "supplierRating": 5,
  "stocks": 54,
  "inStock": true,
  "sizes": [{ "name": null, "price": 2525, "salePrice": 1617, "stocks": null }],
  "colors": ["белый"],
  "subjectId": 593,
  "subjectParentId": 6258,
  "imageUrl": "https://basket-38.wbbasket.ru/vol8392/part839226/839226871/images/big/1.webp",
  "imageUrls": ["https://basket-38.wbbasket.ru/vol8392/part839226/839226871/images/big/1.webp"],
  "url": "https://www.wildberries.ru/catalog/839226871/detail.aspx",
  "query": "наушники",
  "page": 1,
  "position": 1,
  "input": null,
  "dest": -1257786,
  "source": "wb-search",
  "errorCode": null,
  "errorMessage": null,
  "fetchedAt": "2026-10-15T11:40:18.126Z"
}
Data fields (40)
FieldTypeMeaning
rowTypestringproduct: a product row (Search and Products). review: a review row (Reviews).
statusstringcomplete: all main fields read. partial: read, but Wildberries did not return some fields (for a product usually no price or stock in this region; see errorCode). not_found: no such product, no results for the query, or no written reviews. error: invalid input entry or a request that failed. Only complete and partial rows are charged.
nmIdintegerWildberries article number. For a review: the variant (colour/size) the review was written for.
imtIdintegerProduct group ID shared by all colour and size variants.
namestringProduct name.
brandstringBrand. null when Wildberries shows no brand (common for no-name goods).
brandIdintegerBrand ID.
pricenumberPrice before discount, RUB.
salePricenumberPrice the buyer pays now (lowest among sizes), RUB. null when the product is not on sale in the region.
discountPercentintegerDiscount from price to salePrice, %.
currencystringRUB.
ratingnumberAverage rating 1–5. null when the product has no ratings yet. For a review: the stars the buyer gave (1–5).
feedbacksintegerNumber of ratings and reviews.
supplierstringSeller name.
supplierIdintegerSeller ID.
supplierRatingnumberSeller rating.
stocksintegerUnits in stock for the region (all sizes), as Wildberries shows them to visitors: small stocks are exact, large ones are shown as a capped number (usually 37–54). 0 means sold out.
inStockbooleanstocks > 0.
sizesarraySizes with their price, sale price and stock (stock per size only in Products mode).
colorsarrayColour names.
subjectIdintegerWildberries category (subject) ID.
subjectParentIdintegerParent category ID.
imageUrlstringMain product image. null when the product has no images or the image link map could not be read (row is partial).
imageUrlsarrayAll product images (up to 30). Empty on a partial row with MISSING_FIELDS when the Wildberries image link map could not be read.
urlstringProduct page on wildberries.ru.
querystringSearch query the product was found by.
pageintegerSearch results page.
positionintegerPosition in the search results (1 = first).
destintegerDelivery region code the prices and stock are for.
sourcestringWildberries data the row was read from: search results, product card or review list.
reviewIdstringReview ID.
requestedNmIdintegerArticle number from your input.
isRequestedVariantbooleantrue when the review was written for the article number you entered, false for another colour or size of the same product.
productNamestringProduct name.
productUrlstringProduct page of the reviewed variant.
textstringReview text.
prosstringPros.
consstringCons.
colorstringColour bought.
sizestringSize bought.
Input settings (9)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
What to scrapemodestring"search"
Search queriesqueriesarray["наушники"]
Article numbers or product URLsproductIdsarray
Max products per querymaxItemsinteger10
Search ordersortstring"popular"
Delivery region (dest)destinteger-1257786
Max reviews per productmaxReviewsPerProductinteger100
Only reviews of this exact variantonlyRequestedVariantbooleanfalse
ProxyproxyConfigurationobject{"useApifyProxy": true}

Use cases with this tool

Each guide shows all the steps and the other tools.

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure