Real-time hourly pricing across Tesco, Sainsbury's, Asda, Morrisons, Ocado, Aldi, Lidl & more — built for UK shopping apps by Actowiz Solutions.
UK SUPERMARKETS
REFRESH CYCLE
SKUs TRACKED
ANNUAL UPLIFT
An hourly-refresh pricing API covering 12 of the UK's largest supermarkets — Tesco, Sainsbury's, Asda, Morrisons, Ocado, Aldi, Lidl, Waitrose, M&S Food, Iceland, Co-operative Food, and Amazon Fresh — with approximately 85,000 SKUs tracked and price changes captured within the hour they happen. Built for a London-based UK shopping app that turned grocery price comparison into a real-time consumer product.
| Attribute | Detail |
|---|---|
| Industry | GroceryTech / UK Shopping & Price Comparison App |
| Geography | UK-wide — England, Scotland, Wales, Northern Ireland |
| Chain Coverage | 12 supermarkets: Tesco, Sainsbury's, Asda, Morrisons, Ocado, Aldi, Lidl, Waitrose, M&S Food, Iceland, Co-op, Amazon Fresh |
| SKU Coverage | ~85,000 active SKUs across grocery, fresh, frozen, household, baby, pet |
| Refresh Frequency | Hourly (premium tier) + daily backstop sweep |
| Delivery | REST API + webhook events for price-change triggers + CSV daily snapshots |
| Compliance | UK GDPR aware — no personal data captured; pricing data only |
The client is a London-headquartered GroceryTech startup running a UK shopping app that helps British households save money on weekly grocery shopping. The app surfaces the cheapest supermarket for a user's specific basket — letting families decide whether to drive to Asda, click-and-collect from Tesco, or order from Ocado for the same week's groceries.
UK grocery is one of the most competitive retail markets in the world. The 'Big Four' (Tesco, Sainsbury's, Asda, Morrisons) plus disruptors (Aldi, Lidl), premium players (Waitrose, M&S), specialists (Ocado, Iceland, Co-op), and the digital-native entrant (Amazon Fresh) make every shopping decision a multi-way comparison. The £200 billion UK grocery market sees price changes happen multiple times a day — often in response to competitors moving first.
For a UK shopping app to be genuinely useful, the data behind it has to move at the speed of the market. Daily refresh is not enough when Tesco can drop a price on milk at 7 AM and Sainsbury's matches within 90 minutes. The app's founder explicitly required hourly refresh — and built the business around that promise to consumers.
UK supermarkets reprice multiple times per day, especially on staples — milk, bread, eggs, fresh produce. Competitive matching happens within hours. Loyalty pricing (Tesco Clubcard, Sainsbury's Nectar) adds another dynamic layer. Daily snapshots miss 60-70% of real price movements. Hourly tracking is the threshold where the data actually reflects the market.
Building an hourly-refresh API across 12 UK supermarkets — at scale, sustainably, and within UK GDPR — presented five distinct challenges:
Each of the 12 supermarkets runs a completely different e-commerce platform. Tesco's site behaves nothing like Sainsbury's. Ocado has its own engineering culture. Amazon Fresh inherits Amazon's infrastructure. M&S Food redirects to Ocado for some categories. Building 12 separate integrations — each with its own anti-bot defences, refresh patterns, and quirks — required dedicated chain expertise.
Hourly refresh across 12 chains × 85,000 SKUs means over 2 million data points per hour, 50 million per day. Sustaining this without disruption — without exhausting proxy budgets, triggering anti-bot defences, or hitting platform rate limits — required serious infrastructure engineering.
Tesco Clubcard prices, Sainsbury's Nectar prices, and similar loyalty tiers create dual price structures. The same product shows £3.50 for non-members and £2.50 for Clubcard holders. For a consumer app to be accurate, both prices have to be captured cleanly and presented honestly.
The UK GDPR (under the UK Data Protection Act 2018) imposes strict rules on data scraping. The client needed an absolute guarantee that no personal data was captured — only product and pricing information. ICO complaints over scraping practices have grown significantly in recent years; compliance was not optional.
Tesco's 'British Whole Milk 2.272L' had to match Sainsbury's 'Whole Milk 4 Pint', Asda's 'Whole Milk 2.272L', and Ocado's '2.272L Whole Milk'. Without canonical matching, the app could not show 'Tesco £1.45 vs Sainsbury's £1.55 vs Asda £1.40' — it could only show four unrelated products. Matching is what makes comparison possible.
Before partnering, the client evaluated three alternatives — each with severe limitations:
| Alternatives Considered: Annual Cost Estimate (GBP) | |
|---|---|
| In-House 12-Chain Build | £580K/yr |
| Generic Data Vendor (daily only) | £320K/yr |
| Partial Coverage (Big 4 only) | £180K/yr |
| Actowiz Partnership (hourly, full 12) | £140K/yr |
The Actowiz hourly partnership was the only option offering full 12-chain coverage at hourly refresh — and at a cost lower than even the partial-coverage daily alternative.
Together with Actowiz Solutions, the client defined six measurable objectives:
Actowiz built a 5-stage hourly pricing pipeline tuned to UK grocery's specific dynamics and the UK GDPR regulatory environment:
Actowiz built 12 separate chain-specific crawlers — each engineered for its target platform's structure, defences, and refresh tolerances. UK-region residential proxy infrastructure rotated across English, Scottish, Welsh, and Northern Irish IP pools, ensuring authentic regional pricing where chains differ by geography. Browser automation handled JavaScript-heavy frontends (Tesco, Ocado); mobile API capture handled chains with stronger app interfaces (Asda).
A UK-specific product taxonomy was built — handling British grocery conventions like pint vs litre measures, '2 for £3' multi-buy offers, weight-based produce pricing, and loyalty-tier variants. Each chain's native SKU was mapped to a canonical UK product ID, enabling 'whole milk 2.272L' across all 12 chains to roll up to a single comparable entity.
Loyalty pricing was captured separately and labelled clearly — Tesco Clubcard prices, Sainsbury's Nectar prices, and Asda Rewards prices were tagged as loyalty variants rather than mixed into base pricing. Multi-buy offers ('3 for £5', 'Buy 1 Get 1 Free') were parsed into structured offer records so the app could surface real per-unit costs.
An hourly diff engine compared each refresh against the prior snapshot, surfacing every price change as a structured event — including direction (up/down), magnitude, percentage change, and competitive context. These events fired webhooks to the client's app within minutes of detection, enabling near-real-time consumer alerts ('Bread just dropped 22% at Tesco near you').
Data delivery was strictly product-only — no personal data, no customer reviews with identifiable information, no scraped account data. Every pipeline component was audited against UK ICO guidance. Authentication, rate-limiting, and per-app data scoping enabled secure multi-tenant use as the client onboarded enterprise partners.
Pipeline coverage across the 12 priority UK chains (illustrative):
| Chain | Tier | SKUs | Refresh | Loyalty Tier |
|---|---|---|---|---|
| Tesco | Big Four | ~12,800 | Hourly | Clubcard prices |
| Sainsbury's | Big Four | ~10,400 | Hourly | Nectar prices |
| Asda | Big Four | ~9,600 | Hourly | Rewards prices |
| Morrisons | Big Four | ~8,900 | Hourly | More Card prices |
| Ocado | Premium online | ~11,200 | Hourly | Smart Pass |
| Aldi | Discounter | ~3,800 | Hourly | — |
| Lidl | Discounter | ~3,600 | Hourly | Lidl Plus |
| Waitrose | Premium | ~6,400 | Hourly | myWaitrose |
| M&S Food | Premium | ~5,200 | Hourly | Sparks |
| Iceland | Frozen specialist | ~3,400 | Hourly | Bonus Card |
| Co-operative Food | Convenience | ~4,800 | Hourly | Co-op Membership |
| Amazon Fresh | Digital-native | ~5,200 | Hourly | Prime |
| TOTAL | 12 chains | ~85,300 | Hourly | 8 loyalty tiers tracked |
The Big Four chains (Tesco, Sainsbury's, Asda, Morrisons) account for roughly 50% of tracked SKU volume but reflect about 65% of UK grocery market share. Adding the 8 specialist and discounter chains captures the remaining critical pricing dynamics — discounter price floors (Aldi/Lidl), premium positioning (Waitrose/M&S), and digital-only competition (Amazon Fresh).
Single-product, single-postcode (SW1A 1AA, London) price comparison at 14:00 on a Tuesday:
| Chain | Base Price | Loyalty Price | Multi-Buy | Best Net |
|---|---|---|---|---|
| Tesco | £1.55 | £1.40 (Clubcard) | — | 🏆 £1.40 |
| Sainsbury's | £1.55 | £1.45 (Nectar) | — | £1.45 |
| Asda | £1.45 | £1.45 (Rewards) | — | £1.45 |
| Morrisons | £1.55 | £1.50 (More) | — | £1.50 |
| Ocado | £1.55 | — | — | £1.55 |
| Aldi | £1.39 | — | — | 🏆 £1.39 |
| Lidl | £1.39 | — | — | 🏆 £1.39 |
| Waitrose | £1.65 | — | — | £1.65 |
| M&S Food | £1.70 | — | — | £1.70 |
| Iceland | £1.50 | — | — | £1.50 |
| Co-op | £1.65 | £1.55 (Member) | — | £1.55 |
| Amazon Fresh | £1.55 | £1.55 (Prime) | — | £1.55 |
For 'Whole Milk 2.272L' near SW1A 1AA at 14:00 Tuesday: Aldi or Lidl at £1.39 if shopping in person; Tesco at £1.40 with Clubcard if doing a larger weekly shop online. Premium chains (Waitrose, M&S) priced 18-22% higher than discounters on this staple.
Sample webhook payload fired when a price change is detected (illustrative JSON):
| Webhook Field | Sample Value |
|---|---|
| event_type | price_change.detected |
| event_id | EVT_8472001_20260521 |
| chain | Tesco |
| canonical_product_id | UK_PROD_847200 |
| product_name | Whole Milk 2.272L |
| previous_price | £1.55 |
| new_price | £1.40 |
| change_direction | decrease |
| change_magnitude | -£0.15 |
| change_percentage | -9.7% |
| loyalty_tier | Clubcard |
| detected_at | 2026-05-21T14:08:42Z |
| app_action_suggested | Notify nearby app users — major staple price drop |
| competitive_context | Now £0.05 below Sainsbury's, matches Asda + Co-op |
| Feature | Capability |
|---|---|
| 12-Chain UK Coverage | All Big Four + Ocado + Aldi + Lidl + Waitrose + M&S Food + Iceland + Co-op + Amazon Fresh |
| Hourly Refresh | Sustained hourly capture across all 12 chains; sub-hour latency on critical changes |
| Loyalty Pricing Layer | 8 loyalty tiers captured separately (Clubcard, Nectar, Rewards, More, Sparks, etc.) |
| Canonical UK Taxonomy | Cross-chain product matching across British grocery conventions |
| Multi-Buy Parsing | '2 for £3', 'BOGOF', and similar offers parsed into structured records |
| ⚡ Webhook Events | Real-time price-change events fired to client app on every detected change |
| UK GDPR Compliant | Product-data only pipeline; no personal data captured anywhere |
| Daily CSV Backstop | Full daily snapshots delivered for analytics and audit trails |
Seven months after launch, the hourly UK pricing pipeline delivered transformational impact for the client's shopping app:
| Metric | Result |
|---|---|
| ANNUAL UPLIFT | £3.8M |
| ACTIVE APP USERS | 180K |
| USER BASKET SAVINGS | £412/yr |
| COST VS IN-HOUSE | 76% |
| Revenue + Cost Wins (£ Lakh, Cumulative 7M) | |
|---|---|
| App Subscription Revenue | £1.65M |
| Enterprise API Licensing | £0.92M |
| Cost Saved vs In-House Build | £2.57M saved |
| Premium Tier Upsell | £0.38M |
Combined 7-month impact: approximately £2.95M revenue uplift + £2.57M build cost saved. Annualised run rate: approximately £5.05M — significantly ahead of the £3.8M projected business case.
"We made an audacious promise to UK shoppers: see real prices, refreshed every hour, across every supermarket that matters. Daily-refresh data would have made that promise a lie. Actowiz delivered exactly the infrastructure that turned the promise into a product — 12 chains, hourly cycles, loyalty pricing, UK GDPR clean. Seven months later, we have 180,000 active users, £2.95M in revenue, and enterprise deals in the pipeline. None of it works without the data partnership we have here."
— Founder & CEO, London-Based UK Shopping App
UK grocery is one of the world's most price-competitive retail markets — and one of the fastest-moving. Tesco can move first on milk pricing at 7 AM and force Sainsbury's, Asda, and Morrisons to match by lunchtime. Loyalty schemes create dual pricing structures. Discounters like Aldi and Lidl set the price floor. Premium chains hold the ceiling. A consumer app trying to make sense of this with daily-refresh data is already lying to its users.
Actowiz Solutions delivered the alternative: hourly-refresh capture across 12 priority UK supermarkets, with loyalty pricing layered cleanly, multi-buy offers parsed, and webhook events firing on every detected change. All built within UK GDPR boundaries from day one. The result for the client: £3.8M annualised revenue uplift, 180K active app users, enterprise licensing deals signed, and a 76% cost advantage versus the in-house build alternative.
For UK GroceryTech, shopping apps, retail analytics firms, and price-comparison platforms, the era of daily-refresh data is functionally over. Real-time consumer products demand real-time data — and partners able to deliver hourly cycles at scale, sustainably, and compliantly are the ones that turn ambitious app visions into shipped, growing products.
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.
Complete Privacy Act 1988 web scraping compliance guide for Australian businesses personal information, APPs, OAIC & practical safeguards by Actowiz Solutions.
Extract real-time matrimony profiles, preferences, and matchmaking insights efficiently with advanced Shaadi.com data scraping solutions.
Scraping Key Food Grocery Data helps brands track pricing, inventory, promotions, and grocery trends for smarter retail analytics.
Whether you're a startup or a Fortune 500 — we have the right plan for your data needs.