Discover/Colruyt API
live

Colruyt APIcolruyt.be ↗

Access Colruyt supermarket product data: search by keyword, retrieve prices and nutritional scores, browse promotions, and list all Belgian store locations.

Endpoint health
verified 7h ago
search_products
get_product_details
get_stores
get_red_price_products
get_promotions
6/6 passing latest checkself-healing
Endpoints
6
Updated
7d ago

What is the Colruyt API?

The Colruyt.be API gives developers access to 6 endpoints covering the full Colruyt Belgian supermarket catalog, including product search with pricing and nutritional scores, current store promotions, and store location data. The search_products endpoint returns paginated results with brand, price, promo status, and availability scoped to a specific store via place_id. Product details, red-price deals, and promotion-linked product lists are all accessible in structured JSON.

This call costs2 credits / call— charged only on success
Try it
Page number for pagination (1-based).
Number of products per page (1-100).
Sort order string as accepted by the upstream API (e.g. 'relevancy asc', 'price asc', 'price desc').
Search keyword (e.g. 'melk', 'bier', 'cola').
Colruyt store place ID for availability and pricing context. Default is Colruyt Halle (604).
→ api.parse.bot/scraper/54a8ba2b-5fe7-4859-9138-5d8a956ba6f7/<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/54a8ba2b-5fe7-4859-9138-5d8a956ba6f7/search_products?page=1&size=5&sort=relevancy+asc&query=melk&place_id=604' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 6 totalmissing one? ·

Search Colruyt products by keyword. Returns product metadata including prices, brand, nutritional scores, availability, and promotion status. Results are paginated via page/size parameters; omitting page defaults to page 1. Each request warms up a session before calling the upstream API, so latency includes one warmup round-trip.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
sizeintegerNumber of products per page (1-100).
sortstringSort order string as accepted by the upstream API (e.g. 'relevancy asc', 'price asc', 'price desc').
queryrequiredstringSearch keyword (e.g. 'melk', 'bier', 'cola').
place_idstringColruyt store place ID for availability and pricing context. Default is Colruyt Halle (604).
Response
{
  "type": "object",
  "fields": {
    "page": "Current page number",
    "size": "Requested page size",
    "products": "Array of product objects with metadata, pricing, and availability",
    "products_found": "Total number of matching products",
    "products_returned": "Number of products in this response page"
  },
  "sample": {
    "data": {
      "page": 1,
      "size": 5,
      "products": [
        {
          "gtin": [
            "15400141506539",
            "05400141506532"
          ],
          "name": "Halfvolle melk brik",
          "brand": "EVERYDAY",
          "price": {
            "basicPrice": 0.849,
            "isRedPrice": false,
            "pricePerUOM": 0.85,
            "priceReason": "Reaction",
            "isPromoActive": "N",
            "activationDate": "10-07-2026",
            "measurementUnit": "L",
            "priceChangeCode": "E",
            "recommendedQuantity": "1.0",
            "measurementUnitPrice": 0.85
          },
          "is_bio": false,
          "is_new": false,
          "content": "1L",
          "in_promo": false,
          "long_name": "EVERYDAY Halfvolle melk brik 1L",
          "seo_brand": "Everyday",
          "thumbnail": "https://static.colruytgroup.com/images/200x200/std.lang.all/37/38/asset-4113738.jpg",
          "full_image": "https://static.colruytgroup.com/images/500x500/std.lang.all/37/38/asset-4113738.jpg",
          "nutri_score": "B",
          "is_available": true,
          "eco_score_label": "C",
          "top_category_id": "65",
          "greenscore_label": "B",
          "country_of_origin": "BE",
          "top_category_name": "Zuivel",
          "is_price_available": true,
          "technical_article_number": "4862636",
          "commercial_article_number": "24583"
        }
      ],
      "products_found": 36,
      "products_returned": 5
    },
    "status": "success"
  }
}

About the Colruyt API

Product Search and Details

The search_products endpoint accepts a query string (e.g. 'melk', 'bier') and returns a paginated list of products with fields including brand, price, is_bio, is_new, in_promo, and nutritional scores. Results can be sorted using the sort parameter ('price asc', 'relevancy asc') and scoped to a particular Colruyt store using place_id. The get_product_details endpoint accepts a commercial article number, technical article number, or GTIN barcode and returns the full record for a single product — including price.basic_price, price.is_red_price, price.measurement_unit_price, eco/green scores, and channel availability.

Promotions

get_promotions lists all active promotions at a given store, returning each campaign's benefit rules, validity dates, brand coverage, and one representative product via highest_sales_rank. To retrieve every product linked to a specific campaign, pass the promotion_id (e.g. '1441COLR') to get_promotion_products, which returns the full products array alongside benefit discount rules, brand_list, top_promo flag, and precondition objects. get_red_price_products lists all products currently flagged isRedPrice: true — covering weekly folder deals on fresh food, drugstore items, and wine — with pagination support and a has_more field.

Store Coverage

get_stores returns the complete list of approximately 267 active Colruyt stores in Belgium in a single unpaginated response. Each store object includes place_id, store_name, branch_id, address, geo_coordinates, and an is_active flag. The place_id values returned here are the correct inputs for scoping all other endpoints to a specific store's pricing and availability context.

Pagination and Scope

All list endpoints except get_stores support page (1-based) and size (1–100) parameters. Omitting page defaults to page 1. The place_id parameter defaults to Colruyt Halle (604) across all endpoints when not supplied, so results will reflect that store's pricing unless overridden.

Reliability & maintenanceVerified

The Colruyt API is a managed, monitored endpoint for colruyt.be — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when colruyt.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 colruyt.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
7h 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 products across multiple Colruyt store locations using place_id and get_product_details.
  • Build a weekly deals digest by querying get_red_price_products and get_promotions for a target store.
  • Compare nutritional scores and eco scores across a product category using search_products with category keywords.
  • Map all Colruyt store locations in Belgium with addresses and coordinates via get_stores.
  • Enumerate every product in a promotion campaign using get_promotion_products with a promotion_id from get_promotions.
  • Filter organic products by combining search_products results with the is_bio field.
  • Monitor which products are newly listed at a store by filtering search_products results on the is_new field.
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 Colruyt have an official public developer API?+
Colruyt does not publish an official developer API or documentation for third-party access to its product catalog or promotions data.
What does `get_red_price_products` return, and how is it different from `get_promotions`?+
get_red_price_products returns products where price.isRedPrice is true — these are Colruyt's own store-driven price reductions such as weekly folder deals on fresh food, drugstore items, and wine. get_promotions covers broader brand-sponsored or campaign-based promotions with explicit benefit rules, validity dates, and a promotion_id that can be passed to get_promotion_products. A product can appear in both lists simultaneously.
Can I retrieve customer reviews or ratings for Colruyt products?+
Not currently. The API covers product metadata, pricing, nutritional scores, eco scores, and promotions, but does not expose customer reviews or star ratings. You can fork this API on Parse and revise it to add an endpoint targeting product review data.
Are prices and availability consistent across all stores, or do they vary by location?+
Pricing and availability can vary by store. All endpoints that return pricing accept a place_id parameter to scope results to a specific Colruyt location. When place_id is omitted, responses default to Colruyt Halle (store ID 604). Use get_stores to retrieve place_id values for all ~267 active Belgian stores.
Does the API cover Colruyt's online shop (Collect&Go) inventory separately from in-store availability?+
The product detail response includes a channels field indicating where a product is available, but the API does not expose a dedicated Collect&Go stock level or online-only catalog endpoint. You can fork this API on Parse and revise it to surface channel-specific availability as a standalone endpoint.
Page content last updated . Spec covers 6 endpoints from colruyt.be.
Related APIs in Food DiningSee all →