Lidl's web shops and weekly offers as JSON, in 30 countries
The Lidl API turns Lidl's country sites into clean JSON in four actions - search, category/products, deals and product/detail - across 30 countries.
4 active endpoints. Every call is 1 credit.
- POST/lidl/v1/search
- POST/lidl/v1/category/products
- POST/lidl/v1/deals
- POST/lidl/v1/product/detail
What Lidl endpoints does ReefAPI ship?
4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Lidl API
3 of 4 endpoints, ready to run
Lidl's product grid for a keyword or an EAN in one country: product id, title, brand, image, the public price with the struck price and whether that is the recommended retail price or Lidl's earlier price, discount, unit price, Lidl Plus price kept apart, rating, web-shop availability and in-store offer dates.
{ "ok": true, "meta": { "api": "lidl", "endpoint": "search", "mode": "live", "latency_ms": 1963.4, "record_count": 36, "cache_hit": false }, "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": "auch in der Filiale von 24.09. - 26.09.", "type": "ALSO_IN_STORE_FROM_FUTURE_DATE_RANGE", "valid_from": "2026-09-23T22:00:00Z", "valid_until": "2026-09-26T21:59:59Z" } ], "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": "auch in der Filiale von 24.09. - 26.09.", "type": "ALSO_IN_STORE_FROM_FUTURE_DATE_RANGE", "valid_from": "2026-09-23T22:00:00Z", "valid_until": "2026-09-26T21:59:59Z" } ], "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" } }
How the Lidl API works
Lidl is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 252 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Find this week's offer, then see its barcode and where else Lidl sells it
Lidl product ids are shared between countries, but each country sells its own range at its own price. Start from the offers of one country and follow the product.
{"country": "it", "query": "avocado"}The Italian in-store offers for the keyword, with valid_from and valid_until, the public price and the Lidl Plus price as separate fields. Take results[].product_id.
{"product_id": "11150914", "country": "it"}The full record: EAN, offer dates, member price, and other_countries listing the Lidl sites that sell the same product.
{"product_id": "11150914", "country": "ie"}The same product id in Ireland: that country's title and price, in its own currency.
A cross-country view of one Lidl product - offer dates, public price, member price and barcode - without ever mixing a Lidl Plus or buy-two price into the shelf price.
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"}'{
"ok": true,
"data": { … },
"meta": {
"api": "lidl",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}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.
Which countries, which price, and what Lidl leaves out
Measured on 2026-09-15 with live calls in every one of the 30 countries - an offers call, a search and a product record each, all checked for the right currency - and a 16-product check against the page's own structured data. Four of these lines go against us.
Eight web-shop countries (de, fr, pl, nl, be, es, cz, sk) return the online catalogue plus the week's in-store offers. 22 countries without a web shop (it, at, hu, ro, bg, hr, si, ch, dk, se, fi, ie, gb, pt, lt, lv, ee, gr, cy, rs, mt, lu) return their in-store offers with dates. Belgium in Dutch or French, Switzerland in German, French or Italian.
price is the shelf price everyone pays. member_price is the Lidl Plus app price. multi_buy and second_item_price flag promotions such as '2+1' or '-60% on the second', where the number shown assumes you buy more than one.
price_before_discount_type is recommended_retail_price when the struck number is the manufacturer's list price and previous_price when it is Lidl's own earlier price.
On 16 products across kitchen appliances, power tools, mattresses, clothing, wine, toys, bikes and Italian in-store food, the price, currency, rating, review count, EAN and availability matched the product page's own structured data on every product compared.
Lidl pads a no-match search with unrelated products. The engine drops them and returns zero rows, telling you how many it removed, instead of handing you 36 products that are not what you asked for.
In the 22 countries without a web shop, only the current and upcoming in-store offers exist - between 38 (Luxembourg) and 1,291 (Hungary) products on the day measured. A product that is not on offer this week cannot be found there.
Lidl publishes a star rating, review count and recommendation counts, but no review texts. It is the seller of everything it lists. Stock is a state (available online, coming soon, in store only), never a number.
Web-shop products carried an EAN on every product checked. In-store-only products often do not: 11 of the 22 store-only countries' sample products had none. Lidl's internal store codes are returned separately and never as the barcode.
Across 90 measured calls, a search took about 1.3 seconds and a product record about 1.9 seconds at the median; one product page took 22 seconds. Give product calls room.
What people build with Lidl
The jobs this data is most often used for.
endpoints
credit per call
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.
What Lidl data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 252 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
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"])Have a question? We got answers.
The questions people actually ask before wiring up Lidl.
Get a free key →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.
91 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Lidl, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 251 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-15.