Wildberries API & Scraper
The Wildberries API turns wildberries.ru, Russia's largest marketplace, into clean JSON in eight actions: search, category/products, categories, product/detail, product/reviews, seller/detail, seller/products and suggest.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
One country parameter switches between Russia, Kazakhstan, Belarus, Armenia, Kyrgyzstan, Uzbekistan, Tajikistan and Georgia; offers, stock and prices are those for delivery to the capital, in that country's currency. Search and category rows carry the article number, title, brand, seller with rating, image, the price you pay, the struck price and discount, stock, size count, rating, review count and delivery time. product/detail adds every size with its own price and stock, the colour variants with their prices, specifications, description, all images and the weekly price history. product/reviews returns the full star breakdown and the latest reviews Wildberries publishes, about 1,000 per product, with stars, text, pros and cons, size fit and the seller's answer. In a live check on 2026-09-16, 30 of 30 product lookups in 8 countries succeeded (title, sizes, specifications and description on 20 of 20 sampled Russian products), and on 7 products compared against Wildberries' own product data the title, price, stock, rating and review count matched on 7 of 7. No Wildberries account, no browser, one ReefAPI key and the standard { ok, data, meta, error } envelope.
Which Wildberries price is the one you pay
A Wildberries offer has a struck price, a sale price and, outside Russia on most offers, a delivery surcharge that is part of the price. price is the total you pay; price_before_logistics and logistics_fee show the split; was_price and discount_percent are the struck price as the seller shows it.
| Product | Country | price | struck / split |
|---|---|---|---|
| Glass electric kettle 1.8 l (159500775) | Russia | 916 RUB | was 2,770 · −67% |
| Evening dress (1332433075) | Belarus | 238.59 BYN | includes 22.87 BYN logistics |
| Evening dress (1332433075) | Georgia | 187.78 GEL | includes 1.94 GEL logistics |
| Initiator sneakers (1345767714) | Kazakhstan | 20,500 KZT | was 68,780 · includes 730 KZT logistics |
| Kettle with whistle (419643767) | Armenia | 9,590 AMD | was 24,180 · includes 1,270 AMD logistics |
Wildberries' own price sorting follows the total including logistics in every country checked, so that is what price means here. A price that a signed-in buyer sees after a WB Wallet discount is not published to anonymous visitors and has no field.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/wildberries/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "кроссовки"
}
}{
"ok": true,
"meta": {
"api": "wildberries",
"endpoint": "search",
"mode": "live",
"latency_ms": 2321.5,
"record_count": 100,
"bytes": 740967,
"cache_hit": false,
"country": "ru",
"ranking": "site",
"pagination": {
"page": 1,
"page_size": 100,
"total": 290161,
"has_more": true
}
},
"data": {
"results": [
{
"position": 1,
"product_id": 1284404426,
"root_id": 299389022,
"title": "Кроссовки SPEEDCROSS 3 походные и трейловый бег",
"brand": "SALOMON",
"brand_id": 1707,
"seller": {
"id": 1199062,
"name": "[redacted-name]",
"rating": 4.6
},
"url": "https://www.wildberries.ru/catalog/1284404426/detail.aspx",
"image": "https://basket-45.wbbasket.ru/vol12844/part1284404/1284404426/images/big/1.webp",
"image_count": 5,
"price": 5690,
"was_price": 9499,
"discount_percent": 40,
"price_max": null,
"currency": "RUB",
"price_before_logistics": 5690,
"logistics_fee": null,
"available": true,
"stock_quantity": 2,
"size_count": 2,
"colours": [
"черный"
],
"rating": 5,
"rating_scale": 5,
"review_count": 1,
"category_id": 105,
"parent_category_id": 2,
"delivery_hours": 29,
"is_new": false,
"review_reward_points": null,
"price_source": "live"
},
{
"position": 2,
"product_id": 1007158002,
"root_id": 1877095409,
"title": "Кроссовки Найк SB Dunk Low 46-49 универсал",
"brand": "Nike",
"brand_id": 671,
"seller": {
"id": 250127326,
"name": "CCDFE.LKOP",
"rating": 4.7
},
"url": "https://www.wildberries.ru/catalog/1007158002/detail.aspx",
"image": "https://basket-41.wbbasket.ru/vol10071/part1007158/1007158002/images/big/1.webp",
"image_count": 11,
"price": 4049,
"was_price": 35000,
"discount_percent": 88,
"price_max": null,
"currency": "RUB",
"price_before_logistics": 4049,
"logistics_fee": null,
"available": true,
"stock_quantity": 38,
"size_count": 4,
"colours": [
"коричневый"
],
"rating": 5,
"rating_scale": 5,
"review_count": 1,
"category_id": 105,
"parent_category_id": 2,
"delivery_hours": 29,
"is_new": false,
"review_reward_points": null,
"price_source": "live"
},
{
"position": 3,
"product_id": 1118246963,
"root_id": 2326319996,
"title": "Модные кроссовки на толстой подошве, новые летние дышащие ун",
"brand": "YBQJOO",
"brand_id": 310417183,
"seller": {
"id": 250132124,
"name": "Находки из Китая",
"rating": 5
},
"url": "https://www.wildberries.ru/catalog/1118246963/detail.aspx",
"image": "https://basket-43.wbbasket.ru/vol11182/part1118246/1118246963/images/big/1.webp",
"image_count": 7,
"price": 1747,
"was_price": 1783,
"discount_percent": 2,
"price_max": null,
"currency": "RUB",
"price_before_logistics": 1747,
"logistics_fee": null,
"available": true,
"stock_quantity": 49,
"size_count": 4,
"colours": [
"розовый"
],
"rating": null,
"rating_scale": null,
"review_count": 0,
"category_id": 105,
"parent_category_id": 2,
"delivery_hours": 267,
"is_new": false,
"review_reward_points": null,
"price_source": "live"
}
],
"count": 100,
"page": 1,
"page_size": 100,
"total_results": 290161,
"total_pages": 3,
"has_more": true,
"query": "кроссовки",
"query_corrected_to": null,
"ranking_source": "site",
"unavailable_in_country_dropped": 0,
"index_only_rows": 0,
"sort_applied": "popular",
"ignored_params": [],
"applied_filters": {
"price_min": null,
"price_max": null,
"brand_ids": [],
"seller_ids": []
},
"available_filters": null,
"fallback_results_dropped": 0,
"fallback_results": [],
"sponsored_dropped": 0,
"duplicate_rows_dropped": 0,
"page_notice": null,
"country": {
"code": "ru",
"name": "Russia",
"currency": "RUB",
"delivery_city": "Moscow",
"delivery_zone": -1257786
}
}
}What the Wildberries API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Wildberries by keyword in one country: 100 products a page with price and struck price, stock, rating and review count, brand, seller and delivery time, priced for that country. Filter by brand, seller and price; page 1 can also return the site's filter list. | Pricing teams call search to search Wildberries by keyword in one country. | query, country, page, sort, price_min, ... |
| category/products | List one Wildberries category in one country with the site's six sort orders and its price and brand filters: 100 products a page with the same fields as search. | Marketplace operators call category/products to list one Wildberries category in one country with the site's six sort orders and its price an…. | category, country, page, sort, price_min, ... |
| categories | The Wildberries catalogue tree: every category with its id, name, path, parent and whether it can be listed with category/products. | Catalog enrichment teams call categories to get the Wildberries catalogue tree. | parent_id, search, max_rotations |
| product/detail | One Wildberries product by article number or URL, for one country: title, brand, seller, every size with its own price, struck price and stock, colour variants with their prices, specifications, description, images, rating and review count, delivery time and the weekly price history. | Retail analysts call product/detail to get one Wildberries product by article number or URL, for one country. | product_id, url, country, max_rotations |
| product/reviews | Reviews of one Wildberries product: the full star breakdown and counts, plus the most recent reviews (about 1 000, which is what Wildberries publishes) with stars, date, text, pros and cons, size fit, helpful votes, photos and the seller's answer. Reviewer names are never returned. | Pricing teams call product/reviews to get reviews of one Wildberries product. | product_id, url, page, limit, rating, ... |
| seller/detail | A Wildberries seller's public record: shop name, legal name, trademark, tax id and registration number, and the registered address of companies. | Marketplace operators call seller/detail to get a Wildberries seller's public record. | seller_id, max_rotations |
| seller/products | One seller's products in one country with the site's sort orders and price and brand filters, 100 a page. | Catalog enrichment teams call seller/products to get one seller's products in one country with the site's sort orders and price and brand filters,…. | seller_id, country, page, sort, price_min, ... |
| suggest | Wildberries search suggestions for the beginning of a query. | Retail analysts call suggest to get wildberries search suggestions for the beginning of a query.. | query, max_rotations |
Call search from your stack
curl -X POST https://api.reefapi.com/wildberries/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"кроссовки"}'import requests
r = requests.post(
"https://api.reefapi.com/wildberries/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "кроссовки"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/wildberries/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "кроссовки"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.wildberries.search with {"query":"кроссовки"}.Who uses this API and why
- Brands and distributors track their products' price, discount and stock on Wildberries in Russia and the neighbouring markets.
- Sellers watch competing listings, their size-by-size stock and their review scores.
- Market researchers pull category listings with Wildberries' sorts and price filters in eight currencies.
- Pricing teams read the weekly price history and the struck-price discounts sellers publish.
Questions developers ask before integrating
Which countries are covered, and does the country change more than the currency?
Russia, Kazakhstan, Belarus, Armenia, Kyrgyzstan, Uzbekistan, Tajikistan and Georgia. The country changes what is on sale, not only the currency: the same iPhone listed in Russia was not sold to Kazakhstan, and in a sneaker search 19 of the 100 Russian results were not offered in Kazakhstan. Prices come back in KZT, BYN, AMD, KGS, UZS, TJS or GEL, and sellers can price a country differently. Azerbaijan is not available.
Is the order of search results the same in every country?
In Russia, Kyrgyzstan, Uzbekistan and Tajikistan you get Wildberries' own result order for that country. For broad keywords in Kazakhstan, Belarus, Armenia and Georgia the answer is ranked from Wildberries' Russian results and priced for your country, with the products not sold there left out; ranking_source says which one you got. Brand- or seller-filtered searches and specific keywords return the country's own order everywhere.
Why can't I sort a keyword search by price?
Wildberries itself applies a sort to broad keywords only when a brand or seller filter is set. Without one the API tells you in ignored_params instead of re-sorting a page. With brand_ids set, price_asc came back with 0 order errors; category/products and seller/products apply all six sorts and the price filter directly.
How many results can I page through?
A keyword search gives 3 pages of 100 products, which is what Wildberries serves; later pages repeat the first one, so page is limited to 3. Category and seller listings go to page 50. On 2026-09-16 the three pages of a dress search had no product in common.
Are stock numbers exact?
They are what Wildberries publishes, and Wildberries caps them: large stocks come back as a ceiling such as 43, so treat a high number as plenty rather than a count. Each size has its own stock figure next to its own price.
How many reviews do I get?
The full star breakdown and counts for every product, and the latest reviews Wildberries publishes, about 1,000 per product: 1,045 of 51,166 for a popular kettle. Reviews are shared across a product's colour variants; each carries its product_id and this_variant_only keeps one. Reviewer names are never returned.
What does Wildberries not publish?
No barcodes, no exact stock, no WB Wallet price, no order counts and no sponsored-placement flag on the data it serves to anonymous visitors, so there are no such fields. Price history is weekly and in roubles only. Individual entrepreneurs' registered addresses are left out.
What is the Wildberries API?
Wildberries API is a ReefAPI endpoint group for russia's largest marketplace plus 7 neighbouring markets: products, every size's price and stock, reviews. It returns live JSON through POST requests under /wildberries/v1.
Is the Wildberries API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Wildberries calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Wildberries login or account?
No login to Wildberries is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Wildberries data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Wildberries API use?
Wildberries actions currently cost 1 credit per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Wildberries from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call wildberries actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Wildberries API a Wildberries scraper?
It is the managed alternative to a DIY Wildberries scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same russia's largest marketplace plus 7 neighbouring markets: products, every size's price and stock, reviews back as clean JSON.