Lidl Scraper | European Grocery & Product Prices
Pricing
from $0.60 / 1,000 products
Lidl Scraper | European Grocery & Product Prices
Scrape Lidl's whole assortment in 30 countries, Germany included, as clean JSON: online shop, store offers and permanent range, with price, Lidl Plus price, offer dates, unit price, category and image. No login.
Pricing
from $0.60 / 1,000 products
Rating
0.0
(0)
Developer
ratatoskr
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Security
Limited permissionsShare
Scrape Lidl's whole assortment as clean structured JSON, in 30 countries: Germany, France, Belgium, the Netherlands, Spain, Poland, the UK and 23 more. Set a high limit and one run reads everything Lidl lists for that country: the online shop, the store offers and the permanent range. Or pass search terms to pull just those products. Every row carries the name, brand, price, Lidl Plus price, offer dates, unit price, category and image, in the country's own currency.
A full run on Germany returns about 14,000 products, with no login and no proxy to set up.
What you get
One row per product:
| Field | Example |
|---|---|
country | DE |
name | Rohwurst |
brand | DULANO |
price | 1.59 |
memberPrice | 1.43 |
currency | EUR |
unitPrice | Je 200 g |
priceFrom, priceUntil, upcoming | 2026-11-02, 2026-11-07, true |
category | Food |
inStock, availability | true, lieferbar |
image | https://www.lidl.de/assets/... |
productPage | https://www.lidl.de/p/dulano-rohwurst/p11685936 |
productId | 11685936 |
Countries
Austria, Belgium, Bulgaria, Croatia, Cyprus, Czechia, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, Sweden, Switzerland and the United Kingdom.
Belgium also comes in Dutch or French, and Switzerland in German, French or Italian.
Lidl Plus prices
memberPrice is the price with a Lidl Plus card, and price is the regular price. On an app-only deal Lidl may publish the card price alone, and the two fields then match.
Store offers, before they start
Lidl publishes its store offers ahead of time, so a run can show prices that have not reached the shelf yet. Each of those rows has upcoming: true and its first and last day. A store offer leaves Lidl's site when it ends, so a run reads what is on offer that day.
Input
| Field | What it does |
|---|---|
country | Lidl country. Selects the site, assortment, language and currency. |
language | Optional. Belgium: fr or nl. Switzerland: de, fr or it. |
searchQueries | Optional. Only scrape products matching these terms, e.g. ["kaffee", "schokolade"]. Leave empty for the whole assortment. |
maxItems | Stop after this many products. Leave empty for 100; set higher (e.g. 100000) for the whole assortment. |
includeUnpriced | Also return products Lidl lists without a price, mostly its permanent in-store range. |
proxyCountry | Optional. Read through a residential IP of this country from the start. Runs choose their connection by themselves, so leave it empty. |
{"country": "DE","searchQueries": ["kaffee"],"maxItems": 200}
Output
Each run writes a dataset you can view as a table or export to JSON, CSV or Excel, or pull from the Apify API. One Actor covers every Lidl country, so set country and compare prices across markets.
Pricing
Pay per product: about $0.75 per 1,000 products on the free tier, less at higher Apify subscription tiers, plus a start fee of $0.005 a run. A search of 300 products costs about 23 cents.