↑ ↓ to move ↵ to open
Commerce & delivery · REST API · MCP server

Morrisons API

Get Morrisons grocery prices, unit prices, offers, ratings, categories and store details as clean JSON. Search by keyword, read one product or an offer, or list stores.

  • 1 credit per call
  • Failed calls are free
  • Updated
morrisons.products.search 50 rows completed
# Name Brand Price Unit price Rating Ratings Available Product ID Product id Url
1 Morrisons Whole British Milk 4 Pints Morrisons 1.65 72.6 3.4 41 true 103103141 3ec356e2-e29b-47c6-a405-3729d743d77d https://groceries.morrisons.com/products/morrisons-whole-britis…
2 Morrisons British Whole Milk 4 Pint Morrisons 1.65 72.6 2.9 11 true 113239405 1527fe28-f343-4328-a2bf-f6abd9e068a4 https://groceries.morrisons.com/products/morrisons-british-whol…
3 Morrisons British Whole Milk 2 Pint Morrisons 1.20 1.06 3.4 5 true 103143451 be536963-9603-4476-8f14-e2eaa0282e8e https://groceries.morrisons.com/products/morrisons-british-whol…
4 Morrisons British Whole Milk 2 Pint Morrisons 1.20 1.06 4 4 true 113240377 8701fb36-18d7-461d-b167-415a3b51b94e https://groceries.morrisons.com/products/morrisons-british-whol…
5 Morrisons Long Life British Whole Milk Morrisons 6.00 1.00 4.8 8 true 103113892 cb84116a-abaa-4f3e-adf2-517487783dc1 https://groceries.morrisons.com/products/morrisons-long-life-br…
6 Morrisons Whole British Milk 1 Pint Morrisons 0.85 1.50 0 0 true 114155772 c02b0e02-b9c2-47ba-bb60-126f6c71a6a3 https://groceries.morrisons.com/products/morrisons-whole-britis…
7 Cravendale Filtered Fresh Whole Milk Fresher for Longer 2L Cravendale 2.65 1.33 4.8 123 true 103050730 4de05f8c-cbb5-40cb-a807-9d41db58d0c5 https://groceries.morrisons.com/products/cravendale-filtered-fr…
8 Morrisons British Whole Milk 6 Pint Morrisons 2.40 70.4 3.7 9 true 113239430 11ffe63b-6d78-42af-b9d8-05431cfb02ef https://groceries.morrisons.com/products/morrisons-british-whol…
9 Morrisons British Whole Milk 6 Pints Morrisons 2.40 70.4 4.1 17 true 103042852 a3caaded-4b21-4636-ba5e-9508d6cb0960 https://groceries.morrisons.com/products/morrisons-british-whol…
10 Morrisons Scottish Whole Milk 2 Pint Morrisons 1.20 1.06 0 0 true 103143514 c7dbd3e8-8a8e-4b43-9c68-bc84c2e4b838 https://groceries.morrisons.com/products/morrisons-scottish-who…
Endpoints

Morrisons API endpoints

What each one takes and what it returns. Open one for a real response, every input and every field.

Morrisons Products Search API

Search Morrisons Groceries by keyword.

Sendquery Returnsnamebrandpriceratingavailableretailer_product_id
5 credits

Morrisons Product Detail API

Get one product from its ID or URL: current, original and unit price, availability, rating, offers and the product information sections.

Sendproduct_idorurl Returnsproduct
1 credit

Morrisons Promotion Detail API

Get an offer from its ID or URL, with the products in it.

Sendpromotion_idorurl Returnsnamebrandpriceratingavailableproduct_id
1 credit

Morrisons Category Products API

List the products in a Morrisons category, with price, offer, rating and availability.

Sendcategory_id Returnsnamepriceratingavailablebrandimage
3 credits

Morrisons Stores API

Search Morrisons stores by name, address, service or region: address, location, opening times, departments and services.

Sendqueryorregion Returnsnameregionstore_formatstore_typelocationaddress
1 credit

Morrisons Categories API

Get the full Morrisons Groceries category tree with category IDs.

Returnsnamebreadcrumbscategory_idchildrenproduct_countretailer_category_id
1 credit
Use cases

What teams build with Morrisons data

Pricing

What the Morrisons API costs

Every endpoint shows its price in credits before it runs. You buy credits once, with no subscription.

Credit packs
Know before you build

How Morrisons data behaves

REST API · MCP server

Call it from your code, or ask your agent

One request shape for every Morrisons endpoint: the endpoint ID and its input. No SDK needed.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "morrisons.products.search",  "input": {    "query": "whole milk"  }}'
Response
{  "page": {    "has_more": true,    "page": 1,    "returned": 50,    "total_products": 52  },  "items": [    {      "name": "Morrisons Whole British Milk 4 Pints",      "available": true,      "brand": "Morrisons",      "product_id": "3ec356e2-e29b-47c6-a405-3729d743d77d",      "retailer_product_id": "103103141",      "url": "https://groceries.morrisons.com/products/morrisons-whole-british-milk-4-pints/103103141",      "price": {        "current": {          "amount": "1.65",          "amount_numeric": 1.65,          "currency": "GBP"        },        "unit": {          "label": "fop.price.per.litre",          "current": {            "amount": "72.6",            "amount_numeric": 72.6,            "currency": "GBX"          }        }      },      "rating": {        "count": 41,        "overall": 3.4      }    },    {      "name": "Morrisons British Whole Milk 4 Pint",      "available": true,      "brand": "Morrisons",      "product_id": "1527fe28-f343-4328-a2bf-f6abd9e068a4",      "retailer_product_id": "113239405",      "url": "https://groceries.morrisons.com/products/morrisons-british-whole-milk-4-pint/113239405",      "price": {        "current": {          "amount": "1.65",          "amount_numeric": 1.65,          "currency": "GBP"        },        "unit": {          "label": "fop.price.per.litre",          "current": {            "amount": "72.6",            "amount_numeric": 72.6,            "currency": "GBX"          }        }      },      "rating": {        "count": 11,        "overall": 2.9      }    }  ]}
In your AI agent Claude · Cursor · any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Using Upscrape, search Morrisons for whole milk and make a table of name, brand, price and price per litre, cheapest per litre first.

With Upscrape, open Morrisons product 113113589 and tell me its price, what it was before, the price per kg, its rating and the offer on it.

Use Upscrape to open Morrisons offer 1010595828 and list what is in it, what it costs and when it ends.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Commerce & delivery
Questions

Morrisons API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
Is there an official Morrisons API?

Morrisons does not offer a public API for its grocery prices. Upscrape reads the public Morrisons Groceries site and returns the data as JSON.

Do I need a Morrisons account?

No. You send a keyword, a product, an offer or a region and get JSON back. Nothing runs on an account.

What data can I get from Morrisons?

Products search, product detail, promotion detail, category products, stores, categories and suggestions list search. Each is its own endpoint with a published input schema, and the response is JSON.

How much does the Morrisons API cost?

Morrisons endpoints cost from 1 credit per successful call, each priced before it runs. You buy credits once, with no subscription, and paid credits never expire. New accounts get free credits to try it.

Can an AI agent use the Morrisons API?

Yes. Connect any MCP client to the Upscrape MCP server with OAuth or an API key. The agent finds the Morrisons endpoint, checks its price and runs it with the same credits as the REST API.

Is it legal to scrape Morrisons?

Upscrape reads public pages only and needs no login. How you use the data is yours to decide under the laws that apply to you; we sign a data processing agreement for your legal review.

What happens when Morrisons changes its pages?

We fix the endpoint. Your request and the response fields stay the same.

Get started

Your first Morrisons call is free.

Up to 100 free credits to start, no card needed.