Today's promotions from 50+ Belgian retailers, each discount worked out per item. Read-only.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
A researched buying guide (koopwijzer) for a kind of product, e.g. 'airfryer': the models compared (key specs, today's lowest promotion), what each feature does, when you need it and when not, and general facts, every statement with its source. Use it for 'best <product>' and 'which <product> should I buy' questions ('beste airfryer', 'welke wasmachine kopen'): it does not crown a winner, it gives the cited test and buyer scores with their sources. Without a type: the list of guides.
Kind of product, Dutch or English, e.g. 'airfryer', 'heteluchtfriteuse'. Optional.
Tool list last changed Oct 25, 2026.
A researched buying guide (koopwijzer) for a kind of product, e.g. 'airfryer': the models compared (key specs, today's lowest promotion), what each feature does, when you need it and when not, and general facts, every statement with its source. Use it for 'best <product>' and 'which <product> should I buy' questions ('beste airfryer', 'welke wasmachine kopen'): it does not crown a winner, it gives the cited test and buyer scores with their sources. Without a type: the list of guides.
| Argument | Type | Description |
|---|---|---|
| type | string | Kind of product, Dutch or English, e.g. 'airfryer', 'heteluchtfriteuse'. Optional. |
{
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Kind of product, Dutch or English, e.g. 'airfryer', 'heteluchtfriteuse'. Optional."
}
}
}The store campaigns (winkelacties) running at Belgian retailers, as read from the stores' own sites (dealio.be/acties/): a percentage on a whole range, brand or store, multi-buy (1+1, 2e halve prijs), cashback from the maker, a voucher, a gift, free delivery, loyalty-card deals, sales, no VAT, and announced ones. Not one product's price (that is search_deals). Each with store, kind, the advantage in a few words, what it applies to, condition, code, validity, whether it works on products or on the whole basket, dealio's link, and the promotions on dealio that fall under it (with their links). Filter by store, kind or words.
| Argument | Type | Description |
|---|---|---|
| q | string | Words to find in the campaign's title, what it applies to, its condition or code (Dutch), e.g. 'verf', 'Nivea', 'speelgoed'. Optional. |
| kind | string | Only this kind: btw (no VAT), procent (a percentage on a range), meerkoop (1+1, 2e halve prijs), kortingsbon (voucher), cadeau (gift), cashback, levering (delivery), klantenkaart (loyalty card), solden (sales), inruil (trade-in), aangekondigd (announced, not yet running), andere. Optional. |
| limit | integer | Campaigns to return (default 10). |
| reach | string | product: the advantage is on certain products (a brand, a range, a category); mandje: on the basket, the order or the whole store. Optional. |
| store | string | Store name or slug, e.g. 'Kruidvat', 'gamma'. See list_stores. Optional. |
| offset | integer | Skip this many campaigns (for the next page). |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Words to find in the campaign's title, what it applies to, its condition or code (Dutch), e.g. 'verf', 'Nivea', 'speelgoed'. Optional."
},
"kind": {
"enum": [
"btw",
"procent",
"meerkoop",
"kortingsbon",
"cadeau",
"cashback",
"levering",
"klantenkaart",
"solden",
"inruil",
"aangekondigd",
"andere"
],
"type": "string",
"description": "Only this kind: btw (no VAT), procent (a percentage on a range), meerkoop (1+1, 2e halve prijs), kortingsbon (voucher), cadeau (gift), cashback, levering (delivery), klantenkaart (loyalty card), solden (sales), inruil (trade-in), aangekondigd (announced, not yet running), andere. Optional."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Campaigns to return (default 10)."
},
"reach": {
"enum": [
"product",
"mandje"
],
"type": "string",
"description": "product: the advantage is on certain products (a brand, a range, a category); mandje: on the basket, the order or the whole store. Optional."
},
"store": {
"type": "string",
"description": "Store name or slug, e.g. 'Kruidvat', 'gamma'. See list_stores. Optional."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Skip this many campaigns (for the next page)."
}
}
}One promotion in full, by the id a search result gave.
| Argument | Type | Description |
|---|---|---|
| id* | string | The `id` of a search result. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The `id` of a search result."
}
}
}Meal ideas from the promotions (kookinspiratie): the dishes whose main ingredients are all in promotion at the given Belgian food store(s) on the day the user shops, with those promotions (price, deal, until when, link), the side ingredients that are in promotion too, and what else is needed that is not. Dish ideas for a shopping list, not recipes. Without stores: per food store how many dishes its promotions make today.
| Argument | Type | Description |
|---|---|---|
| day | string | The shopping day: an ISO date (YYYY-MM-DD), 'today', 'tomorrow' or a weekday ('zaterdag', 'saturday'). Within the next 7 days. Default: today. |
| limit | integer | Dishes to return (default 10). |
| moment | string | Kind of dish. Default: hoofdgerecht (main course). |
| offset | integer | Skip this many dishes (for the next page). |
| stores | string | One or more food stores, comma separated, by name or slug, e.g. 'Aldi', 'aldi, lidl', 'Delhaize'. Optional. |
| vegetarian | boolean | Only vegetarian dishes, and only promotions without meat or fish. Default false. |
{
"type": "object",
"properties": {
"day": {
"type": "string",
"description": "The shopping day: an ISO date (YYYY-MM-DD), 'today', 'tomorrow' or a weekday ('zaterdag', 'saturday'). Within the next 7 days. Default: today."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Dishes to return (default 10)."
},
"moment": {
"enum": [
"hoofdgerecht",
"soep",
"lunch",
"ontbijt",
"dessert",
"aperitief"
],
"type": "string",
"description": "Kind of dish. Default: hoofdgerecht (main course)."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Skip this many dishes (for the next page)."
},
"stores": {
"type": "string",
"description": "One or more food stores, comma separated, by name or slug, e.g. 'Aldi', 'aldi, lidl', 'Delhaize'. Optional."
},
"vegetarian": {
"type": "boolean",
"description": "Only vegetarian dishes, and only promotions without meat or fish. Default false."
}
}
}One model from a buying guide in full: the maker's specs, what tests and buyers say (score, summary, pros, cons, source), facts, and today's promotions for it with their links.
| Argument | Type | Description |
|---|---|---|
| model* | string | Model code or name, e.g. 'NA352', 'Philips NA555/00', 'MAF462B1', or the id get_buying_guide gave. |
{
"type": "object",
"required": [
"model"
],
"properties": {
"model": {
"type": "string",
"description": "Model code or name, e.g. 'NA352', 'Philips NA555/00', 'MAF462B1', or the id get_buying_guide gave."
}
}
}Belgian consumer news for people who want to save (dealio.be/nieuws/): prices, promotions, store openings and incidents, product recalls (FAVV), tests (Test-Aankoop), taxes and energy, summarised by dealio in two or three sentences with our own headline, the source and the link to its article, newest first. Filter by store (name or slug) or theme. Each item has dealio's link (the item on the news page) and the store pages it names.
| Argument | Type | Description |
|---|---|---|
| q | string | Words to find in the headline or summary (Dutch). Optional. |
| limit | integer | Items to return (default 10). |
| store | string | Only news that names this store, by name or slug, e.g. 'Delhaize', 'aldi'. Optional. |
| theme | string | Only this theme. Optional. |
| offset | integer | Skip this many items (for the next page). |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Words to find in the headline or summary (Dutch). Optional."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Items to return (default 10)."
},
"store": {
"type": "string",
"description": "Only news that names this store, by name or slug, e.g. 'Delhaize', 'aldi'. Optional."
},
"theme": {
"enum": [
"prijzen",
"promoties",
"winkels",
"terugroeping",
"test",
"belasting-energie",
"besparen",
"koopjes",
"andere"
],
"type": "string",
"description": "Only this theme. Optional."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Skip this many items (for the next page)."
}
}
}One link that opens several promotions together on one page of dealio.be (dealio.be/lijst/…), in the order given, with an optional title: for the promotions you propose to the user after one or more searches, so they need not open them one by one. Use the ids from search_deals, get_deal or get_meal_ideas (2 to 30). Unknown ids are reported and left out.
| Argument | Type | Description |
|---|---|---|
| ids* | array | The promotion ids, in the order to show them. |
| title | string | A short title for the page, e.g. 'Coca-Cola per liter' or 'Boodschappen voor zaterdag'. Optional. |
{
"type": "object",
"required": [
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 30,
"minItems": 1,
"description": "The promotion ids, in the order to show them."
},
"title": {
"type": "string",
"maxLength": 60,
"description": "A short title for the page, e.g. 'Coca-Cola per liter' or 'Boodschappen voor zaterdag'. Optional."
}
}
}The stores in the data: slug, name, number of current promotions, the median discount per item where known, when the store was last fetched, and the pages of the store and its weekly overview. Also lists the category slugs.
No arguments.
{
"type": "object",
"properties": {}
}One promotion ready to publish elsewhere: the card as a picture (PNG, the same card the site's share button makes: store, photo, title, what you pay, regular price, label, end date; square by default, or 4:5 feed, 9:16 story, 1200x630 link preview; four designs: a shelf tag, b till receipt, d large photo, f 'Vandaag €x goedkoper' with the price large), a short link dealio.be/l/<code> that counts the click and sends the reader straight to the store's page, the store's page itself, the dealio link and a caption. Use the id from search_deals or get_deal.
| Argument | Type | Description |
|---|---|---|
| id* | string | the promotion id (search_deals / get_deal) |
| size | string | 1080x1080 square (default), 1080x1350 feed, 1080x1920 story, 1200x630 link preview |
| style | string | a shelf tag, b till receipt, d large photo, f 'how much do you save today' (only with a saving). Default: the promotion's own. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "the promotion id (search_deals / get_deal)"
},
"size": {
"enum": [
"1080x1080",
"1080x1350",
"1080x1920",
"1200x630"
],
"type": "string",
"description": "1080x1080 square (default), 1080x1350 feed, 1080x1920 story, 1200x630 link preview"
},
"style": {
"enum": [
"a",
"b",
"d",
"f"
],
"type": "string",
"description": "a shelf tag, b till receipt, d large photo, f 'how much do you save today' (only with a saving). Default: the promotion's own."
}
}
}Search the current promotions at Belgian retailers by product, brand or store, with optional filters. Returns the best matches (biggest per-item discount first unless sorted otherwise), each with price, discount, validity and a link to open it.
| Argument | Type | Description |
|---|---|---|
| sort | string | Default: relevance when there is a query, else discount. |
| limit | integer | Results to return (default 10). |
| query | string | Words from the product, brand or kind of promotion, e.g. 'koffiecapsules', 'Philips', '1+1 gratis'. Optional. |
| store | string | Store name or slug, e.g. 'bol', 'Colruyt', 'albertheijn'. See list_stores. Optional. |
| offset | integer | Skip this many results (for the next page). |
| category | string | Category slug or name: voeding, drank, verzorging, huishouden, baby, dier, elektronica, huis-tuin, mode, speelgoed, sport. |
| max_price | number | Maximum price per item in euro. |
| min_discount | integer | Minimum discount per item, in percent. |
| ends_within_days | integer | Only promotions that end within this many days. |
{
"type": "object",
"properties": {
"sort": {
"enum": [
"relevance",
"discount",
"price",
"ends"
],
"type": "string",
"description": "Default: relevance when there is a query, else discount."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Results to return (default 10)."
},
"query": {
"type": "string",
"description": "Words from the product, brand or kind of promotion, e.g. 'koffiecapsules', 'Philips', '1+1 gratis'. Optional."
},
"store": {
"type": "string",
"description": "Store name or slug, e.g. 'bol', 'Colruyt', 'albertheijn'. See list_stores. Optional."
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Skip this many results (for the next page)."
},
"category": {
"type": "string",
"description": "Category slug or name: voeding, drank, verzorging, huishouden, baby, dier, elektronica, huis-tuin, mode, speelgoed, sport."
},
"max_price": {
"type": "number",
"description": "Maximum price per item in euro."
},
"min_discount": {
"type": "integer",
"maximum": 99,
"minimum": 1,
"description": "Minimum discount per item, in percent."
},
"ends_within_days": {
"type": "integer",
"maximum": 60,
"minimum": 0,
"description": "Only promotions that end within this many days."
}
}
}