Insights
Blog Case Studies Reports & Ebooks White Papers Newsletter Podcast Infographics Videos
Developer Guides
How to Scrape Restaurant Menus How to Scrape Grocery Stores How to Scrape Alcohol Prices Anti-blocking Best Practices API Integration Guides
Company
Our Story FAQs Contact Us Careers
Legal & Trust
Privacy Policy Terms & Conditions
Free 2026 Food Data Report

50+ pages · 1,000+ data points. Trusted by 500+ companies.

Download free →
Join 5,000+ Subscribers

Monthly insights on food & AI.

Subscribe →
Book a Demo →

You'll receive the case study on your business email shortly after submitting the form.

Home Blog

What Data Can You Get From Morrisons, Waitrose and Ocado? (2026 Guide)

Ocado Product Data vs Morrisons & Waitrose (2026 Guide)

What Data Can You Get From Morrisons, Waitrose and Ocado? (2026 Guide)

Introduction

Most UK grocery data projects start with Tesco, Sainsbury's and Asda. But comparison apps, CPG brands and analysts quickly find gaps without the next tier. This guide explains what Ocado product data, Morrisons product data and Waitrose product data you can collect from public pages – and how to make the three chains comparable.

Short answer: From public, logged-out product pages on Ocado, Morrisons and Waitrose you can usually collect product name, brand, pack size, shelf price, unit price, promotions, member or loyalty prices where displayed, ingredients, nutrition, allergens, ratings and stock flags. Match products across chains by barcode where shown, otherwise by brand, size and variant.

Below we compare the three chains, list the fields that matter, show how to match products, explain loyalty versus shelf prices and cover compliance and build-vs-buy choices.

Who are Morrisons, Waitrose and Ocado in 2026?

All three sit below the 'big four' on market share, but each matters for a different reason. According to Worldpanel by Numerator figures for the 12 weeks to 6 September 2026, reported by AJ Bell, Morrisons held 8.4% of the market, Waitrose 4.5% and Ocado 2.2%. Ocado's sales grew 13%, making it the fastest-growing grocer in that period.

Ocado's growth is not new. Worldpanel data for the 12 weeks to 22 February 2026, covered by Grocery Gazette, showed Ocado growing 15.1% while Waitrose reached its highest share in three years. Ocado is online-only, and M&S products make up about a third of its revenues, according to Retail Gazette.

  • Morrisons – a national full-line supermarket with a large own-label and fresh range, sold in stores and online.
  • Waitrose – the premium grocer within the John Lewis Partnership, with a strong own-label range ('Essential Waitrose', 'Waitrose No.1') and specialist lines.
  • Ocado – a pure online grocer offering a wide branded range plus M&S food, with no physical stores.

Together they cover the value-to-premium spectrum, which is why any serious price comparison or shelf-share study needs them alongside Tesco and Sainsbury's.

How do the three chains differ for data collection?

Each site is built differently, so the same field can appear in different places or formats. The table below summarises what we typically see on public product pages. Always check the live site, because layouts change often.

Feature Ocado Morrisons Waitrose
Channel Online only Stores + online Stores + online
Range focus Wide branded range + M&S food Mainstream, strong own label and fresh Premium own label, specialist and organic
Shelf price and unit price Shown on listings and product pages Shown on listings and product pages Shown on listings and product pages
Loyalty / member price Offer badges; check for member-only labels More Card prices where shown myWaitrose member offers where shown
Multi-buy promotions Yes, as offer text Yes, as offer text Yes, as offer text
Nutrition, ingredients, allergens Usually on product page Usually on product page Usually on product page
Ratings and reviews Shown on many products Shown on many products Shown on many products
Barcode (EAN) visible Not always – often only in page code or images Not always Not always
Postcode needed Prices may vary by delivery area Some range and slots depend on postcode Some range and slots depend on postcode

The practical lesson: plan for three separate parsers and one shared output schema, rather than one 'UK supermarket scraper'. Ocado product data, for example, often needs a delivery-area check that a Morrisons store-range page does not.

The 10 data fields that matter most

Whether you are building a comparison app or a brand dashboard, these fields form the core of usable Ocado product data and its Morrisons and Waitrose equivalents.

  • Product ID and URL. The retailer's own SKU or product ID, plus the page URL, so every row is traceable.
  • Name, brand and own-label flag. Needed to separate branded lines from 'Morrisons', 'Essential Waitrose' or M&S items.
  • Pack size and unit. Weight, volume or count, split into a number and a unit for clean maths.
  • Shelf price. The standard price any shopper sees when logged out.
  • Unit price. Price per kg, litre or item as displayed – and recalculated by you as a check.
  • Promotion and loyalty price. Multi-buys, 'was/now' prices and member prices, each stored in its own column.
  • Availability. In-stock or out-of-stock flags, and the postcode used, if any.
  • Nutrition and ingredients. Per-100g values, ingredient lists and allergen statements in bold.
  • Ratings and review counts. Average star rating and number of reviews – a public proxy for popularity, not sales.
  • Category path and timestamp. Aisle and shelf hierarchy plus the exact collection time.
Field Example format Notes
retailer ocado / morrisons / waitrose Fixed codes
product_id Retailer SKU string Primary key per chain
product_name Text Keep the raw title
brand Text Normalise spelling
is_own_label true / false Derived from brand
pack_size_value / pack_size_unit 500 / g Parsed from title or spec
shelf_price_gbp Decimal Logged-out price
unit_price_gbp / unit_basis Decimal / per kg As displayed
promo_text Text e.g. multi-buy wording
loyalty_price_gbp Decimal or empty Only if publicly displayed
in_stock true / false Plus postcode if used
ean 13-digit string or empty Only where publicly shown
rating_avg / review_count Decimal / integer Popularity proxy
collected_at ISO timestamp UK time zone

How to match products across Morrisons, Waitrose and Ocado

Matching is where most UK comparison projects succeed or fail. A product is only comparable if you are sure it is the same item, in the same size, on each site.

Step 1: Match by barcode where it is public

The EAN (barcode) is the most reliable key. Some product pages show it, and some expose it in structured data. Where it is not public, do not try to work around restrictions to get it – move to step 2.

Step 2: Match by brand, size and variant

For branded goods, normalise the brand, the pack size and the variant (flavour, fat level, pack count). 'Heinz Baked Beans 4 x 415g' should only match the same multipack, not a single tin.

Step 3: Map own-label equivalents

Own-label products never share a barcode across chains. Instead, group them by category, size and tier – value, standard or premium. This is how analysts compare 'like for like' baskets. Our guide to branded vs private-label price analysis shows the approach.

Step 4: Score and review

Give each match a confidence score and send low scores to a human check. A small, clean matched set beats a large, noisy one.

Loyalty prices vs shelf prices – and why unit pricing matters

Loyalty pricing has changed how UK grocery prices should be read. Tesco has Clubcard Prices and Sainsbury's has Nectar Prices; you can compare those in our Tesco, Asda and Sainsbury's price parity data page. Morrisons and Waitrose run their own member schemes, so a 'price' can mean two different numbers.

  • Store both prices. Keep shelf price and member price in separate columns. Never overwrite one with the other.
  • Label the condition. Record the badge text, such as 'with More Card' or 'myWaitrose offer', so analysts know who gets the price.
  • Collect only what is public. Capture member prices only when they are displayed to logged-out visitors. Do not log in to member accounts.
  • Recalculate unit prices. Check the displayed unit price against your own price ÷ size calculation to catch errors.

Unit pricing is also a regulatory topic. In the UK, unit-price display rules sit in the Price Marking Order, and the Competition and Markets Authority (CMA) has looked at how grocers show unit prices, including on promotions and loyalty prices. Consistent unit-price data helps you spot where displays differ across chains.

Use cases for UK supermarket product data

Use cases for UK supermarket product data
  • Grocery comparison apps. Show shoppers matched baskets across Ocado, Morrisons and Waitrose, with shelf and member prices side by side.
  • CPG and FMCG brands. Check price, promotion and availability compliance for your lines across all three chains every day.
  • Category and pricing analysts. Track own-label price gaps between value and premium grocers over time.
  • Nutrition and allergen teams. Compare ingredients, allergens and per-100g nutrition across own-label equivalents.
  • Assortment and shelf-share research. Count brand presence by category, plus rating counts as a popularity proxy (not sales).
  • Market researchers. Combine chain-level data with Morrisons grocery datasets or Ocado grocery datasets for time-series studies.

Legal and compliance basics

Responsible collection protects you and the retailers. These are the rules we follow and recommend:

  • Public, logged-out data only. No account logins, no member areas, no checkout pages.
  • Respect terms and robots.txt. Review each site's terms of use and robots.txt before starting, and follow them.
  • Polite rate limits. Spread requests over time, cache results and avoid peak-hour load.
  • No personal data. Do not collect reviewer names or profiles; keep ratings and review text at aggregate level where possible.
  • No security workarounds. Never bypass CAPTCHAs, paywalls or access controls.
  • Postcode use with care. If a public page asks for a postcode to show local range, use a generic business postcode and record it – do not book or hold delivery slots.

This is general guidance, not legal advice. Check with your own legal team for your specific use.

Build vs buy: choosing a data approach

Factor Build in-house Use a managed provider
Set-up time Weeks per chain for parsers and QA Faster start using existing pipelines
Maintenance Your team fixes breaks when sites change Provider monitors and repairs
Product matching You build EAN and fuzzy matching Matching and review often included
Loyalty price handling You design the schema Agreed schema with separate price columns
Cost profile Engineering time and infrastructure Subscription or per-feed pricing
Best for Teams with scraping engineers and one or two chains Teams needing daily feeds across many chains

Food Data Scrape delivers daily or weekly UK grocery feeds as CSV, JSON or API. Ocado product data is usually the first feed teams ask for, given Ocado's growth. Our Waitrose grocery data API page lists the delivery options, and coverage can extend to Tesco, Sainsbury's and Asda for a full market view. for any coverage counts before publishing.

Get a free sample dataset – see matched Ocado, Morrisons and Waitrose product data with shelf prices, unit prices and loyalty prices in one file.

Questions

Frequently Asked Questions

Public Ocado pages usually show product name, brand, pack size, price, unit price, offers, ingredients, nutrition, allergens and ratings. Exact fields vary by product, so check a sample first.

Only where they are displayed publicly to logged-out visitors. We store them in a separate loyalty-price column with the badge text, and never log in to member accounts.

By EAN where it is public, then by normalised brand, size and variant. Own-label items are grouped by category, size and price tier, with low-confidence matches reviewed by people.

No. Sales volumes are not public. We offer public proxies instead, such as review counts, ratings, bestseller badges, search rank and stock status.

Daily is common for prices and promotions; weekly often suits nutrition and range data. The right cadence depends on your use case and on polite rate limits.

Collecting public, non-personal product data is common, but you must follow each site's terms, robots.txt and UK law. Take legal advice for your specific use.

Get a Free Food Data Sample

Get a Free Food Data Sample in 48 Hours.

Tell us your platforms, target markets and required fields — we'll map exactly what's possible with food data scraping, recommend the right approach, and send a working sample so you can verify quality before any commitment.

✓Free pilot — 1,000 records, no credit card
✓48-72 hour sample turnaround
✓GDPR-aligned · public data only · NDA on request
✓5★ rated on Clutch, GoodFirms & Trustpilot
Singapore Office
60 Paya Lebar Rd, #11-22
Paya Lebar Square
Singapore 409051
India Office
202, Nr. Indraprastha Business Park
Makarba, Ahmedabad
Gujarat 380051

Request a strategy call

+1 ▼

Thanks — our data team will reach out within 48 hours with your sample.