Lidl Products Search API
Search Lidl's online range by keyword in the UK, Germany or France. Each product has its title, brand, price, currency and link.
- 1–5 credits per call
- Failed calls are free
- Updated
- lidl.products.search
{ "fetchsize": 24, "numFound": 55, "offset": 0, "items": [ { "title": "TERRY'S Chocolate Milk Ball", "price": 1.79, "brand": "TERRY'S", "code": "10054865", "currency": "GBP", "product_type": "RETAIL", "url": "https://www.lidl.co.uk/p/terry-s-chocolate-milk-ball/p10054865" }, { "title": "FAVORINA Milk Chocolate Choco Lolly", "price": 2.49, "brand": "FAVORINA", "code": "10054852", "currency": "GBP", "product_type": "RETAIL", "url": "https://www.lidl.co.uk/p/favorina-milk-chocolate-choco-lolly/p10054852" } ]}
| # | Title | Brand | Price | Currency | Product code | Link | Product type |
|---|---|---|---|---|---|---|---|
| 1 | TERRY'S Chocolate Milk Ball | TERRY'S | 1.79 | GBP | 10054865 | https://www.lidl.co.uk/p/terry-s-chocolate-milk-ball/p10054865 | RETAIL |
| 2 | FAVORINA Milk Chocolate Choco Lolly | FAVORINA | 2.49 | GBP | 10054852 | https://www.lidl.co.uk/p/favorina-milk-chocolate-choco-lolly/p1… | RETAIL |
| 3 | FAVORINA Milk Chocolate Balls in Net | FAVORINA | 0.99 | GBP | 10054858 | https://www.lidl.co.uk/p/favorina-milk-chocolate-balls-in-net/p… | RETAIL |
| 4 | HALLOWEEN Milk Chocolate Balls | HALLOWEEN | GBP | 10055407 | https://www.lidl.co.uk/p/halloween-milk-chocolate-balls/p100554… | RETAIL | |
| 5 | Kinder Chocolate | 3.49 | GBP | 10052239 | https://www.lidl.co.uk/p/kinder-chocolate/p10052239 | RETAIL | |
| 6 | FAVORINA Chocolate Pralines with Crunchy Hazelnut Filling | FAVORINA | 2.99 | GBP | 10054846 | https://www.lidl.co.uk/p/favorina-chocolate-pralines-with-crunc… | RETAIL |
| 7 | FAVORINA Chocolate Pralines with Crunchy Milk Filling | FAVORINA | 2.99 | GBP | 10054847 | https://www.lidl.co.uk/p/favorina-chocolate-pralines-with-crunc… | RETAIL |
| 8 | FAVORINA White & Milk Chocolate Choco Lolly | FAVORINA | 2.49 | GBP | 10054853 | https://www.lidl.co.uk/p/favorina-white-milk-chocolate-choco-lo… | RETAIL |
| 9 | FAVORINA Milk Chocolate Bears | FAVORINA | 3.29 | GBP | 10054855 | https://www.lidl.co.uk/p/favorina-milk-chocolate-bears/p10054855 | RETAIL |
| 10 | FAVORINA Milk Chocolate Elf | FAVORINA | 3.29 | GBP | 10054856 | https://www.lidl.co.uk/p/favorina-milk-chocolate-elf/p10054856 | RETAIL |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| query | string | yes | What to search for, such as chocolate. | chocolate |
| country | string | no | GB, DE or FR: which Lidl online shop to search. | GB |
| fetchsize | integer | no | How many products to return in this call. | |
| offset | integer | no | How many results to skip, to get the next page. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| items[].title | string | The product name as Lidl shows it. | TERRY'S Chocolate Milk Ball |
| items[].brand | string | The product's brand. | TERRY'S |
| items[].price | number | The price, in the currency given. | 1.79 |
| items[].currency | string | The currency code of the prices. | GBP |
| items[].code | string | Lidl's product code; the product detail endpoint takes it. | 10054865 |
| items[].url | string | The page on Lidl's site. | https://www.lidl.co.uk/p/terry-s-chocolate-milk-ball/p10054865 |
| items[].product_type | string | The kind of listing, such as a store product. | RETAIL |
| fetchsize | integer | How many products one page holds. | 24 |
| items | array | The products. | 24 records |
| numFound | integer | How many products Lidl says match. | 55 |
| offset | integer | Where this page starts in the results. | 0 |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "lidl.products.search", "input": { "country": "GB", "query": "chocolate" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "lidl.products.search", "input": { "country": "GB", "query": "chocolate" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "lidl.products.search", "input": { "country": "GB", "query": "chocolate" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Using Upscrape, search Lidl GB for chocolate and make a table of title, brand and price, cheapest first.
More from the Lidl API
The same data from other platforms
Lidl Products Search API FAQ
The short answers. The docs have the long ones.
How much does the Lidl Products Search API cost?
1–5 credits per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send query. The input fields below list every option with its type and limits.
Do I need a Lidl login?
No. It reads public Lidl data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds lidl.products.search, checks its price and runs it with the same credits as the REST API.
Your first Lidl call is free.
Up to 100 free credits to start, no card needed.