Discover/Delhaize API
live

Delhaize APIdelhaize.be

Search Delhaize.be products, retrieve nutritional details, allergens, pricing, and active promotions via a clean REST API. Covers Belgian grocery catalog in NL and FR.

This API takes change requests — .
Endpoint health
verified 3h ago
get_promotions
get_product_details
search_products
3/3 passing latest checkself-healing
Endpoints
3
Updated
3h ago

What is the Delhaize API?

The Delhaize Belgium API exposes 3 endpoints to query the full Delhaize.be grocery catalog, returning product metadata, pricing, nutritional facts, allergens, and live promotions. The search_products endpoint lets you find items by keyword with paginated results in Dutch or French, while get_product_details returns ingredient lists, allergen breakdowns, and product images by Delhaize product code.

This call costs1 credit / call— charged only on success
Try it
Language code for results: 'nl' for Dutch or 'fr' for French.
Page number (1-based). Omitting returns page 1.
Search term for products (e.g. 'melk', 'chocolade', 'bier').
Number of products per page (1–100).
api.parse.bot/scraper/15807324-f7ef-4d7d-a3c6-7638f89560ec/<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/15807324-f7ef-4d7d-a3c6-7638f89560ec/search_products?query=melk&page_size=5&lang=nl&page=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 delhaize-be-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: Delhaize Belgium grocery SDK — bounded, re-runnable."""
from parse_apis.delhaize_be_api import Delhaize, ProductNotFound

client = Delhaize()

# Browse current promotions — cap total items fetched.
for promo_product in client.promoted_products.list(page_size=5, limit=5):
    print(promo_product.name, promo_product.formatted_price)
    for promo in promo_product.promotions:
        print(f"  {promo.title}: {promo.simple_message}")

# Search for chocolate products.
for item in client.product_summaries.search(query="chocolade", page_size=5, limit=5):
    print(item.name, item.brand, item.formatted_price)

# Drill-down: take one search hit and fetch full details via navigation.
hit = client.product_summaries.search(query="melk", limit=1).first()
if hit is not None:
    product = hit.details()
    print(product.name, product.price, product.weight_label)
    print("Ingredients:", product.ingredients)
    for nutrient in product.nutrients[:3]:
        print(f"  {nutrient.name}: {nutrient.values}")
    if product.allergens.contain:
        print("Contains:", product.allergens.contain)

# Point lookup by code discovered from the previous search result.
if hit is not None:
    try:
        detail = client.products.get(code=hit.code)
        print(detail.name, detail.nutri_score, detail.categories[0].name)
    except ProductNotFound:
        print("Product no longer available")

print("exercised: promoted_products.list / product_summaries.search / details / products.get")
All endpoints · 3 totalmissing one? ·

Search for products by keyword. Returns paginated results with product metadata including name, brand, price, availability, nutri-score, and active promotions. Results are ordered by relevance. The API uses zero-indexed pages internally; the caller passes 1-based page numbers.

Input
ParamTypeDescription
langstringLanguage code for results: 'nl' for Dutch or 'fr' for French.
pageintegerPage number (1-based). Omitting returns page 1.
queryrequiredstringSearch term for products (e.g. 'melk', 'chocolade', 'bier').
page_sizeintegerNumber of products per page (1–100).
Response
{
  "type": "object",
  "fields": {
    "page": "integer — current page number",
    "query": "string — the search query echoed back",
    "products": "array of product objects with code, name, brand, price, promotion, availability",
    "page_size": "integer — number of products per page",
    "total_results": "integer — total number of matching products"
  },
  "sample": {
    "data": {
      "page": 1,
      "query": "melk",
      "products": [
        {
          "url": "/nl/shop/Bewuste-voeding/Lactosevrij/Lactosevrije-melk/Melk-Halfvolle-Lactosevrij/p/S2018032200041700099",
          "code": "S2018032200041700099",
          "name": "Melk | Halfvolle | Lactosevrij",
          "brand": "Delhaize",
          "price": 7.09,
          "currency": "EUR",
          "in_stock": true,
          "available": true,
          "image_url": "/medias/sys_master/products/h0b/h20/13723879014430.jpg",
          "promotion": null,
          "sub_brand": null,
          "was_price": null,
          "nutri_score": "B",
          "has_discount": false,
          "weight_label": "6 x 1 l",
          "category_code": "v2SPE",
          "formatted_price": "€7,09",
          "unit_price_label": "1,18 €/l"
        }
      ],
      "page_size": 5,
      "total_results": 285
    },
    "status": "success"
  }
}

About the Delhaize API

What the API Covers

The API surfaces three endpoints against the Delhaize Belgium grocery catalog. search_products accepts a required query string (e.g. 'melk', 'bier') plus optional lang, page, and page_size parameters (1–100 results per page). Each result object includes code, name, brand, price, promotion, and availability. The endpoint echoes the query back in the response alongside total_results and page so you can implement full pagination.

Product Details and Nutrition

get_product_details takes a product_code — obtainable from search_products results — and returns the complete product record: name, brand, price (EUR), currency, in_stock, images (array of URLs), a relative url, and an allergens object with contain, mayContain, and unknown arrays. This is where ingredient lists, nutritional facts, and category assignments live. The lang parameter controls whether descriptions and ingredient text come back in Dutch (nl) or French (fr).

Promotions Feed

get_promotions lists all products on Delhaize.be that currently carry at least one active promotion. Promotion types include multi-buy deals, percentage discounts, and free-delivery offers. The endpoint is paginated with the same page and page_size controls as search_products, and each product object embeds a promotions array with full promotion metadata. total_results tells you how many promoted products exist at query time, useful for monitoring deal volume over time.

Language Support

All three endpoints accept a lang parameter set to 'nl' (Dutch) or 'fr' (French), mirroring the two official languages on delhaize.be. Omitting lang typically defaults to Dutch. Text fields like product names, descriptions, and category labels reflect the chosen language.

Reliability & maintenanceVerified

The Delhaize API is a managed, monitored endpoint for delhaize.be — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when delhaize.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 delhaize.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
3h ago
Latest check
3/3 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
  • Build a Belgian grocery price tracker by polling search_products for specific items and logging price changes over time.
  • Aggregate active promotions daily using get_promotions to surface multi-buy and discount deals across the full catalog.
  • Populate a nutrition database by iterating product codes from search results and calling get_product_details for ingredient and allergen data.
  • Flag products containing specific allergens by parsing the allergens.contain and allergens.mayContain arrays from get_product_details.
  • Compare nutri-score and brand data across a product category by running search_products queries and collecting brand and promotion fields.
  • Build a bilingual grocery app that switches between Dutch and French product descriptions using the lang parameter across all endpoints.
  • Monitor stock availability changes by periodically calling get_product_details on a watchlist of product codes and checking the in_stock 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 Delhaize Belgium have an official public developer API?+
Delhaize Belgium does not publish a public developer API or documented REST interface for external use. The data accessible through this Parse API is not available via an official Delhaize developer program.
What does `get_product_details` return beyond what `search_products` provides?+
search_products returns a summary record per product: code, name, brand, price, promotion, and availability. get_product_details adds the full allergens object (with contain, mayContain, and unknown sub-arrays), an images array, the relative url, explicit in_stock status, currency, and the extended description and nutritional facts fields that are not present in search result objects.
Are store-level stock availability or click-and-collect slot data included?+
Not currently. The API returns a single in_stock boolean and an available flag at the catalog level — there is no per-store inventory breakdown or click-and-collect availability. You can fork this API on Parse and revise it to add a store-specific availability endpoint if that granularity is needed.
How does pagination work across the three endpoints?+
All three endpoints use 1-based page numbering via the page parameter. Omitting page returns the first page. The page_size parameter controls results per page (1–100). Each paginated response includes total_results so you can calculate the total page count. Note that the API translates these 1-based page numbers to the zero-indexed format used by the source internally, so callers always use 1-based values.
Does the API cover Delhaize stores outside Belgium, such as the Netherlands or Luxembourg?+
The API covers the delhaize.be Belgian catalog only. Delhaize Group operates under different brand names and domains in other markets, and those catalogs are not included. You can fork this API on Parse and revise it to point at another regional Delhaize-affiliated domain if needed.
Page content last updated . Spec covers 3 endpoints from delhaize.be.
Related APIs in Food DiningSee all →
colruyt.be API
Access data from colruyt.be.
aldi.be API
Access data from aldi.be.
lidl.be API
Access data from lidl.be.
carrefour.eu API
Search and browse Carrefour's European online product catalog to access pricing, promotions, availability, and detailed product information including nutritional data. Retrieve comprehensive product details across categories to compare prices and find current deals in real-time.
alternate.be API
Search for products on Alternate Belgium and instantly access live prices, stock availability, technical specifications, customer reviews, and current deals across their entire catalog. Browse their complete category structure to find exactly what you need and compare products before making a purchase decision.
ah.nl API
Search Albert Heijn products, browse categories, view weekly bonus offers, and fetch detailed product information including nutrition and supplier contact details.
brico.be API
Search for home improvement products available at Brico.be, Belgium's leading retailer, and access detailed product information including prices, availability, and specifications. Quickly find tools, materials, and supplies across all categories to compare options and make informed purchasing decisions.
mediamarkt.be API
Search and browse MediaMarkt Belgium's product catalog to find electronics with detailed specifications, pricing, and available variants across all categories. Get comprehensive product information including descriptions and technical details to compare items before purchase.