Morrisons does not have a public product API. That is why most teams trying to scrape Morrisons products either pay £2000+ for a freelancer or wire up an Apify scraper that breaks within a few days.

What most don't know though, there is a third path called AI scraping. It reads the page like a human, so the same setup works on a Morrisons category, a brand listing, or a deals page, and survives the layout updates that kill traditional scrapers.

This guide walks through the full process: Why building a custom Morrisons product scraper is not worth your money, which Morrisons pages give the cleanest data, and a complete step-by-step using Datablist's AI Scraping Agent.

📌 Summary For Those In a Rush

This article shows how to scrape product data from Morrisons using Datablist's AI Scraping Agent.

Problem: Morrisons has no public product API, off-the-shelf scrapers break within weeks of every layout update, and a custom build costs £2000+ plus ongoing maintenance.

Solution: Use Datablist's AI Scraping Agent to scrape Morrisons products with plain English prompts and a single URL.

What You'll Learn:

  1. Why a custom Morrisons scraper is a money pit
  2. Which Morrisons pages return the cleanest data
  3. A 5-step process to scrape any Morrisons category in under 10 minutes

Why Datablist:

  1. AI scraping reads meaning, not HTML, so Morrisons layout updates do not break the run
  2. Pagination is handled automatically (up to 5,000 pages per run)
  3. No code, no API keys, just a Morrisons URL and a prompt

What This Guide Covers

Building a Custom Morrisons Scraper Is a Money Pit

If you have ever considered building your own Morrisons scraper, here are three reasons to reconsider before you spend a penny.

It Is Expensive

A stable Morrisons scraper is not a weekend project. Morrisons.com loads its product grid dynamically with JavaScript, paginates across hundreds of category pages, and updates its layout often enough that any rule-based scraper needs constant fixing.

This is what most teams try, and where each path falls apart:

  • Hire a freelance developer: £2000+ for the first build, plus ongoing fees every time Morrisons updates the grid
  • Buy a prebuilt Morrisons product scraper from Apify or GitHub: works on day one, breaks within a few weeks of the next layout change
  • Vibe-code a Puppeteer or Playwright script: Morrisons pagination, JavaScript rendering, and inconsistent product cards crack it open fast

If you only need a one-off snapshot, a freelancer might be fine. If you need fresh Morrisons data on a recurring basis (price monitoring, FMCG analysis, retail arbitrage), the maintenance cost compounds month after month.

How To Scrape Morrisons Products - Cost of Custom Scrapers
How To Scrape Morrisons Products - Cost of Custom Scrapers

It Is Slow To Build

Even with a strong developer, a clean Morrisons scraper takes weeks. They have to map every category page, handle the rendered HTML, write logic for paginated grids, and account for the cases where Morrisons returns "N/A" for sale prices or hides products behind age gates.

Datablist's AI Scraping Agent skips that entire build phase. You can paste a Morrisons URL and pull structured product data in under 10 minutes. No spec docs, no back-and-forth on edge cases, no waiting for v2.

How To Scrape Morrisons Products - Time to Build a Scraper
How To Scrape Morrisons Products - Time to Build a Scraper

It Breaks Constantly

This is the real cost… Morrisons updates its product grid often. Every time the team ships a new category template or moves the price element, your custom Morrisons scraper stops working.

That leaves two options: pay the developer again, or spend your own afternoon debugging.

AI scraping sidesteps this. Because the AI Agent reads page meaning instead of HTML structure, a price stays a price even after Morrisons changes the CSS class around it.

💡 The Core Difference

Traditional scrapers follow rules: "find the element with class .product-price and extract the text." AI scrapers follow meaning: "find the product price on this Morrisons page."

That is why the same setup that works on Morrisons today still works after Morrisons reorganises the grid next month, and why it transfers cleanly to Sainsbury's, Asda, and Tesco without per-site code.

How To Scrape Morrisons Products With Datablist's AI Agent

Before the step-by-step, let me briefly explain what the AI Scraping Agent actually is, which Morrisons pages give clean results, what data you can pull, and where the limits sit.

What Is Datablist's AI Scraping Agent?

Datablist is a workflow automation platform for building lead lists, enriching data, and running scraping workflows. Inside Datablist sit over 60 different sources and enrichments, and the AI Scraping Agent is the one you use to extract product data from a retailer's website.

The agent works by combining three things: A target URL, a prompt that describes what to extract, and a language model that reads the page the way you would.

For scraping Morrisons, you do not even need to write the prompt yourself. Datablist comes with a Retail Product Scraper template that pre-loads the prompt and the output columns. You paste a Morrisons URL, the template handles the rest.

Three things specifically about how the agent handles Morrisons:

  • OpenAI GPT 4.1 mini by default, the best price-to-performance LLM for AI scraping
  • Render HTML support, mandatory for Morrisons since the product grid loads via JavaScript
  • Automatic pagination across up to 5,000 pages per run

This is also why the setup transfers without modification to other UK supermarkets. The same agent, same template, and same settings work on Sainsbury's, Asda, and Tesco. Only the URL changes.

The Most Important Rule: Brand And Category Pages Only

Always scrape Morrisons category or brand pages, never the homepage or an "all products" view. Big lists overflow the AI Agent's context window, the run stops mid-way with no way to resume, and the credits are wasted.

What the AI Agent handles cleanly on Morrisons:

  • ✅ Category pages on morrisons.com//...
  • ✅ Brand pages (specific manufacturer listings)
  • ✅ Deals or offers pages

What to avoid:

  • ❌ The Morrisons homepage
  • ❌ "All products" or full-site search results
  • ❌ Anything that loads thousands of items into one infinite scroll

What Data You Can Pull From Morrisons

A single Morrisons run can extract every product data point you need for price monitoring, competitive research, or data enrichment into an existing catalog:

  • Product Name: full product title as displayed on the Morrisons website
  • Product URL: direct link to the product page on morrisons.com
  • Brand Name: the manufacturer behind the product
  • Price: current GBP price, including the £ symbol
  • Sale Price: discounted price if a Morrisons promotion is active, "N/A" if no offer is running
  • Product Category: the aisle or department the product sits in
  • Availability: in stock, out of stock, or limited
  • Rating: customer rating where Morrisons shows it
  • Image URL: direct link to the main product image
  • SKU: the internal Morrisons product ID

Pick the outputs you actually want before the run, so the export only contains the columns you'll use.

Scraping Morrisons: The Step-by-Step

The full Morrisons scraping setup takes 5 steps. Before starting, make sure you have:

  1. A Morrisons category or brand URL (not the homepage)
  2. A rough idea of which product fields you actually need

Step 1: Sign Up And Create a Collection

First, sign up for Datablist.com.

How To Scrape Morrisons Products - Datablist Homepage
How To Scrape Morrisons Products - Datablist Homepage

Then, create a New Collection.

How To Scrape Morrisons Products - New Collection
How To Scrape Morrisons Products - New Collection

Step 2: Navigate To The AI Scraping Agent

  1. Click on See all sources
How To Scrape Morrisons Products - See All Sources
How To Scrape Morrisons Products - See All Sources
  1. Scroll down, and select AI Scraping Agent (Site Scraper).
How To Scrape Morrisons Products - AI Agent Selection
How To Scrape Morrisons Products - AI Agent Selection

You should now see the source configuration interface, which looks like this:

How To Scrape Morrisons Products - Source Settings
How To Scrape Morrisons Products - Source Settings

Step 3: Select The Retail Product Scraper Template And Paste a Morrisons URL

  1. Click on the Template Drop-Down and select "Retail Product Scraper"
How To Scrape Morrisons Products - Template Selection
How To Scrape Morrisons Products - Template Selection
  1. Paste your Morrisons category URL into the URL field, e.g.

https://groceries.morrisons.com/browse/fresh-176716

How To Scrape Morrisons Products - URL Configuration
How To Scrape Morrisons Products - URL Configuration

❗️ Brand And Category Pages Only (Reminder)

Never paste the Morrisons homepage or an "all products" URL. Big lists blow past the AI Agent's context window. Scrape Morrisons one category at a time.

  1. Set the number of pages to scrape (Morrisons typically displays around 36 products per page, so a 200-product category needs roughly 3 to 4 pages)
How To Scrape Morrisons Products - Pagination Settings
How To Scrape Morrisons Products - Pagination Settings
  1. Scroll down and click on Continue
How To Scrape Morrisons Products - Advanced Settings
How To Scrape Morrisons Products - Advanced Settings

💡 Check Your Advanced Settings Before Clicking Continue

Make sure these are enabled:

  1. LLM: OpenAI GPT 4.1 mini (best performance-to-price ratio)
  2. Max Iterations: 10
  3. Website Scraper Option: Render HTML (critical for Morrisons, since the site loads its product grid dynamically with JavaScript)

Step 4: Configure Outputs

Datablist creates the output properties automatically.

Click the X Icons to drop any outputs you do not need (e.g. remove Rating if you are only doing Morrisons price scraping).

How To Scrape Morrisons Products - Outputs Configuration
How To Scrape Morrisons Products - Outputs Configuration

Step 5: Run

Once your outputs are set, click on Run Import Now to start the Morrisons scrape.

How To Scrape Morrisons Products - Run Import
How To Scrape Morrisons Products - Run Import

After a few minutes, your Morrisons results will look like this. From here, Datablist's workflow automation features can clean, dedupe, and export the data.

How To Scrape Morrisons Products - Results Overview
How To Scrape Morrisons Products - Results Overview

💡 Avoid Duplicates on Repeat Morrisons Runs

If you plan to scrape the same Morrisons category again later:

  1. Pick a unique identifier column (Product URL works best)
  2. Click the column header → Rename - Settings - Delete
  3. Check: Do not allow duplicate values
  4. Save Property

If you also pull data from Sainsbury's, Asda, and Tesco into the same file, our guide on removing duplicates from CSV files covers cross-retailer dedupe.

Datablist's AI Agent Also Scrapes Other Retailer Websites

The Morrisons setup is not Morrisons-specific. The same AI Scraping Agent and the same Retail Product Scraper template work on every UK supermarket we have tried. Only the URL changes.

If you also pull product data from a similar retailer, check the step-by-step guides below:

  1. Scrape products from Sainsbury's 👈🏽
  2. Scrape products from Asda 👈🏽
  3. Scrape products from Tesco 👈🏽

Your Key Takeaways

  1. A custom Morrisons product scraper is a money pit. Build cost lands at £2000+, ongoing maintenance is on top, and Morrisons layout updates will break it on a regular cadence.
  2. AI scraping reads meaning, not HTML. That is why the same setup keeps scraping Morrisons products even after the grid changes, and why it transfers to Sainsbury's, Asda, and Tesco without per-site code.
  3. Always scrape brand or category pages, never the homepage. Big lists blow past the agent's context window and waste the run.
  4. The full setup takes under 5 minutes. Template, URL, outputs, run.

Frequently Asked Questions About Scraping Morrisons

How Much Does It Cost To Scrape Morrisons Products?

Datablist's AI Agent works based on a usage-based credit system. Cost per Morrisons run depends on how many products and pages the agent processes. Datablist plans start at $25/month with 5,000 free credits included, and top-up packs start at $20 for 20,000 credits with bulk discounts up to 35% on larger packages.

How Long Does It Take To Scrape The Full Morrisons Catalog?

Most Morrisons category pages with 50 to 200 products are scraped in 5 to 10 minutes. Larger runs across multiple paginated categories (500+ products) can take 10 to 20 minutes. First-time setup adds 2 to 3 minutes.

Why Should I Scrape a Morrisons Category Page Instead of "All Products"?

A Morrisons "all products" view loads thousands of items into one rendered page. That blows past the AI Agent's context window, the agent stops mid-run, and there is no resume option, so the partial run is wasted. Category and brand pages stay inside the safe range, scrape cleanly, and merge into one collection later if you need full coverage.

Can I Scrape Morrisons Sale Prices and Promotions?

Yes. The Retail Product Scraper template includes a Sale Price output. When a Morrisons promotion is active, the discounted price comes through. When no offer is running, the column returns "N/A", which is actually useful for filtering by promotion status across categories.

Scraping publicly visible Morrisons product data (names, prices, availability) is generally lawful in the UK under the same principles that apply to any public web data. You should still review Morrisons' terms of service, avoid scraping personal data, and stay within reasonable request volumes. For commercial use, run it past your legal team.

Does Morrisons Block Scrapers?

Morrisons' anti-bot protections are typically mild for a public retailer site. Most Morrisons runs through Datablist succeed on the first attempt, especially when Render HTML is enabled. If a category page does not return data, lower the page count and retry, or split the scrape across more specific subcategories.

Can I Schedule Repeat Scrapes for Morrisons Price Monitoring?

Yes. Datablist's workflow automation features let you set up recurring runs. Pair it with a unique identifier column (Product URL works best) and the duplicate-prevention setting, so each repeat Morrisons run only adds new products instead of duplicating the existing ones.

Can I Scrape Morrisons Without Coding Skills?

None needed. The whole flow is no-code: Select the Retail Product Scraper template, paste a Morrisons URL, choose your outputs, and hit run. If you can write a sentence, you can scrape Morrisons with Datablist.

What Morrisons Categories Work Best for Scraping?

Standard grocery categories on morrisons.com return the cleanest data: fresh, frozen, bakery, drinks, household. Brand pages also work well. Promo or "Last chance" pages can be slightly noisier because product cards mix formats, but the AI Agent still pulls usable data from them.

Can The AI Agent Handle Morrisons Pagination Automatically?

Yes. With Enable Pagination turned on, the AI Agent walks every page in the Morrisons category up to your configured limit (default 10, max 5,000). For a 240-product Morrisons category that displays 36 items per page, set pagination to 10 and the agent picks up the full list.

What Is AI Scraping?

AI scraping is a method of pulling structured data from websites using a language model instead of fixed HTML rules. The agent visits a page, reads the content, and returns the fields you asked for in plain English. That is exactly what makes it resilient on sites like Morrisons that update their layouts often.

What Is the Difference Between AI Scraping and Traditional Web Scraping?

Traditional scrapers follow fixed rules (CSS selectors, XPath). When the site changes, the rules break. AI scraping reads page meaning, so a Morrisons price stays a Morrisons price even after the markup changes. That is why the same Datablist setup works across Sainsbury's, Asda, and Tesco without per-site code.