Wildberries APIwildberries.ru ↗
Access Wildberries product data via API: search listings, get specifications, fetch customer reviews, and retrieve autocomplete suggestions. 5 endpoints.
What is the Wildberries API?
The Wildberries API covers 5 endpoints for querying one of Russia's largest online marketplaces. Use search_products to retrieve paginated results with pricing and ratings across any keyword, or call get_product_details for structured specifications, brand, category, and description for a specific article number. Review data and autocomplete suggestions are also available through dedicated endpoints.
curl -X GET 'https://api.parse.bot/scraper/d8958dae-43df-4c7c-91a5-a228966c5315/search_products?page=1&query=samsung' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace wildberries-ru-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Wildberries SDK — product details, specs, reviews, suggestions."""
from parse_apis.wildberries_api import Wildberries, ProductNotFound
wb = Wildberries()
# Discover search suggestions for a keyword
for suggestion in wb.suggestions.search(query="телефон", limit=5):
print(suggestion.name, suggestion.type)
# Fetch a product by its article number
product = wb.products.get(product_id="523379303")
print(product.name, product.brand, product.imt_id)
# Get detailed specifications for the product
for spec_group in product.specs(limit=3):
print(spec_group.group_name)
for option in spec_group.options:
print(option.name, option.value)
# Browse customer reviews via sub-resource
for review in product.reviews.list(limit=3):
print(review.date, review.rating, review.comment)
# Typed error handling for a non-existent product
try:
wb.products.get(product_id="9999999999")
except ProductNotFound as exc:
print(f"Product not found: {exc.product_id}")
print("exercised: suggestions.search / products.get / product.specs / product.reviews.list")
Search for products on Wildberries by keyword. Returns a paginated list of products with basic metadata and pricing. Results are returned 100 per page.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| sort | string | Sort order: popular, priceup, pricedown, rate, newly |
| queryrequired | string | Search keyword (e.g. 'iphone', 'samsung', 'платье') |
{
"type": "object",
"fields": {
"page": "integer current page number",
"total": "integer total number of matching products",
"products": "array of product objects with product_id, imt_id, name, brand, brand_id, rating, review_count, current_price, original_price, discount_percent, supplier, supplier_id"
},
"sample": {
"data": {
"page": 1,
"total": 30642,
"products": [
{
"name": "iPhone 16 128GB",
"brand": "Apple",
"imt_id": 485487229,
"rating": 5,
"brand_id": 6049,
"supplier": "Wildberries",
"product_id": 482257005,
"supplier_id": 4600133,
"review_count": 246,
"current_price": 54595,
"original_price": 129990,
"discount_percent": 58
}
]
},
"status": "success"
}
}About the Wildberries API
Search and Product Data
search_products accepts a required query string plus optional page and sort parameters (popular, priceup, pricedown, rate, newly). Each result page returns up to 100 products, with each object carrying product_id, imt_id, name, brand, brand_id, rating, review_count, current_price, original_price, and disc (discount). The total field tells you the full match count across all pages.
Product Details and Specifications
get_product_details takes a product_id (the article number) and returns name, brand, description, subj_name (category), and a specifications array grouped by group_name, each group containing options with name and value pairs. Note that rating and review_count are null from this endpoint — use get_product_specifications if you only need specs, or pass the returned imt_id to get_product_reviews for ratings and review text.
Reviews and Suggestions
get_product_reviews requires the imt_id (root product ID from get_product_details), and returns an array of review objects — each with user_name, date, rating, comment, and photos_count — plus a total_count integer. get_search_suggestions takes any partial or complete keyword and returns a suggests array where each item has a type (direct suggestion, brand match, or tag) and name, making it suitable for search discovery or building autocomplete interfaces.
The Wildberries API is a managed, monitored endpoint for wildberries.ru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when wildberries.ru changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official wildberries.ru API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate Wildberries price data across pages using
search_productswithsort=priceuporsort=pricedown - Build a product comparison tool using
specificationsarrays fromget_product_details - Monitor customer sentiment by collecting
ratingandcommentfields fromget_product_reviews - Populate autocomplete UI components using typed suggestions from
get_search_suggestions - Track discount depth by comparing
current_priceandoriginal_pricefrom search results - Categorize inventory by
subj_namereturned inget_product_details - Identify top-reviewed products in a category by sorting on
review_countfromsearch_products
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Wildberries have an official public developer API?+
Why is `rating` null in `get_product_details`, and how do I get review data?+
get_product_details to retrieve the imt_id, then pass that value to get_product_reviews, which returns the full review list including per-review rating, comment, date, and a total_count.How do I paginate through all search results for a keyword?+
search_products returns up to 100 products per page. The response includes a total integer and a page integer. Increment the page parameter and repeat calls until you have retrieved total results. Some high-volume queries may return very large total values, so budget your calls accordingly.Does the API return seller or merchant information for each listing?+
brand and brand_id from search results, plus brand and product category from get_product_details, but individual seller names, seller ratings, or fulfillment details are not included. You can fork this API on Parse and revise it to add a seller-detail endpoint if that data is available from Wildberries.