Lidl Stores API
Find Lidl stores in a UK or German city, or near a point in France.
- 1 credit per call
- Failed calls are free
- Updated
- lidl.stores.list
{ "count": 83, "country": "GB", "returned": 3, "source_url": "https://www.lidl.co.uk/s/en-GB/store-finder/london/", "stores": [ { "name": "Streatham", "id": "GB00034", "address": { "city": "London", "latitude": 51.43104, "longitude": -0.1294, "postal_code": "SW16 1BB", "street_name": "Streatham High Road", "street_number": "222" }, "opening_hours": { "timeZone": "Europe/London", "items": [ { "date": "2026-09-24", "reason": "REGULAR", "timeRanges": [ { "from": "2026-09-24T07:00:00", "to": "2026-09-24T22:00:00" } ] }, { "date": "2026-09-25", "reason": "REGULAR", "timeRanges": [ { "from": "2026-09-25T07:00:00", "to": "2026-09-25T22:00:00" } ] } ] }, "status": { "name": "open", "from": null, "to": null }, "services": [ "1", "9" ] }, { "name": "Feltham", "id": "GB00058", "address": { "city": "London", "latitude": 51.44854, "longitude": -0.4092, "postal_code": "TW14 9BG", "street_name": "New Road" }, "opening_hours": { "timeZone": "Europe/London", "items": [ { "date": "2026-09-24", "reason": "REGULAR", "timeRanges": [ { "from": "2026-09-24T07:00:00", "to": "2026-09-24T23:00:00" } ] }, { "date": "2026-09-25", "reason": "REGULAR", "timeRanges": [ { "from": "2026-09-25T07:00:00", "to": "2026-09-25T23:00:00" } ] } ] }, "status": { "name": "open", "from": null, "to": null }, "services": [ "1", "9" ] } ]}
| # | Name | Id |
|---|---|---|
| 1 | Streatham | GB00034 |
| 2 | Feltham | GB00058 |
| 3 | Clapham | GB00134 |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| url | string | yes | A UK or German store-finder city page, or https://www.lidl.fr/ for France. | https://www.lidl.co.uk/s/en-GB/store-finder/lon… |
| latitude | number | no | In France, find stores near this point. | |
| limit | integer | no | How many stores to return. | 3 |
| longitude | number | no | In France, find stores near this point. | |
| radius_km | integer | no | In France, how far from the point to look, in kilometres. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| stores[].name | string | The store's name. | Streatham |
| stores[].status.name | string | The store's name. | open |
| stores[].address.city | string | The store's town or city. | London |
| stores[].address | object | The store's address. | 6 fields |
| stores[].address.latitude | number | The store's latitude. | 51.43 |
| stores[].address.longitude | number | The store's longitude. | -0.13 |
| stores[].address.postal_code | string | The store's postcode. | SW16 1BB |
| stores[].address.street_name | string | The store's street. | Streatham High Road |
| stores[].address.street_number | string | The store's house number. | 222 |
| stores[].id | string | Lidl's ID for the store. | GB00034 |
| stores[].opening_hours | object | The store's opening hours. | 2 fields |
| stores[].opening_hours.items | array | The opening times for each day. | 3 records |
| stores[].opening_hours.timeZone | string | The time zone of the opening hours. | Europe/London |
| stores[].services | array | 1, 9, 3 | |
| stores[].status | object | 3 fields | |
| stores[].status.from | null | null | |
| stores[].status.to | null | null | |
| count | integer | How many products the category holds. | 83 |
| country | string | The country of the Lidl site read. | GB |
| returned | integer | How many stores the response holds. | 3 |
| source_url | string | The store finder page that was read. | https://www.lidl.co.uk/s/en-GB/store-finder/london/ |
| stores | array | The stores. | 3 records |
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.stores.list", "input": { "limit": 3, "url": "https://www.lidl.co.uk/s/en-GB/store-finder/london/" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "lidl.stores.list", "input": { "limit": 3, "url": "https://www.lidl.co.uk/s/en-GB/store-finder/london/" }}''')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.stores.list", "input": { "limit": 3, "url": "https://www.lidl.co.uk/s/en-GB/store-finder/london/" }}),});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
With Upscrape, get the Lidl stores for https://www.lidl.co.uk/s/en-GB/store-finder/london/. Tell me what it costs before you run it, then show the results as a table.
More from the Lidl API
The same data from other platforms
Lidl Stores API FAQ
The short answers. The docs have the long ones.
How much does the Lidl Stores API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send url. 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.stores.list, 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.