Lidl Category Products API
List the products in a Lidl category, page by page, with prices and the category's subcategories.
- 1–5 credits per call
- Failed calls are free
- Updated
- lidl.category.products.list
{ "category_id": "10068374", "category_url": "https://www.lidl.co.uk/c/food-drink/s10068374", "country": "GB", "numFound": 264, "items": [ { "title": "Cremant de Loire Brut", "price": 8.99, "code": "10040810", "currency": "GBP", "description": "<ul> <li><strong>Region:</strong> Loire, France</li> <li><strong>Grade:</strong> Sparkling dry</li> </ul>", "product_type": "RETAIL", "url": "https://www.lidl.co.uk/p/cremant-de-loire-brut/p10040810" }, { "title": "Large Houseplant", "price": 14.99, "code": "10048678", "currency": "GBP", "description": "<ul> <li>Add peace and tranquility to your home</li> <li>Height: 105-140cm</li> <li>Pot Ø: 21cm</li> </ul>", "product_type": "RETAIL", "url": "https://www.lidl.co.uk/p/large-houseplant/p10048678" } ], "subcategories": [ { "count": 264, "id": "10068374", "label": "Food & Drink", "url": "https://www.lidl.co.uk/", "children": [ { "count": 14, "id": "10071012", "label": "Fruit & veg", "url": "https://www.lidl.co.uk/q/api/category/h/fruit-vegetables/h10071012?assortment=GB&locale=en_GB&version=v2.0.0&pageId=10068374%2F10071012" }, { "count": 23, "id": "10095752", "label": "Meat & Poultry", "url": "https://www.lidl.co.uk/q/api/category/h/fresh-meat-poultry/h10095752?assortment=GB&locale=en_GB&version=v2.0.0&pageId=10068374%2F10095752" } ] } ]}
| # | Title | Price | Currency | Product code | Link | Description | Product type |
|---|---|---|---|---|---|---|---|
| 1 | Cremant de Loire Brut | 8.99 | GBP | 10040810 | https://www.lidl.co.uk/p/cremant-de-loire-brut/p10040810 | <ul> <li><strong>Region:</strong> Loire, France</li> <li><stron… | RETAIL |
| 2 | Large Houseplant | 14.99 | GBP | 10048678 | https://www.lidl.co.uk/p/large-houseplant/p10048678 | <ul> <li>Add peace and tranquility to your home</li> <li>Height… | RETAIL |
| 3 | Kinder Bueno | 5.79 | GBP | 10052237 | https://www.lidl.co.uk/p/kinder-bueno/p10052237 | RETAIL | |
| 4 | Kinder Chocolate | 3.49 | GBP | 10052239 | https://www.lidl.co.uk/p/kinder-chocolate/p10052239 | RETAIL | |
| 5 | KULJANKA Vegetable Salad With White Cabbage | 1.49 | GBP | 10052648 | https://www.lidl.co.uk/p/kuljanka-vegetable-salad-with-white-ca… | RETAIL | |
| 6 | KULJANKA Pickled Gherkins | 1.29 | GBP | 10052660 | https://www.lidl.co.uk/p/kuljanka-pickled-gherkins/p10052660 | RETAIL | |
| 7 | Mustard Assorted | 0.99 | GBP | 10052698 | https://www.lidl.co.uk/p/mustard-assorted/p10052698 | <ul> <li>Choose from Whole Grain, Sweet or Spicy</li> </ul> | RETAIL |
| 8 | Bissinger Champagner AOP Premier Cru | 24.99 | GBP | 10052748 | https://www.lidl.co.uk/p/bissinger-champagner-aop-premier-cru/p… | RETAIL | |
| 9 | Kronenbourg 1664, 15x440ml | GBP | 10054314 | https://www.lidl.co.uk/p/kronenbourg-1664-15x440ml/p10054314 | <p><strong>Get £3.50 off the regular price with the Lidl … | RETAIL | |
| 10 | Carlsberg Lager 3.4%, 18x440ml | GBP | 10054631 | https://www.lidl.co.uk/p/carlsberg-lager-3-4-18x440ml/p10054631 | <p><strong>Get £2 off the regular price with the Lidl Plu… | RETAIL |
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 Lidl category page, or a link from the categories endpoint. | https://www.lidl.co.uk/c/food-drink/s10068374 |
| fetchsize | integer | no | How many products to return in this call. | 24 |
| offset | integer | no | How many products to skip, to get the next page. | 0 |
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. | Cremant de Loire Brut |
| items[].price | number | The price, in the currency given. | 8.99 |
| items[].currency | string | The currency code of the prices. | GBP |
| items[].code | string | Lidl's product code; the product detail endpoint takes it. | 10040810 |
| items[].url | string | The page on Lidl's site. | https://www.lidl.co.uk/p/cremant-de-loire-brut/p10040810 |
| items[].description | string | The product description as Lidl shows it. | <ul> <li><strong>Region:</strong> Loire, France</li> <li><stron… |
| items[].product_type | string | The kind of listing, such as a store product. | RETAIL |
| category_id | string | Lidl's ID for the category. | 10068374 |
| category_url | string | The category page on Lidl's site. | https://www.lidl.co.uk/c/food-drink/s10068374 |
| country | string | The country of the Lidl site read. | GB |
| items | array | The products. | 23 records |
| numFound | integer | How many products Lidl says match. | 264 |
| subcategories | array | The category's subcategories. | 1 records |
| subcategories[].children | array | Subcategories under this one. | 17 records |
| subcategories[].children[].count | integer | 14 | |
| subcategories[].children[].id | string | 10071012 | |
| subcategories[].children[].label | string | Fruit & veg | |
| subcategories[].children[].url | string | https://www.lidl.co.uk/q/api/category/h/fruit-vegetables/h10071… | |
| subcategories[].count | integer | How many products the category holds. | 264 |
| subcategories[].id | string | Lidl's ID for the category. | 10068374 |
| subcategories[].label | string | The category name as Lidl shows it. | Food & Drink |
| subcategories[].url | string | The page on Lidl's site. | https://www.lidl.co.uk/ |
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.category.products.list", "input": { "fetchsize": 24, "offset": 0, "url": "https://www.lidl.co.uk/c/food-drink/s10068374" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "lidl.category.products.list", "input": { "fetchsize": 24, "offset": 0, "url": "https://www.lidl.co.uk/c/food-drink/s10068374" }}''')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.category.products.list", "input": { "fetchsize": 24, "offset": 0, "url": "https://www.lidl.co.uk/c/food-drink/s10068374" }}),});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
Use Upscrape to list Lidl GB's Food & Drink category and show me the products with their prices.
More from the Lidl API
The same data from other platforms
Lidl Category Products API FAQ
The short answers. The docs have the long ones.
How much does the Lidl Category Products 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 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.category.products.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.