VkusVill APIvkusvill.ru ↗
Access VkusVill grocery data via API: product catalog, search, offers, reviews, and full nutritional details across all store categories.
What is the VkusVill API?
The VkusVill API covers 6 endpoints for accessing product catalog data from VkusVill, a Russian grocery retailer. Use search_products to query items by name and receive fields like price, weight, rating, and labels, or call get_product_detail to retrieve full ingredient lists, nutritional information (белки, жиры, углеводы, ккал), and review counts for any individual product.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/b9ba7d60-a502-4207-a42e-b468f034570f/get_catalog_categories' \ -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 vkusvill-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: VkusVill SDK — browse categories, search products, read reviews, check offers."""
from parse_apis.vkusvill_api import VkusVill, ProductNotFound
client = VkusVill()
# List all catalog categories (single page, cap to 10 for display)
for category in client.categories.list(limit=10):
print(category.name, category.slug)
# Search for dairy products by query
product = client.products.search(query="молоко", limit=1).first()
if product:
print(product.name, product.price, product.rating)
# Drill into reviews for this product
for review in product.reviews.list(limit=3):
print(review.author, review.rating, review.text[:60])
# Get full product details via the productdetails collection
try:
detail = client.productdetails.get(product_slug="moloko-3-173")
print(detail.name, detail.price, detail.description[:80])
print(detail.nutritional_info)
except ProductNotFound as exc:
print(f"Product not found: {exc}")
# Browse offers in a specific category using constructible Category
ice_cream = client.category(slug="morozhenoe")
for offer in ice_cream.offers(limit=5):
print(offer.name, offer.price, offer.rating)
print("exercised: categories.list / products.search / reviews.list / productdetails.get / category.offers")
Retrieves all top-level product categories from the VkusVill catalog. Returns category names, slugs, and full URLs. Categories include both permanent departments (dairy, meat, beverages) and seasonal/curated sets. No pagination — all categories returned in a single response.
No input parameters required.
{
"type": "object",
"fields": {
"categories": "array of category objects with name, url, and slug"
},
"sample": {
"data": {
"categories": [
{
"url": "https://vkusvill.ru/goods/sladosti-i-deserty/",
"name": "Сладости, десерты",
"slug": "sladosti-i-deserty"
},
{
"url": "https://vkusvill.ru/goods/gotovaya-eda/",
"name": "Готовая еда",
"slug": "gotovaya-eda"
},
{
"url": "https://vkusvill.ru/goods/molochnye-produkty-yaytso/",
"name": "Молочные продукты, яйцо",
"slug": "molochnye-produkty-yaytso"
},
{
"url": "https://vkusvill.ru/goods/morozhenoe/",
"name": "Мороженое",
"slug": "morozhenoe"
}
]
},
"status": "success"
}
}About the VkusVill API
Product Search and Catalog
The search_products endpoint accepts a required query string in Russian (e.g. молоко) and an optional page integer for pagination. Each result includes the product's id, name, price, weight, rating, labels, and url. The get_catalog_categories endpoint returns all top-level store categories, each with a name, url, and slug — the slug feeds directly into other endpoints.
Offers and Discounts
get_all_offers returns the full set of currently active discounted products across every category, using the same product card shape as search results. If you want to narrow results, get_offers_by_category accepts a category_slug parameter (e.g. morozhenoe or molochnye-produkty-yaytso) sourced from get_catalog_categories. Both offer endpoints return id, name, price, weight, rating, labels, and url.
Product Detail and Reviews
get_product_detail takes a product_slug (e.g. moloko-3-2-1-l-173.html) and returns the full product record: name, price, weight, rating, description, ingredients, reviews_count, and a nutritional_info object with protein, fat, carbohydrate, and calorie values. get_product_reviews accepts a numeric product_id and optional page, returning up to 10 reviews per page with author, rating, date, and text fields.
The VkusVill API is a managed, monitored endpoint for vkusvill.ru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vkusvill.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 vkusvill.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?+
- Track price changes on specific VkusVill products by polling
search_productsorget_product_detailover time. - Build a discount alert tool using
get_all_offersto monitor active promotions across all categories. - Filter current offers by grocery category using
get_offers_by_categorywith slugs fromget_catalog_categories. - Aggregate nutritional data (calories, protein, fat, carbs) from
get_product_detailfor dietary analysis. - Analyze customer sentiment by collecting review text and ratings via
get_product_reviewsacross multiple product IDs. - Populate a product comparison tool with ingredient lists and nutritional info from
get_product_detail. - Index the full VkusVill category tree using
get_catalog_categoriesto build navigation or category-level reporting.
| 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 VkusVill have an official developer API?+
What does get_product_detail return beyond basic product info?+
get_product_detail returns the full product record including a description, an ingredients string, reviews_count, and a nutritional_info object containing белки (protein), жиры (fat), углеводы (carbohydrates), and ккал (calories). It requires a product_slug formatted like moloko-3-2-1-l-173.html, which you can obtain from search_products or offer listing results.How many reviews does get_product_reviews return per call?+
page parameter to paginate through additional reviews. The count field in the response reflects how many reviews were returned on that specific page, not the total review count for the product.Does the API support filtering products by category or price range?+
get_offers_by_category. General product search through search_products does not support category or price-range filters — it returns results matching the text query across all categories. You can fork this API on Parse and revise it to add a category-filtered product browsing endpoint.