Product data from Lidl's online storefront across 31 country markets. Lidl is a first-party retailer, so results carry Lidl's own price rather than a multi-seller offer list.
country accepts:
de at ch gb ie fr be lu nl es pt it pl cz sk hu si hr ro bg rs gr cy mt dk se fi ee lv lt us
Each is a distinct Lidl market (lidl.de, lidl.co.uk, …). Prices are returned in the local currency of that market.
Assortment differs per country. Lidl's ranges are national, so the same product is often listed in some markets and absent from others — a not-found in one country says nothing about the others. Product IDs are also per-market: the same numeric ID refers to different products on different domains, so always pair an
idwith thecountryit came from.
| Key | Values | Description |
|---|---|---|
term | Free text | Keyword search. |
id | Lidl product ID | Direct product lookup. |
gtin | EAN / GTIN-13 | Resolved to the matching product, then fetched. |
GTIN coverage is partial. Lidl indexes an EAN only for single-variant articles. Products sold in several sizes or colours share one listing whose per-variant EANs are not searchable, and manufacturer EANs for branded goods are frequently absent from Lidl's index altogether. Use
termwhere a GTIN lookup returns not-found.
| Topic | Description |
|---|---|
search (default) | Product with Lidl's current price. |
product | Product page — adds eans[] and the variant list. |
Lidl has no third-party seller list, so there is no
search_and_offerstopic — the price is Lidl's own.
Returns the standard normalized content object (see Sources overview), plus these Lidl-specific fields:
| Field | Description |
|---|---|
price | The price shown on the page. Never null for a listed product. |
is_loyalty_price | true when price is a Lidl Plus (loyalty programme) price rather than the shelf price. |
regular_price | The non-member price, when is_loyalty_price is true. null otherwise, and null in the minority of cases where Lidl does not publish it. |
recommended_price | Manufacturer's recommended price (UVP/RRP), where Lidl shows one. |
old_price | Lidl's own previous price, where Lidl shows one. Distinct from recommended_price — only one of the two is ever set. |
discount_text | The discount label as displayed, e.g. "SAVE 30%". |
unit_price | Price per unit as displayed, e.g. "£1.58/l". |
availability / availability_text | Stock badge, unified: in_stock · limited · out_of_stock · preorder; availability_text is Lidl's localized label. See Availability. |
eans | All EANs Lidl lists for the product (product topic). Several for a multi-variant listing — one per variant. |
variants | Variant product IDs, each fetchable as its own id (product topic). |
Comparing against competitors: filter on
is_loyalty_price, or readregular_price. A Lidl Plus price requires the retailer's loyalty app and is not the shelf price, so treating it as one will understate Lidl against competitors. Loyalty pricing appears only in the store-catalogue markets (gb,ie,dk); markets with a full online shop always quote the ordinary price.
curl -s https://api.kwery.co/job \
-H "Authorization: Bearer $KWERY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"source":"lidl","country":"de","key":"term","values":["Parkside Akkuschrauber"]}'Results are fetched with GET /job/{id}/download once the job is finished. This is a real response, captured live on 2026-09-14 — the exact payload a self-serve account receives for the request above. A term search returns result rows in offers[] as below (first 3 of the 46 entries the download contains); id and product lookups return the single-product shape documented under Response. Everything else is unedited.
{
"job_id": "6aa7a6310e5b0b736ac9ef78",
"status": "finished",
"results": [
{
"query": {
"source": "lidl",
"country": "de",
"key": "term",
"value": "Parkside Akkuschrauber",
"topic": "search",
"max_pages": 1,
"max_age": 1200
},
"content": {
"offers": [
{
"id": "100398267",
"name": "PARKSIDE® 12 V Akkuschrauber »PBSAE 12 A1«, mit Akku und USB-C-Ladekabel",
"url": "https://www.lidl.de/p/parkside-12-v-akkuschrauber-pbsae-12-a1-mit-akku-und-usb-c-ladekabel/p100398267",
"brand_name": "PARKSIDE®",
"category": "Kategorien/Baumarkt/Werkstatt/Akku & Elektrowerkzeuge/Akkuschrauber",
"price": 24.99,
"currency": "EUR",
"is_loyalty_price": false,
"regular_price": null,
"recommended_price": null,
"old_price": 29.99,
"discount_text": null,
"unit_price": null,
"availability": "AVAILABLE_ONLINE",
"availability_text": "lieferbar",
"product_type": "FLAT",
"online": true,
"image_url": "https://www.lidl.de/assets/gcpd6ec0e097b4c428493dfbafee7077103.jpg",
"gtin": "496197"
},
{
"id": "100412197",
"name": "PARKSIDE PERFORMANCE® 20V Weltrekord Akku-Bohrschrauber »PPABSS 20 Li A1 - Arnold Schwarzenegger«, mit Akku und Ladegerät",
"url": "https://www.lidl.de/p/parkside-performance-20v-weltrekord-akku-bohrschrauber-ppabss-20-li-a1-arnold-schwarzenegger-mit-akku-und-ladegeraet/p100412197",
"brand_name": "PARKSIDE PERFORMANCE®",
"category": "Kategorien/Baumarkt/Werkstatt/Akku & Elektrowerkzeuge/Akku Bohrschrauber",
"price": 69.99,
"currency": "EUR",
"is_loyalty_price": false,
"regular_price": null,
"recommended_price": null,
"old_price": null,
"discount_text": null,
"unit_price": null,
"availability": "AVAILABLE_ONLINE",
"availability_text": "lieferbar",
"product_type": "FLAT",
"online": true,
"image_url": "https://www.lidl.de/assets/gcpda40da6d65e545f7818968f751432076.jpg",
"gtin": "518456"
},
{
"id": "100400782",
"name": "PARKSIDE® Werkzeugkoffer mit 4 V - Akkuschrauber »PWBM A1«, 92-teilig",
"url": "https://www.lidl.de/p/parkside-werkzeugkoffer-mit-4-v-akkuschrauber-pwbm-a1-92-teilig/p100400782",
"brand_name": "PARKSIDE®",
"category": "Kategorien/Baumarkt/Werkstatt/Werkstatteinrichtung/Werkzeugsets & -koffer",
"price": 79.99,
"currency": "EUR",
"is_loyalty_price": false,
"regular_price": null,
"recommended_price": null,
"old_price": null,
"discount_text": null,
"unit_price": null,
"availability": "AVAILABLE_ONLINE",
"availability_text": "lieferbar",
"product_type": "FLAT",
"online": true,
"image_url": "https://www.lidl.de/assets/gcp24f6c00be1e74a8ea981509741efee5c.jpg",
"gtin": "509740"
}
],
"currency": "EUR"
},
"success": true,
"updated_at": "2026-09-14T07:55:30.345Z",
"trust": {
"score": 0.83,
"components": {
"identity": 0.7,
"completeness": 0.5,
"price_integrity": 1,
"offer_contamination": 1,
"freshness": 1
},
"flagged_offers": []
},
"served_from": "live",
"observed_at": "2026-09-14T07:55:30.338Z"
}
]
}The trust block is explained in Confidence score; served_from and observed_at in Audit & provenance.