Chedraui APIchedraui.com.mx ↗
Access Chedraui Mexico's product catalog, prices, category tree, and trending searches via a structured API with 5 endpoints.
What is the Chedraui API?
The Chedraui.com.mx API exposes 5 endpoints covering product search, product details, category browsing, the full category tree, and trending searches from Mexico's Chedraui online supermarket. The search_products endpoint returns paginated product arrays including brand, priceRange, SKU-level items, and images — making it straightforward to query live grocery and household product data by keyword.
curl -X GET 'https://api.parse.bot/scraper/237e52eb-6169-4c6b-a9a6-553d017ba971/search_products?page=1&limit=5&query=leche' \ -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 chedraui-com-mx-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: Chedraui Mexico SDK — search products, browse categories, discover trends."""
from parse_apis.chedraui_mexico_api import Chedraui, ProductNotFound
client = Chedraui()
# Discover trending searches on Chedraui
for suggestion in client.searchsuggestions.list(limit=5):
print(suggestion.term)
# Search products by keyword; limit caps total items fetched
for product in client.products.search(query="leche", limit=3):
print(product.product_name, product.brand, product.price_range.selling_price.low_price)
# Drill into a single product's full details via refresh
product = client.products.search(query="shampoo", limit=1).first()
if product:
detail = product.refresh()
print(detail.product_name, detail.description)
for sku in detail.items:
print(sku.name, sku.ean)
for img in sku.images:
print(img.image_url)
# Browse the category tree and list products in a category
category = client.categories.list(limit=1).first()
if category:
for p in category.products(limit=3):
print(p.product_name, p.price_range.list_price.high_price)
# Typed error handling
try:
first = client.products.search(query="xyznonexistent99999", limit=1).first()
if first:
print(first.product_name)
else:
print("No products found for query")
except ProductNotFound as exc:
print(f"Product not found: {exc.product_slug}")
print("exercised: searchsuggestions.list / products.search / product.refresh / categories.list / category.products")
Full-text search over Chedraui's product catalog. Returns paginated products sorted by relevance score. Each product includes pricing, brand, category path, images, and SKU-level seller offers. Pagination is offset-based (page × limit). The total matching count is in recordsFiltered.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| limit | integer | Number of products per page. |
| queryrequired | string | Search keyword (e.g. 'leche', 'shampoo', 'cerveza'). |
{
"type": "object",
"fields": {
"products": "array of product objects with productId, productName, brand, priceRange, categories, items, images, linkText",
"recordsFiltered": "integer total number of matching products"
},
"sample": {
"data": {
"products": [
{
"brand": "La Lechera",
"items": [
{
"name": "Leche Condensada Nestlé La Lechera Original 375g",
"images": [
{
"imageUrl": "https://chedrauimx.vtexassets.com/arquivos/ids/71177776/7506475104722_00.jpg"
}
],
"itemId": "3388156"
}
],
"linkText": "leche-condensada-nestle-la-lechera-original-375g-3388156",
"productId": "3388156",
"categories": [
"/Supermercado/Lacteos y huevo/Leche/"
],
"priceRange": {
"listPrice": {
"lowPrice": 32,
"highPrice": 32
},
"sellingPrice": {
"lowPrice": 26,
"highPrice": 26
}
},
"productName": "Leche Condensada Nestlé La Lechera Original 375g"
}
],
"recordsFiltered": 1263
},
"status": "success"
}
}About the Chedraui API
Search and Product Data
The search_products endpoint accepts a required query string (e.g. 'leche' or 'shampoo') along with optional page and limit integers for pagination. It returns an array of product objects — each with productId, productName, brand, priceRange (containing sellingPrice and listPrice ranges), categories, items, and images — plus a recordsFiltered integer showing the total match count. The get_product_details endpoint takes a product_slug (the linkText value from search results, e.g. 'leche-condensada-nestle-la-lechera-original-375g-3388156') and returns the full record including an HTML description field, SKU-level items with seller and pricing detail, and full categories path strings.
Category Browsing
The list_categories endpoint requires no inputs and returns the complete MEGAMENU category tree: an array of category objects with id, name, slug, order, display flags (desktop, mobile, display), and nested children. Category slugs from this response feed directly into get_category_products, which accepts a category_path string (e.g. 'supermercado/frutas-y-verduras') and returns the same product array shape as search_products, with its own recordsFiltered count for that category.
Trending Searches
The get_top_searches endpoint takes no inputs and returns a searches array of objects, each containing a term field representing currently popular search queries on the site. This is useful for surfacing what shoppers are actively looking for without needing to construct queries yourself.
The Chedraui API is a managed, monitored endpoint for chedraui.com.mx — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when chedraui.com.mx 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 chedraui.com.mx 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 Chedraui products using
priceRange.sellingPriceandpriceRange.listPricefields over time. - Build a Mexico grocery price comparison tool by querying
search_productsacross multiple supermarket APIs. - Populate a product catalog with Chedraui SKU data including brand, images, and category paths from
get_product_details. - Mirror the Chedraui category hierarchy using
list_categoriesto power navigation or taxonomy mapping. - Identify trending consumer packaged goods in Mexico via
get_top_searchesterm data. - Enumerate all products in a department (e.g.
supermercado/despensa) with paginated calls toget_category_products. - Monitor in-stock SKU availability and seller pricing via the
itemsarray returned in product detail responses.
| 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 Chedraui offer an official developer API?+
What does `get_product_details` return that `search_products` does not?+
get_product_details returns an HTML description field and full SKU-level items objects that include seller information and itemized pricing. Search results provide a summary priceRange and image array but do not include the HTML description or per-seller breakdown.How does pagination work across search and category endpoints?+
search_products and get_category_products accept page and limit integer parameters. The recordsFiltered integer in each response indicates the total match count, so you can calculate how many pages exist for a given query or category path.Does the API return customer reviews or product ratings?+
Are promoted or sponsored products distinguished from organic results in `search_products`?+
search_products response does not include a sponsored or promoted flag — results are returned as a flat array sorted by relevance score. The API covers standard catalog fields such as brand, price, and categories. You can fork it on Parse and revise it to add filtering or labeling logic if that distinction matters for your use case.