Lidl API & Scraper
The Lidl API turns Lidl's country sites into clean JSON in four actions - search, category/products, deals and product/detail - across 30 countries.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
Eight of them run a web shop (Germany, France, Poland, the Netherlands, Belgium, Spain, Czechia and Slovakia); the other 22, including Italy, Austria, the United Kingdom, Ireland, Switzerland, the Nordics and the Baltics, publish only their in-store offers, and deals returns those offers with the dates they run in store. Every row carries the public shelf price, the struck-through price together with what that struck price is (the manufacturer's recommended retail price or Lidl's own previous price), the discount, the unit price, any Lidl Plus app price as a separate member_price, rating and review count, web-shop availability and in-store offer dates, filtered by brand, price, rating and availability and sorted by price, rating, newest, bestselling or discount. product/detail adds the EAN barcode, every size and colour variant with its own price, stock state and EAN, delivery time and charge, maximum order quantity, description, bullet points, specification table, breadcrumb, manuals and the other Lidl countries that sell the same product. A check on 16 products in 8 categories and 5 countries matched price, currency, rating, review count, EAN and availability against the page's own structured data on every product. No Lidl account, no app, no browser - one ReefAPI key and the standard { ok, data, meta, error } envelope.
Which Lidl price is the price - four numbers that look alike
A Lidl product can carry a shelf price, a struck-through price that is either the manufacturer's recommended price or Lidl's own earlier price, a Lidl Plus price that only app members get, and a promotion price that only applies when you buy two or three. Each looks like a normal number. This engine keeps them apart and labels them.
| Product (site) | price | price_before_discount (type) | the catch |
|---|---|---|---|
| PHILIPS coffee machine Gaia HD7544/20 (lidl.de) | 59.99 EUR | 99.99 (recommended_retail_price) | The struck price is the manufacturer's list price, not a price Lidl charged before |
| AEG coffee maker CM5-1-6ST (lidl.de) | 59.95 EUR | 64.95 (previous_price) | Here the struck price is Lidl's own earlier price |
| Avocado (lidl.it) | null | null | Only a Lidl Plus price exists: member_price 1.19, 'Con Lidl Plus -20%' |
| Côtes de Provence AOP (lidl.fr) | 4.33 EUR | 6.49 (previous_price) | '2+1 OFFERTE' - the 4.33 assumes you buy three; multi_buy is true |
| Avocado and shea shampoo (lidl.fr) | 0.39 EUR | 1.97 (previous_price) | '-80% SUR LE 2E' - 0.39 is the second bottle; second_item_price is true |
Measured on 2026-09-15. In one page of 100 Italian in-store offers, 19 had no public price at all, only a Lidl Plus price - reading that number as the price would have been wrong on nearly one row in five. On a German coffee search, 26 of 27 struck-through prices were recommended retail prices, not earlier Lidl prices. Prices and offers change weekly; the rows above are dated.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/lidl/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "kaffeemaschine",
"country": "de"
}
}{
"ok": true,
"meta": {
"api": "lidl",
"endpoint": "search",
"mode": "live",
"latency_ms": 1451,
"record_count": 36,
"bytes": 393560,
"cache_hit": false,
"pagination": {
"page": 1,
"has_more": true,
"page_size": 36,
"total": 72
},
"country": "de"
},
"data": {
"results": [
{
"product_id": "100376859",
"title": "SILVERCREST® KITCHEN TOOLS Kaffeemaschine »SKMK 1000 A1«, mit Warmhalteplatte",
"brand": "SILVERCREST® KITCHEN TOOLS",
"url": "https://www.lidl.de/p/silvercrest-kitchen-tools-kaffeemaschine-skmk-1000-a1-mit-warmhalteplatte/p100376859",
"image": "https://www.lidl.de/assets/gcpb43d9e9ad3f34871b25eb6a2d95b86fd.jpeg",
"images": [
"https://www.lidl.de/assets/gcpb43d9e9ad3f34871b25eb6a2d95b86fd.jpeg",
"https://www.lidl.de/assets/gcp7a51a56652634a6a8ff9de6946dd20c2.jpeg",
"https://www.lidl.de/assets/gcpe172376de5244effa65dd5b3b93d7b10.jpeg"
],
"currency": "EUR",
"price": 27.99,
"price_before_discount": null,
"price_before_discount_type": null,
"discount_percent": null,
"discount_label": null,
"multi_buy": false,
"second_item_price": false,
"unit_price": null,
"unit_price_text": null,
"packaging": null,
"price_valid_from": "2026-09-10T12:59:08.658Z",
"price_valid_until": null,
"member_price": null,
"member_price_before_discount": null,
"member_program": null,
"member_price_label": null,
"member_discount_label": null,
"member_unit_price_text": null,
"regional_prices": null,
"rating": 3.9,
"review_count": 64,
"rating_scale": 5,
"available_online": true,
"availability": "available_online",
"availability_text": "lieferbar",
"in_store": false,
"store_offers": null,
"product_type": "HEAD_VARIANT",
"has_variants": true,
"category": "Kategorien/Haushalt & Küche/Kleingeräte Küche/Kaffee & Co/Filterkaffeemaschinen",
"deal_of_the_day": null,
"age_restricted": null
},
{
"product_id": "100411510",
"title": "SILVERCREST® Kaffeemaschine »Chrom Retro 1973 - SKMR 1080 B1«",
"brand": "SILVERCREST®",
"url": "https://www.lidl.de/p/silvercrest-kaffeemaschine-chrom-retro-1973-skmr-1080-b1/p100411510",
"image": "https://www.lidl.de/assets/gcp5f04057eea484c0783f25af51e525b62.jpg",
"images": [
"https://www.lidl.de/assets/gcp5f04057eea484c0783f25af51e525b62.jpg",
"https://www.lidl.de/assets/gcp990bd0f8ab6340a48eccd096b2c0d932.jpg",
"https://www.lidl.de/assets/gcp9df6f97841a9443992ec300c3f677d83.jpg"
],
"currency": "EUR",
"price": 19.99,
"price_before_discount": null,
"price_before_discount_type": null,
"discount_percent": null,
"discount_label": null,
"multi_buy": false,
"second_item_price": false,
"unit_price": null,
"unit_price_text": null,
"packaging": null,
"price_valid_from": "2026-09-10T22:00Z",
"price_valid_until": "2026-09-27T21:59:59Z",
"member_price": null,
"member_price_before_discount": null,
"member_program": null,
"member_price_label": null,
"member_discount_label": null,
"member_unit_price_text": null,
"regional_prices": null,
"rating": null,
"review_count": null,
"rating_scale": null,
"available_online": true,
"availability": "available_online",
"availability_text": "auch in der Filiale von 24.09. - 26.09.",
"in_store": true,
"store_offers": [
{
"label": "[trimmed-depth]",
"type": "[trimmed-depth]",
"valid_from": "[trimmed-depth]",
"valid_until": "[trimmed-depth]"
}
],
"product_type": "FLAT",
"has_variants": null,
"category": "Kategorien/Haushalt & Küche/Kleingeräte Küche/Kaffee & Co/Filterkaffeemaschinen",
"deal_of_the_day": null,
"age_restricted": null
},
{
"product_id": "100412344",
"title": "SILVERCREST® Kaffeemaschine, in Retro-Optik",
"brand": "SILVERCREST®",
"url": "https://www.lidl.de/p/silvercrest-kaffeemaschine-in-retro-optik/p100412344",
"image": "https://www.lidl.de/assets/gcp1fbcbb76827044f089dda0b436148075.jpg",
"images": [
"https://www.lidl.de/assets/gcp1fbcbb76827044f089dda0b436148075.jpg",
"https://www.lidl.de/assets/gcp4b76cf189d2745918bd96590c49f1009.jpg",
"https://www.lidl.de/assets/gcp003d1d6170cd4fdba0a31b372965ab9f.jpg"
],
"currency": "EUR",
"price": 19.99,
"price_before_discount": null,
"price_before_discount_type": null,
"discount_percent": null,
"discount_label": null,
"multi_buy": false,
"second_item_price": false,
"unit_price": null,
"unit_price_text": null,
"packaging": null,
"price_valid_from": "2026-09-10T22:00Z",
"price_valid_until": "2026-09-27T21:59:59Z",
"member_price": null,
"member_price_before_discount": null,
"member_program": null,
"member_price_label": null,
"member_discount_label": null,
"member_unit_price_text": null,
"regional_prices": null,
"rating": null,
"review_count": null,
"rating_scale": null,
"available_online": true,
"availability": "available_online",
"availability_text": "auch in der Filiale von 24.09. - 26.09.",
"in_store": true,
"store_offers": [
{
"label": "[trimmed-depth]",
"type": "[trimmed-depth]",
"valid_from": "[trimmed-depth]",
"valid_until": "[trimmed-depth]"
}
],
"product_type": "FLAT",
"has_variants": null,
"category": "Kategorien/Haushalt & Küche/Kleingeräte Küche/Kaffee & Co/Filterkaffeemaschinen",
"deal_of_the_day": null,
"age_restricted": null
}
],
"count": 36,
"total_results": 72,
"offset": 0,
"sort_applied": "relevance",
"corrected_query": null,
"keyword_matches_on_page": 36,
"fallback_results_dropped": null,
"redirect": null,
"country": "de",
"language": "de",
"currency": "EUR",
"web_shop": true,
"query": "kaffeemaschine"
}
}What the Lidl API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search one Lidl country by keyword (or EAN): product id, title, brand, image, the public price with the struck-through price and whether that is the recommended retail price or Lidl's previous price, discount, unit price, Lidl Plus member price kept separate, rating and review count, web-shop availability and in-store offer dates. Filter by brand, price, rating and availability; sort by price, rating, newest, bestselling or discount. | Pricing teams call search to search one Lidl country by keyword (or EAN). | query, country, language, page, limit, ... |
| category/products | Browse one Lidl category by its id or URL: the same product rows, filters, sorts and paging as search. | Marketplace operators call category/products to get browse one Lidl category by its id or URL. | category, country, language, page, limit, ... |
| deals | Lidl's in-store offers for one country — the weekly leaflet products, current and upcoming — with each offer's valid-from and valid-until dates, the offer price, struck price, unit price and any Lidl Plus member price. Works in all 30 countries, including those without a web shop. | Catalog enrichment teams call deals to get lidl's in-store offers for one country. | country, language, query, page, limit, ... |
| product/detail | The full Lidl product record by id or URL: title, brand, gallery, EAN/GTIN, public price with struck price and its type, unit price, Lidl Plus member price, rating with review count and recommendation counts, web-shop availability, in-store offer dates, delivery time and charge, maximum order quantity, description, bullet points, specification table, breadcrumb, size and colour variants each with price, stock state and EAN, manuals, and the other Lidl countries that sell it. | Retail analysts call product/detail to get the full Lidl product record by id or URL. | product_id, country, language, max_rotations |
Call search from your stack
curl -X POST https://api.reefapi.com/lidl/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"kaffeemaschine","country":"de"}'import requests
r = requests.post(
"https://api.reefapi.com/lidl/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "kaffeemaschine",
"country": "de"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/lidl/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "kaffeemaschine",
"country": "de"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.lidl.search with {"query":"kaffeemaschine","country":"de"}.Who uses this API and why
- Retail and price-intelligence teams track Lidl's weekly in-store offers across 30 countries with deals, including offer dates and Lidl Plus prices.
- Brands and distributors match their catalogue to Lidl by EAN and follow price, recommended-price discounts and availability in the eight web-shop countries.
- Comparison sites read the public price, the unit price and the member price as separate fields, so a Lidl Plus or buy-two promotion never distorts a listing.
- Analysts compare one Lidl product across countries with product/detail and other_countries, then check each country's price in its own currency.
Questions developers ask before integrating
Which countries does the Lidl API cover?
30 Lidl country sites. Eight have a web shop: de, fr, pl, nl, be, es, cz and sk - search and categories return the web-shop catalogue there, plus the in-store offers of the week. The other 22 - it, at, hu, ro, bg, hr, si, ch, dk, se, fi, ie, gb, pt, lt, lv, ee, gr, cy, rs, mt and lu - have no web shop, so every call returns that country's current and upcoming in-store offers (Italy listed 377 on 2026-09-15, Switzerland 663). Belgium answers in Dutch or French and Switzerland in German, French or Italian. Every row carries its currency (EUR, PLN, CZK, HUF, RON, CHF, DKK, SEK, GBP or RSD), and each country was checked live for the currency it actually returns.
What is the Lidl Plus price, and is it included in price?
No. Lidl Plus is Lidl's app loyalty programme, and its price applies only to app members. It is returned as member_price with Lidl's own label (for example 'Con Lidl Plus -20%') and never copied into price. Some in-store offers publish only a Lidl Plus price; on those rows price is null and member_price holds the number.
Is price_before_discount the price Lidl charged before?
Not always. On many web-shop products the struck-through number is the manufacturer's recommended retail price. price_before_discount_type tells you which one you have: recommended_retail_price or previous_price. On a German coffee search on 2026-09-15, 26 of 27 struck prices were recommended retail prices.
How do I get this week's Lidl offers?
Call deals with a country. It returns the in-store offer products - the weekly leaflet range - with each offer's valid_from and valid_until dates, the offer price, the struck price and any Lidl Plus price, and you can narrow it by keyword, brand or price. It works in all 30 countries, including those without a web shop.
Does product/detail return the EAN barcode?
Yes, as gtin, with every barcode the product carries in gtins, and each variant has its own EAN. Lidl also lists internal store codes that start with 2 on some products; those are returned separately as in_store_codes and never as gtin, because another retailer cannot match them. Many in-store-only products publish no barcode at all - 11 of the 22 store-only countries' sample products had none on 2026-09-15 - and gtin is null there.
What happens if I search for something Lidl does not have?
You get an empty result, not a list of unrelated products. Lidl fills a no-match search with other products; the engine recognises that and returns zero rows with fallback_results_dropped telling you how many it removed. In the countries without a web shop the range is only this week's offers, so an everyday word can legitimately return nothing.
Can I look up a product by EAN or by a Lidl URL?
Yes. A barcode works as a search query (8710103769194 returned exactly the PHILIPS coffee machine it belongs to), and product/detail accepts a Lidl product URL from any country, including a size or colour variant URL, and takes the country and language from it.
What does Lidl not publish?
A seller - Lidl sells everything itself, partner brands included. Review texts - only the star rating, review count and recommendation counts. A stock number - only a state such as available online, coming soon online, or in store only. Ratings on in-store-only products.
What is the Lidl API?
Lidl API is a ReefAPI endpoint group for lidl web-shop products and weekly in-store offers in 30 european countries. It returns live JSON through POST requests under /lidl/v1.
Is the Lidl API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Lidl calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Lidl login or account?
No login to Lidl is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Lidl data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Lidl API use?
Lidl actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Lidl from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call lidl actions with the same key, credit pool and JSON envelope used by normal REST requests.