Lidl UK publishes weekly offers, Middle of Lidl non-food lines and core range product information on its public site. But the most important thing to understand about Lidl data is a boundary rather than a technique: Lidl Plus offers are delivered through an authenticated app and are frequently personalised to the individual shopper. That data is not public, and it should not be collected. Any vendor offering you "complete Lidl Plus offer data" is either describing something narrower than it sounds or doing something that creates real legal exposure for your brand. This guide covers what can legitimately be captured, where the line sits and why, the schema, and how discounter-to-discounter comparison actually works.
Most guides in this category open with what you can extract. This one opens with what you cannot, because on Lidl that is the commercially decisive fact and the one most likely to be misrepresented to you by a supplier.
Lidl Plus is an authenticated, app-based loyalty programme. Offers, coupons and rewards are surfaced inside the app to a logged-in user, and a meaningful share of them are personalised — targeted to an individual shopper based on their purchase behaviour — Lidl Plus tracks in-app behaviour such as pages viewed, coupons browsed and time spent on each screen, and uses this to tailor communications, discounts and offer surfacing to that individual account.
Three consequences follow, and they are not negotiable.
So the honest position, which we state plainly to clients: Lidl Plus offer data is out of scope. What follows is what can legitimately be captured, which is a genuinely useful dataset in its own right.
If a supplier tells you otherwise, ask them exactly how they obtain it. The answer will tell you what kind of partner they are.
Lidl operates the discounter model: a tightly curated range measured in the low thousands of SKUs rather than the tens of thousands a big-four supermarket carries — Lidl has long described its own permanent range as roughly 2,300–2,500 core lines, though a 2026 UK Competition and Markets Authority review found that most Lidl stores actually stock between 4,000 and 5,000 grocery lines once product variants are counted individually, with the overwhelming majority sold under exclusive own-brand labels — commonly cited at around 85% of lines by Lidl and around two-thirds (67%) of volume per Kantar/IGD estimates, with the remainder British-sourced branded and seasonal lines.
Lidl UK's online presence is also considerably narrower than Tesco's or Sainsbury's. Lidl has historically not operated a full national online grocery delivery service in the UK as of 2026, beyond a Lidl Plus app-based Click, Reserve & Collect trial for a limited set of non-food and Middle of Lidl items, and an expanding Lidl & Go self-scanning trial in selected stores. Its public website centres on weekly offer listings, Middle of Lidl non-food ranges, and product information rather than a transactional grocery catalogue with live per-store pricing.
This is a real constraint, and it changes what a Lidl dataset can honestly promise. A Tesco feed can deliver daily per-SKU prices across tens of thousands of lines with postcode context. A Lidl feed delivers something different in shape — offer cycles, non-food ranges, and published price points — and any partner should tell you that before you sign, not after.
Where Lidl differs from Aldi specifically, which matters because they are almost always evaluated together:
| Aldi UK | Lidl UK | |
|---|---|---|
| Loyalty mechanic | No card-based loyalty price layer | Lidl Plus app — app-gated, often personalised |
| Rotating non-food | Specialbuys, fixed weekly drops | Middle of Lidl, weekly themed ranges |
| Public offer data | Published product and price listings | Published weekly offer listings |
| Gated data | Minimal | Substantial — Plus offers are not public |
| Range scale | Low thousands of SKUs | Low thousands of SKUs |
| Own-label share | Overwhelming majority | Overwhelming majority |
The practical upshot: the publicly capturable share of Lidl's promotional activity is smaller than Aldi's, because a larger proportion of Lidl's promotional mechanism sits behind the app. That is not a scraping limitation you can engineer around. It is a structural feature of how the retailer chooses to operate.
| Field | Description | Example |
|---|---|---|
| product_id | Lidl product identifier where published | 20012345 |
| product_url | Canonical product page URL | https://www.lidl.co.uk/... |
| product_name | Full product title as displayed | Example Brand British Semi Skimmed Milk 2.27L |
| brand | Lidl exclusive brand name | Meadow Fresh |
| is_own_label | Boolean — Lidl exclusive brand | true |
| range_type | Core grocery or rotating non-food | core / middle_of_lidl |
| own_label_tier | Tier where applicable | value / core / Deluxe |
| pack_size | Size, weight or volume as listed | 2.27L |
| gtin_ean | Barcode identifier, where published | 20012345678 |
| category_path | Full breadcrumb hierarchy | Fresh > Dairy > Milk |
| image_urls | Array of product image URLs | ["https://www.lidl.co.uk/..."] |
As with Aldi, brand for Lidl is usually an exclusive brand name that looks like a national brand. Carry is_own_label as a separate boolean, because an analyst filtering for own label cannot do it on brand name alone.
Lidl's own-label architecture runs from value lines through core exclusive brands to Deluxe at the premium end. Capture the tier — it is the only basis for credible equivalence matching against big-four own-label tiers.
| Field | Description | Example |
|---|---|---|
| price | Published price | 1.45 |
| currency | ISO currency code | GBP |
| pricing_basis | Per item or per weight | per_item / per_kg |
| unit_price | Normalised price per standard unit | 0.64 |
| unit_of_measure | Basis for the unit price | per litre |
| was_price | Previous price where a reduction is shown | 1.69 |
| offer_type | Nature of the published offer | weekly_offer / price_drop / multibuy |
| offer_valid_from | Published start of the offer period | 2026-03-12 |
| offer_valid_to | Published end of the offer period | 2026-03-18 |
| offer_text | Raw offer text exactly as displayed | Was £1.69 |
| price_source | Provenance of this price point | public_website / published_leaflet |
The price_source field is the Lidl-specific integrity control, and it matters more here than anywhere else in the cluster. Because Lidl's published pricing appears across different public surfaces with different update cadences, every price point must carry its provenance. A price from a weekly offer listing and a price from a product page are not necessarily the same thing, and an analyst needs to know which they are looking at.
It is also a defence against scope creep. If every row must declare a legitimate public source, a row sourced from somewhere it should not have been cannot quietly enter the dataset.
| Field | Description | Example |
|---|---|---|
| is_middle_of_lidl | Boolean — rotating non-food range | true |
| theme | Themed range where applicable | Garden & Outdoor |
| on_sale_date | Published date the range goes on sale | 2026-03-12 |
| first_seen_at | First capture where this product appeared | 2026-03-12T08:04:00Z |
| last_seen_at | Most recent capture where it was present | 2026-03-16T14:10:00Z |
| stock_status | Current state | available / sold_out / window_ended |
| observation_gap_minutes | Uncertainty band on derived timings | 45 |
Middle of Lidl is Lidl's rotating non-food proposition — themed weekly ranges, limited quantity, while stocks last. The collection challenge is similar in kind to Aldi Specialbuys: these lines are ephemeral, and a product that appears and sells out between two captures never existed as far as your dataset is concerned. Capture cadence has to align to the weekly cycle rather than running flat.
We cover the ephemeral-capture problem in depth in the Aldi guide, and the same scheduling principles apply. The important point here is that it cannot be backfilled. There is no archive. A multi-year Middle of Lidl history is a dataset that can only be built forward.
| Field | Description | Example |
|---|---|---|
| availability_status | State at time of capture | available / sold_out / unknown |
| store_context | Location context where applicable | national / store identifier |
| captured_at | UTC timestamp of the capture | 2026-03-12T08:04:00Z |
Note unknown as a permitted availability value. Where Lidl does not publish live stock state for a line, the honest record is unknown — not an assumed in_stock. Assuming availability that was never published is how a dataset acquires confident-looking values that are pure invention.
An illustrative record. Values are synthetic, shown to demonstrate field shape and types — they do not represent live Lidl pricing. Request a live sample for real current data.
{
"product_id": "20012345",
"product_url": "https://www.lidl.co.uk/example-product",
"product_name": "Example Cordless Hedge Trimmer",
"brand": "Parkside",
"is_own_label": true,
"range_type": "middle_of_lidl",
"own_label_tier": null,
"pack_size": null,
"gtin_ean": "20012345678",
"category_path": "Middle of Lidl > Garden & Outdoor",
"price": 59.99,
"currency": "GBP",
"pricing_basis": "per_item",
"unit_price": null,
"was_price": null,
"offer_type": "weekly_offer",
"offer_valid_from": "2026-03-12",
"offer_valid_to": "2026-03-18",
"offer_text": "From Thursday 12 March. While stocks last",
"price_source": "public_website",
"is_middle_of_lidl": true,
"theme": "Garden & Outdoor",
"on_sale_date": "2026-03-12",
"first_seen_at": "2026-03-12T08:04:00Z",
"last_seen_at": "2026-03-16T14:10:00Z",
"stock_status": "sold_out",
"observation_gap_minutes": 45,
"availability_status": "sold_out",
"captured_at": "2026-03-16T14:55:00Z"
}
Flattened to CSV, core and Middle of Lidl together:
| product_id | product_name | brand | range | tier | price | unit_price | offer_to | source | status |
|---|---|---|---|---|---|---|---|---|---|
| 20012345 | Cordless Hedge Trimmer | Parkside | middle_of_lidl | — | 59.99 | — | 2026-03-18 | public_website | sold_out |
| 20012346 | Semi Skimmed Milk 2.27L | Meadow Fresh | core | core | 1.45 | 0.64/L | — | public_website | unknown |
| 20012347 | Value Baked Beans 410g | — | core | value | 0.29 | 0.07/100g | — | public_website | unknown |
| 20012348 | Aged Cheddar 350g | Deluxe | core | Deluxe | 3.29 | 0.94/100g | 2026-03-18 | public_website | unknown |
Two things worth noticing.
Three of four rows carry unknown availability. That is not a gap in the data — it is the data. Lidl does not publish live per-store stock for core grocery lines the way a transactional online grocer does, and recording unknown is the accurate answer. A vendor whose Lidl file shows confident in_stock values on every core row is manufacturing them.
Every row carries price_source: public_website. That column should be auditable end to end. If a client ever asks where a number came from, the answer is in the row.
This is the comparison the market most wants, and it is the hardest one in UK grocery — because the usual identifier-based approach fails on both sides simultaneously.
With a Tesco-versus-Sainsbury's comparison, branded lines match cleanly on EAN and only own-label needs attribute matching. With Aldi versus Lidl, almost everything on both sides is exclusive own-brand. There is no shared identifier anywhere in the comparison. Every single matched pair is an attribute-based judgement.
A workable methodology:
Be realistic about coverage. Not every Aldi line has a defensible Lidl counterpart, and forcing a match to achieve full basket coverage is how comparison datasets become indefensible. A comparison covering 60% of the basket with high-confidence matches is far more useful than one covering 100% with a third of the pairs invented.
Read https://www.lidl.co.uk/robots.txt and honour it. Confine collection strictly to publicly accessible pages. No account creation to access gated content. No Lidl Plus app data. No personalised offers. No personal data of any kind.
That is a harder boundary than on the big four, and it should be enforced in code rather than in a policy document. Practical controls:
Extract from structured data where it exists rather than CSS selectors — product schema in JSON-LD changes far less often than front-end class names. Identify the collector honestly in the user agent and rate-limit conservatively, with particular care around weekly offer launch days when Lidl's site is busiest.
Cadence should follow the offer cycle rather than a flat daily schedule:
Formats. CSV and Excel for commercial teams, JSON or JSONL for pipelines, Parquet where query cost matters — though Lidl volumes are modest.
Destinations. S3, Google Cloud Storage or Azure Blob; SFTP; direct load into BigQuery, Snowflake or Redshift; or a REST endpoint.
Delivery shape. Two streams. The core range stream is a stable daily snapshot plus change log. The offer and Middle of Lidl stream is cycle-driven: a record per offer window with start, end, price and observed lifecycle, plus alerts on new launches for clients who need to react the same week.
Alerting. For competitors tracking discounter activity, a new Middle of Lidl theme entering a monitored category is worth knowing within hours.
The big four grocers track discounter pricing as the benchmark for their own value ranges and price-matching schemes. Lidl and Aldi are usually monitored as a pair, because the discounter threat is assessed jointly rather than separately.
CPG and FMCG brands track Lidl own-label lines as competitive substitutes. A brand losing volume to a Lidl exclusive needs the tier positioning and the normalised unit price gap, not a headline comparison.
General merchandise and homeware brands track Middle of Lidl, where a themed range can put a competing product into the market at a disruptive price point for one week with a known start and end date.
Price comparison platforms and consumer publications run discounter basket comparisons. This audience most needs the matching methodology and confidence scores, because their output is scrutinised publicly and challenged commercially.
Analysts and researchers use discounter pricing as the value anchor in UK food inflation work, and multi-year Middle of Lidl archives to study discounter assortment strategy.
Public data only — and on Lidl this does real work. The Lidl Plus boundary is the clearest example in UK grocery of data that is technically obtainable and commercially off-limits. Authenticated, personalised offer data is not public information, and treating it as though it were creates exposure under both data protection law and the terms governing account access.
No personal data. Published prices are not personal data. Personalised offers are a different category entirely, because they are derived from an identified individual's behaviour. This is the distinction that makes Lidl Plus data a UK GDPR question rather than a scraping question.
Database rights. The UK retains a sui generis database right, separate from copyright, protecting substantial investment in obtaining, verifying or presenting database contents. Extracting a substantial part can infringe it. The defensible position is factual price monitoring for analysis and comparison — not republishing a retailer's catalogue as your own product.
Comparative claims. If your output supports public "cheaper than" claims, the matching methodology carries legal weight as well as analytical weight. Misleading comparative advertising is regulated in the UK. This applies with particular force to discounter comparisons, where every matched pair is a judgement rather than an identifier lookup. Ship the methodology and the confidence scores.
Rate limiting as a legal posture. Conduct that impairs a service is where scraping disputes escalate. Conservative volumes are a risk control.
Terms of service. Site terms are contractual, and enforceability against non-account-holders varies. Note that this variability is precisely why account-gated content sits on a different footing — once an account is involved, the contractual position is much clearer and much less favourable.
Not legal advice. Take advice from a qualified UK solicitor for your specific programme.
Build in-house if you need published core range and weekly offer data, can tolerate gaps, and have engineering capacity. The range is small and the parsing is not hard.
Buy a managed feed if you need Middle of Lidl lifecycle data with launch-aligned capture, or Aldi-versus-Lidl comparison with a defensible matching layer. The first is an on-call commitment rather than a project. The second is a methodology problem that takes months to get right and is easy to get wrong in ways that are not obvious until someone challenges your numbers publicly.
There is also a governance argument that applies specifically here. An in-house team under pressure to "get the Lidl Plus data" faces a temptation that an external partner with a documented scope boundary does not. Having the boundary written into a contract, and into the validation layer, is worth something on its own.
Model the cost over three years, and include the cost of a comparison that had to be retracted.
No, and they should not be. Lidl Plus offers are delivered through an authenticated app and are frequently personalised to individual shoppers. That places them outside public data, and personalised offers are bound up with personal data under UK GDPR. Any vendor offering complete Lidl Plus data is either describing something narrower than it sounds or creating legal exposure for you.
Lidl UK has historically not operated a full national online grocery delivery service in the UK, with its public site centring on weekly offers, Middle of Lidl ranges and product information as of 2026, beyond a Lidl Plus app-based Click, Reserve & Collect trial covering a limited set of non-food and Middle of Lidl items. This makes Lidl coverage different in shape from Tesco or Sainsbury's, and any partner should tell you that before you sign rather than after.
No. These are time-limited ranges that sell out, with no public archive to recover from. A product not captured during its window does not exist in the dataset. Multi-year Middle of Lidl history can only be built forward, which is the main argument for starting collection before you think you need it.
Through attribute-based matching on normalised unit price, own-label tier equivalence, pack size and published product attributes, with a confidence score on every matched pair. The methodology must be published alongside the numbers. A discounter comparison without stated methodology is not defensible when challenged.
Because Lidl does not publish live per-store stock state for core grocery lines the way a transactional online grocer does. Recording unknown is the accurate answer. A Lidl dataset showing confident in-stock values on every row is manufacturing them.
Collecting publicly displayed factual pricing for analysis is a widely practised commercial activity. On Lidl the critical distinction is between public site content, which is in scope, and authenticated app content, which is not. Stay on public pages, never create accounts to access gated content, avoid personal data, rate-limit conservatively, and take legal advice for your specific programme.
Actowiz Solutions delivers UK grocery datasets across Lidl and the other major UK retailers, with public-source provenance on every price point, Middle of Lidl lifecycle capture on launch-aligned schedules, own-label tier classification, and attribute-based discounter matching with exposed confidence scores. Scope boundaries are documented in the contract, not just in a policy.
You can also reach us for all your mobile app scraping, data collection, web scraping , and instant data scraper service requirements!
Our web scraping expertise is relied on by 4,000+ global enterprises including Zomato, Tata Consumer, Subway, and Expedia — helping them turn web data into growth.
Watch how businesses like yours are using Actowiz data to drive growth.
From Zomato to Expedia — see why global leaders trust us with their data.
Backed by automation, data volume, and enterprise-grade scale — we help businesses from startups to Fortune 500s extract competitive insights across the USA, UK, UAE, and beyond.
We partner with agencies, system integrators, and technology platforms to deliver end-to-end solutions across the retail and digital shelf ecosystem.
Extract Lidl UK product and price data at scale. What Lidl Plus data is app-gated and off-limits, Middle of Lidl capture, discounter matching and compliance.
Multi-Channel Marketplace Inventory Scraping API helps brands monitor product stock, availability, and inventory changes across Amazon, Flipkart, and Myntra.
Sephora & Trendyol Arabic Market Data Report 2026 delivers UAE e-commerce intelligence on products, pricing, trends, and customer demand.
Whether you're a startup or a Fortune 500 — we have the right plan for your data needs.