Metro Cc APIonline.metro-cc.ru ↗
Search products, browse categories, and fetch product details from METRO Cash & Carry Russia. Get prices, brands, SKUs, and availability in structured JSON.
What is the Metro Cc API?
This API exposes 3 endpoints for querying the METRO Cash & Carry Russia online store, returning structured product data across search, category browsing, and individual product lookup. The search_products endpoint alone surfaces up to 9 fields per product — including SKU, brand, country of origin, price in rubles, and availability — for any Russian-language keyword query across the full catalog.
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' \ -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 online-metro-cc-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.
from parse_apis.metro_cc_online_store_api import Metro, Product, Category
metro = Metro()
# Search for dairy products
for product in metro.products.search(query="молоко"):
print(product.name, product.price, product.brand, product.country)
# Get detailed product info by slug
detail = metro.products.get(slug="moloko-prostokvashino-bezlaktoznoye-ultrapasterizovannoye-1-5-970ml-84771")
print(detail.sku, detail.name, detail.price, detail.unit)
# Browse all categories
for category in metro.categories.list():
print(category.id, category.name, category.slug)
for child in category.children:
print(child.name, child.parent_id)
Full-text search over METRO Cash & Carry product catalog by keyword. Returns matching products with price, brand, country of origin, product type, and availability. Paginates internally up to 5 pages to fill the requested limit. Only returns products whose names contain the query string.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of products to return |
| queryrequired | string | Search keyword in Russian (e.g. 'молоко', 'кофе', 'сыр') |
{
"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",
"total_found": "integer - total matching products on the site"
},
"sample": {
"data": {
"query": "молоко",
"products": [
{
"sku": "113309",
"url": "https://online.metro-cc.ru/products/moloko-parmalat-ultrapasterizovannoye-3-5-1l",
"name": "Молоко Parmalat ультрапастеризованное 3.5%, 1л",
"unit": "шт",
"brand": "PARMALAT",
"price": 142,
"country": "Россия",
"availability": true,
"product_type": "Молоко"
}
],
"total_found": 288
},
"status": "success"
}
}About the Metro Cc API
Endpoints Overview
The API covers three operations against the METRO Cash & Carry Russia catalog. search_products accepts a required query parameter in Russian (e.g. молоко, кофе) and an optional limit integer, then returns a products array alongside a total_found count. Each product object includes sku, name, brand, country, product_type, unit, price, availability, and a direct url. The endpoint paginates internally across up to 5 pages to satisfy the requested limit.
Category Tree
get_categories takes no inputs and returns the full hierarchical category tree up to 3 levels deep. Each node carries an id, name, slug, parent_id, and a nested children array. This is useful for mapping the catalog structure before running targeted searches or building category-aware navigation.
Product Detail Lookup
get_product_details fetches a single product by its URL slug (e.g. moloko-prostokvashino-bezlaktoznoye-ultrapasterizovannoye-1-5-970ml-84771). The response returns the same core attribute set: sku, name, unit, brand, price, country, and product_type. Slugs can be obtained from the url field returned by search_products or by browsing the category tree.
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?+
- Track price changes for specific SKUs in the METRO Russia food catalog over time using
get_product_details. - Build a country-of-origin filter for imported goods by extracting the
countryfield fromsearch_productsresults. - Map the full METRO product taxonomy for catalog analysis using the 3-level hierarchy from
get_categories. - Compare brand availability across product categories by combining
get_categoriesslugs withsearch_productsqueries. - Monitor stock availability for wholesale procurement by polling the
availabilityfield on key product SKUs. - Aggregate product type distributions across a keyword set using the
product_typefield from bulk search results. - Resolve product slugs to full attribute records for enriching an existing product database via
get_product_details.
| 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 METRO Cash & Carry Russia offer an official developer API for online.metro-cc.ru?+
What does `search_products` return, and does it filter by category or price range?+
search_products returns products whose names contain the query string, with fields including sku, name, brand, country, product_type, unit, price, availability, and url. It accepts a query string and an optional limit. Filtering by category or price range is not currently supported — the endpoint searches across the full catalog. You can fork this API on Parse and revise it to add category-scoped or price-range filtering.Are customer reviews or ratings available through this API?+
How fresh is the pricing data, and does it reflect member or bulk pricing?+
price field reflects the listed price in rubles at the time of the request. METRO stores typically display prices to registered members, and the API returns the price visible on the product page. Whether this reflects member-exclusive or bulk-tier pricing depends on how the product page presents it — the API does not expose separate price tiers or membership-specific rates.Can I retrieve a product using its SKU directly rather than its URL slug?+
get_product_details requires a URL slug as input (e.g. moloko-prostokvashino-bezlaktoznoye-ultrapasterizovannoye-1-5-970ml-84771). Direct lookup by SKU is not currently supported. The sku field is returned in both search_products and get_product_details responses, but you need to obtain the slug first — typically from the url field in a search_products result. You can fork this API on Parse and revise it to add SKU-based resolution.