Metro Cc APIonline.metro-cc.ru ↗
Search products, browse categories, get product details, and list METRO stores across Russia with real-time prices and availability via 4 API endpoints.
What is the Metro Cc API?
The METRO Cash & Carry Russia API exposes 4 endpoints covering product search, category browsing, product detail lookup, and store discovery across roughly 90 physical trade centers in Russia. The search_products endpoint accepts a Russian-language keyword and returns product objects with SKU, brand, price in rubles, country of origin, and store-level availability. Store-specific pricing is controlled by passing a store_id obtained from list_stores.
curl -X GET 'https://api.parse.bot/scraper/ba9addab-532a-49fd-b208-eb610b8ff6c0/search_products?limit=10&query=%D0%BC%D0%BE%D0%BB%D0%BE%D0%BA%D0%BE&store_id=15' \ -H 'X-API-Key: $PARSE_API_KEY'
Full-text search over METRO Cash & Carry product catalog by keyword. Returns matching products with price, brand, country of origin, product type, and availability for one store. Paginates internally up to 5 pages to fill the requested limit. Only returns products whose names contain the query string. Prices, availability and the matched result set are store-specific: store_id selects the store (a store_id from list_stores); when omitted the Moscow Leningradskoe sh. store (store_id 10) is used and echoed in the response.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of products to return |
| queryrequired | string | Search keyword in Russian (e.g. 'молоко', 'кофе', 'сыр') |
| store_id | integer | store_id from list_stores.stores[*].store_id selecting the store whose prices and availability are returned. Omitted: store 10. Non-numeric values are rejected; an id the site does not know is passed through and echoed by the site. |
{
"type": "object",
"fields": {
"query": "string - the search query echoed back",
"products": "array of product objects with sku, name, brand, country, product_type, unit, price, availability, url",
"store_id": "integer - the store whose prices/availability are reported",
"total_found": "integer - total matching products on the site for that store"
},
"sample": {
"data": {
"query": "молоко",
"products": [
{
"sku": "99904",
"url": "https://online.metro-cc.ru/products/1l-moloko-upast-blakt-18-rioba-bzmzh",
"name": "RIOBA Молоко ультрапастеризованное безлактозное 1.8%, 1л",
"unit": "шт",
"brand": "RIOBA",
"price": 126,
"country": "Россия",
"availability": true,
"product_type": "Молоко"
}
],
"store_id": 15,
"total_found": 313
},
"status": "success"
}
}About the Metro Cc API
Product Search and Details
search_products accepts a required query parameter in Russian (e.g. молоко, кофе) and an optional store_id to scope prices and availability to a specific trade center. Results include sku, name, brand, country, product_type, unit, price, and availability per product, along with a total_found count reflecting the full catalog match size. The endpoint paginates internally across up to 5 pages to fulfill the requested limit. get_product_details fetches the same field set for a single item by its URL slug — slugs appear in the url field of search results, making it straightforward to chain the two endpoints.
Category Tree
get_categories returns the complete hierarchical category tree with no required parameters. Each node carries an id, name, slug, parent_id, and a nested children array up to 3 levels deep. The slugs can be used to construct category-browse URLs on the site but are not currently accepted as filters in search_products — keyword search is the primary discovery mechanism.
Store Network
list_stores covers the full METRO Russia network of approximately 90 stores. With no parameters it returns all stores. Pass a city string (Russian spelling, case-insensitive substring match) to filter by location, or supply latitude and longitude to receive a distance_km field and sort results by proximity. Each store object exposes store_id, trade_center_id, name, and address. The store_id value feeds directly into search_products and get_product_details to retrieve that store's prices and stock status.
The Metro Cc API is a managed, monitored endpoint for online.metro-cc.ru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when online.metro-cc.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 online.metro-cc.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?+
- Monitor price changes for specific SKUs across multiple METRO store locations by polling
get_product_detailswith differentstore_idvalues. - Build a product catalog mirror by paginating
search_productsacross category keywords and storing returnedsku,brand, andpricefields. - Find the nearest METRO trade center to a delivery address using
list_storeswithlatitudeandlongitudeinputs. - Compare brand and country-of-origin data for a product category by querying
search_productsand grouping on thebrandandcountryresponse fields. - Populate a store locator feature using
list_storesfiltered bycityto return address and store ID records. - Check real-time online availability of a specific item at a chosen store by calling
get_product_detailswith a knownslugandstore_id. - Traverse the full category hierarchy with
get_categoriesto map METRO's taxonomy and generate structured navigation menus.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does METRO Cash & Carry Russia provide an official developer API?+
How does store selection affect the data returned by `search_products` and `get_product_details`?+
store_id parameter. When supplied, the price and availability fields in the response reflect that specific trade center's inventory and pricing. Without a store_id, a default store is used. Store IDs are obtained from the store_id field in list_stores results.Does `search_products` support filtering by category, price range, or brand?+
query) and store_id. Category-based browsing, price range filters, and brand filters are not exposed as parameters. The API covers keyword search and store scoping. You can fork it on Parse and revise to add a category-slug or brand filter endpoint.Are product images, customer reviews, or nutritional information returned?+
sku, name, brand, country, product_type, unit, price, and availability. Images, reviews, and nutritional details are not included in the response schema. You can fork the API on Parse and revise it to add those fields.What is the real-world coverage of `list_stores`?+
total_stores field in the response reflects the current network size at query time.