Lidl.es Products, Weekly Offers, Prices & Reviews Scraper avatar

Lidl.es Products, Weekly Offers, Prices & Reviews Scraper

Pricing

from $1.00 / 1,000 product results

Go to Apify Store
Lidl.es Products, Weekly Offers, Prices & Reviews Scraper

Lidl.es Products, Weekly Offers, Prices & Reviews Scraper

Scrape Lidl.es grocery and non-food products across weekly offers, tools, home, garden, kitchen, fashion, kids, sport and more. Search by keyword, department or URL. Extract prices, was-prices, discounts, package formats, images, ratings and full shopper reviews.

Pricing

from $1.00 / 1,000 product results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Lidl Spain Scraper

Pull product data from Lidl.es, spanning both the grocery/supermarket weekly-offer range and Lidl's "bazaar" (non-food) catalogue -- tools, home & garden, kitchen, fashion, baby & kids, sport & leisure. Search by keyword and/or department with brand, price, rating and weekly-offer filters, or paste product/search/category links directly. Every record includes the current price, a genuine strike-through was-price and discount % whenever a product is genuinely on offer, package format, images, and the site's own shopper rating and review feed.

Why This Scraper?

  • Covers both catalogues. Lidl.es sells grocery weekly offers (fresh produce, pantry, drinks) and a much larger "bazaar" non-food range (tools, home, garden, fashion, toys) through the same storefront -- this scraper reaches both.
  • Was-price captured only when it's real. Lidl runs genuine rotating weekly offers with a real prior price -- this scraper reads the site's own strike-through price object per item and only ever sets a was-price/discount when it's genuinely populated and higher than the current price. Full-price items simply get null, never a fabricated markdown.
  • Real shopper reviews, not a third-party vendor. Ratings and reviews come from Lidl's own on-site review feed (average, histogram, per-review text/author/votes), included on request.
  • Package format + a derived unit price. The package size/format Lidl itself displays (e.g. "750g", or "A granel" for loose/bulk items) is always included; a €/kg or €/L unit price is derived only when the package is an unambiguous single weight/volume -- never guessed for a bulk or multi-pack item.
  • Two ways in. Keyword + department browse with brand/price/rating/weekly-offer filters and sort, or paste any product, search, or department link.
  • Optional export to your apps. Send results into Notion, Linear, Airtable, or any Apify MCP connector alongside the dataset.

A note on product detail and scope

Lidl's own product-card data (price, was-price, package format, images, description, rating summary) is already included by default. The one genuinely additive per-product fetch is the site's own full review feed (rating breakdown, star histogram, per-review text/author/votes) -- turned on with fetchDetails. Lidl.es does not expose a detailed spec table (materials/dimensions/technical data) anywhere on the site itself, so this scraper does not claim one; it surfaces the site's own short product description and structured badges instead. Lidl.es also does not key its catalogue or prices by store/postal code the way some Spanish grocers do, so there is no region selector.

Data You Get

FieldExample value
productId / title123456789, Sample Cordless Drill 20V
brand / category / categoryPathSAMPLEBRAND, Power tools, ["DIY & garden", "Workshop", "Power tools"]
productUrl / imageshttps://www.lidl.es/p/sample-product/p123456789, full-resolution image list
price / currency39.99, EUR
wasPrice / discountAmount / discountPercent49.99, 10.00, 20.0 (only when genuinely on offer)
isOnSpecial / promoLabeltrue, "Megadescuento"
packageFormat / unitPrice / unitOfMeasure"750g", 3.99, "€/kg" (unit price only for an unambiguous single pack)
onlineAvailable / inStoreOnly / stockAvailabilitytrue, false, site's own stock label
averageRating / reviewCount4.6, 823
description / badgesshort product description text, ["Top rated"]
internalArticleNumbersLidl's own internal article number(s)
reviews{} by default, full feed with fetchDetails: true

Sample shape: values above are illustrative placeholders, not from a live product.

How to Use

1. Keyword + department search (default):

{
"mode": "search",
"searchTerm": "taladro",
"category": "bricolaje-jardin",
"maxItems": 20
}

2. Weekly offers only, biggest discount first:

{
"mode": "search",
"specialsOnly": true,
"sortBy": "BIGGEST_DISCOUNT",
"maxItems": 50
}

3. One brand within a department, with full shopper reviews:

{
"mode": "search",
"category": "bricolaje-jardin",
"brand": "SAMPLEBRAND",
"fetchDetails": true,
"maxItems": 20
}

4. Paste product / search / department links directly:

{
"mode": "url",
"urls": [
"https://www.lidl.es/p/sample-product/p123456789",
"https://www.lidl.es/h/fruta-y-verdura/h10071012"
],
"maxItems": 50
}

Input Parameters

ParameterTypeDescription
modestringsearch or url.
searchTermstringKeyword against Lidl's own search index (search mode only).
categorystringOne of Lidl's real top-level departments (search mode only); empty searches the whole catalogue.
brandstringExact brand name to keep, e.g. as shown on the site (search mode only).
specialsOnlybooleanKeep only products on a genuine current weekly offer (search mode only).
minPrice / maxPricenumberEUR price band to keep (search mode only).
minRatingnumberMinimum shopper rating (1-5) to keep (search mode only).
sortBystringRELEVANCE, PRICE_ASC, PRICE_DESC, NEWEST, TOP_RATED, BESTSELLERS, or BIGGEST_DISCOUNT (search mode only).
urlsarrayProduct, search/specials, or department listing URLs to scrape (url mode only).
fetchDetailsbooleanFetch the site's own full review feed (rating breakdown, star histogram, per-review text). Always on for a pasted product URL.
maxPagesintegerCap on search result pages fetched; empty = unlimited.
maxItemsintegerCap on total products returned; 0 = unlimited.
proxyobjectApify Proxy configuration used to route requests. The default works out of the box.
mcpConnectorsarrayOptional MCP connectors to export results into (Notion, Linear, Airtable, Apify).
notionParentPageUrlstringNotion connector only: page under which item pages are created.
maxNotifyListingsintegerCap on items exported to each connector per run. Does not affect the dataset.

Output Example

{
"productId": "123456789",
"title": "Sample Cordless Drill 20V",
"brand": "SAMPLEBRAND",
"categoryPath": ["DIY & garden", "Workshop", "Power tools"],
"category": "Power tools",
"productUrl": "https://www.lidl.es/p/sample-product/p123456789",
"price": 39.99,
"currency": "EUR",
"wasPrice": 49.99,
"discountAmount": 10.0,
"discountPercent": 20.0,
"isOnSpecial": true,
"promoLabel": "Megadescuento",
"packageFormat": null,
"unitPrice": null,
"unitOfMeasure": null,
"hasVat": true,
"onlineAvailable": true,
"inStoreOnly": false,
"stockAvailability": "In stock",
"images": ["https://www.lidl.es/assets/sample.jpg"],
"internalArticleNumbers": ["555123"],
"description": "Sample short product description as shown on the site.",
"badges": ["Top rated"],
"averageRating": 4.6,
"reviewCount": 823,
"recommendedYes": 780,
"recommendedNo": 15,
"reviews": {
"averageRating": 4.6,
"totalReviewCount": 823,
"recommendedYes": 780,
"recommendedNo": 15,
"starHistogram": { "1": 8, "2": 10, "3": 30, "4": 150, "5": 625 },
"items": [
{ "stars": 5, "title": "Great value", "text": "Sample review text.", "author": "Sample Shopper", "recommended": true, "votesUp": 4, "votesDown": 0 }
]
}
}

Sample shape: values above are illustrative placeholders, not from a live product.

A note on unit pricing and was-price

The package price (price) comes straight from Lidl's own product data. unitPrice/unitOfMeasure (€/kg or €/L) are only ever derived when the package format is an unambiguous single weight/volume (e.g. "750g") -- never for a "A granel" (loose/bulk, sold by weight at checkout) item, and never for a multi-pack, where dividing by the printed pack size would inflate or deflate the true per-unit price. wasPrice/discountAmount/discountPercent/isOnSpecial are only ever set when Lidl's own strike-through price field is genuinely populated and higher than the current price -- most full-price catalogue items simply carry no was-price, and this scraper reports that honestly rather than inventing one.

Send results into your apps (MCP connectors)

Optionally pipe results into the apps you already use through Model Context Protocol (MCP) connectors. Authorize a connector once under Apify, Settings, Integrations, then select it in the mcpConnectors field. Each connector receives a condensed, human-readable summary per product (title plus key fields), while the complete record always stays in the Apify dataset. For Notion, set notionParentPageUrl to the page the item pages should be created under, and use maxNotifyListings to cap how many items are exported per connector per run. Supported connectors: Notion, Linear, Airtable, and Apify. Leave the field empty to skip; it never changes the dataset output.