Discover/Carrefour API
live

Carrefour APIcarrefour.be

Search Carrefour Belgium's grocery catalog, retrieve product details with nutritional info, browse categories, and fetch live promotions via a structured JSON API.

This API takes change requests — .
Endpoint health
verified 2d ago
search_products
get_promotions
get_product
get_categories
get_category_products
6/6 passing latest checkself-healing
Endpoints
6
Updated
2d ago

What is the Carrefour API?

The Carrefour Belgium API exposes 6 endpoints covering product search, full product detail pages, category browsing, and live promotions from carrefour.be. The get_product endpoint returns over a dozen fields per item including nutri-score, allergens, ingredients, unit pricing in EUR, and stock availability. search_products runs full-text queries across the entire catalog and returns paginated results of up to 36 products per page.

This call costs1 credit / call— charged only on success
Try it
Page number (1-based). Each page returns up to 36 products.
Search query text (e.g. 'melk', 'pasta', 'chips').
api.parse.bot/scraper/f1a661f8-c8b3-4d04-9900-830fe047b8d8/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/f1a661f8-c8b3-4d04-9900-830fe047b8d8/search_products?page=1&query=melk' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 6 totalmissing one? ·

Full-text search over Carrefour Belgium's product catalog. Returns paginated product listings with price, brand, unit price, and availability. Results are ordered by relevance. Each page returns up to 36 products.

Input
ParamTypeDescription
pageintegerPage number (1-based). Each page returns up to 36 products.
queryrequiredstringSearch query text (e.g. 'melk', 'pasta', 'chips').
Response
{
  "type": "object",
  "fields": {
    "page": "current page number",
    "query": "submitted search query",
    "products": "array of product summaries with id, name, brand, price, unit_price, image_url, product_url, available",
    "total_pages": "total number of pages available",
    "total_results": "total number of matching products"
  },
  "sample": {
    "data": {
      "page": 1,
      "query": "melk",
      "products": [
        {
          "name": "Ijs repen melk chocolade caramel 7-pack",
          "brand": "Mars",
          "price": 5.99,
          "available": true,
          "image_url": "https://cdn.carrefour.eu/420_05974531_T597.webp",
          "product_id": "05974531",
          "unit_price": "21,39 €/kg",
          "product_url": "https://www.carrefour.be/nl/ijs-repen-melk-chocolade-caramel-7-pack/05974531.html"
        }
      ],
      "total_pages": 5,
      "total_results": 170
    },
    "status": "success"
  }
}

About the Carrefour API

Product Search and Detail

search_products accepts a query string (e.g. 'melk', 'chips') and an optional 1-based page parameter, returning up to 36 product summaries per page. Each summary includes id, name, brand, price, unit_price, image_url, product_url, and available. total_results and total_pages let you paginate through the full result set. To retrieve the complete record for any item, pass its product_id to get_product, which adds allergens, nutri_score, description, an images array, and category.

Category Browsing

get_categories takes no parameters and returns every top-level category on the site as an array of objects with category_id, name, and url. Feed any category_id (e.g. 'ros002') into get_category_products to get the same paginated product summary format scoped to that category. Both browsing endpoints share the same 36-products-per-page structure and total_pages/total_results counters.

Promotions

get_promotions lists current promotional offers, grouped by promotion, with optional locale (nl-BE or fr-BE), page, page_size (1–100), and category_id filters. Each item in the items array contains a PromotionObservation (with promotion_id, title, mechanic_type, and valid_until) alongside an array of PromotionProductSummary objects. To resolve a single deal, pass its promotion_id to get_promotion, which returns up to 100 linked products in one call including retailer_product_id, offer, brand, and availability.

Data Coverage Notes

All pricing is in EUR and reflects the Belgian storefront. Product IDs are 8-digit numeric strings obtainable from search or category results. The unit_price field is a formatted string (e.g. '1,49 €/l') rather than a numeric value, so parse accordingly. Nutritional data and ingredients are returned only at the single-product level via get_product, not in list endpoints.

Reliability & maintenanceVerified

The Carrefour API is a managed, monitored endpoint for carrefour.be — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when carrefour.be 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 carrefour.be 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.

Last verified
2d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track price changes on specific Belgian grocery products by polling get_product with known product IDs.
  • Build a nutri-score filter tool by retrieving products from a category and fetching allergen and nutri-score data per item.
  • Aggregate current promotional offers across categories using get_promotions with category_id filtering.
  • Populate a price-comparison tool with live unit prices (unit_price) and standard prices from Carrefour Belgium.
  • Index the full Carrefour Belgium catalog by paginating through get_categories and get_category_products.
  • Build a dietary filter by extracting allergens and ingredients from get_product responses for matching products.
  • Send promotion alerts by monitoring valid_until dates returned in PromotionObservation objects from get_promotion.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does Carrefour Belgium have an official public developer API?+
Carrefour Belgium does not publish a public developer API or documented data access program for its grocery catalog. This Parse API provides structured access to the product, category, and promotions data available on carrefour.be.
What does `get_product` return that list endpoints do not?+
get_product adds allergens, nutri_score, description, a full images array, and the category ID to the base fields shared with list responses. Search and category endpoints return only summary fields: id, name, brand, price, unit_price, image_url, product_url, and available.
How does locale affect the promotions endpoints?+
get_promotions and get_promotion both accept a locale parameter set to either nl-BE (Dutch) or fr-BE (French). This controls which language variant of the Carrefour Belgium site the promotion and product names are drawn from. If omitted, the API uses a default locale.
Does the API cover Carrefour stores in other countries like France or Spain?+
No. All six endpoints are scoped to carrefour.be — the Belgian storefront. Pricing is in EUR and reflects Belgian availability. Coverage of other Carrefour country sites is not currently included. You can fork this API on Parse and revise it to target a different Carrefour regional domain if needed.
Are store-level stock levels or click-and-collect availability returned?+
The available field indicates whether a product is currently in stock at a catalog level, but per-store inventory or click-and-collect slot data is not returned by any endpoint. You can fork the API on Parse and revise it to add store-level availability if that data is accessible on the site.
Page content last updated . Spec covers 6 endpoints from carrefour.be.
Related APIs in Food DiningSee all →