↑ ↓ to move ↵ to open
Morrisons API · Endpoint

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.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • morrisons.product.detail.get
Response completed
{  "product": {    "name": "Lurpak Slightly Salted Spreadable Blend of Butter and Rapeseed Oil 400g",    "available": true,    "brand": "Lurpak",    "description": "To create Lurpak® Spreadable, we blend pure Lurpak® butter with rapeseed oil making it spreadable straight from the fridge.<br>Try it on yo…",    "retailer_product_id": "113113589",    "size": "400g",    "url": "https://groceries.morrisons.com/products/lurpak-slightly-salted-spreadable-blend-of-butter-and-rapeseed-oil-400g/113113589",    "price": {      "current": {        "amount": "3.00",        "amount_numeric": 3,        "currency": "GBP"      },      "original": {        "amount": "4.25",        "amount_numeric": 4.25,        "currency": "GBP"      },      "unit": {        "label": "fop.price.per.kg",        "current": {          "amount": "7.50",          "amount_numeric": 7.5,          "currency": "GBP"        },        "original": {          "amount": "10.63",          "amount_numeric": 10.63,          "currency": "GBP"        }      }    },    "rating": {      "count": 70,      "overall": 4.5    },    "details": [      {        "title": "Product Information",        "content": "To create Lurpak® Spreadable, we blend pure Lurpak® butter with rapeseed oil making it spreadable straight from the fridge.\nTry it on your …"      },      {        "title": "Country Of Origin",        "content": "Denmark"      }    ],    "promotions": [      {        "description": "Now £3, Was £4.25"      }    ]  }}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

FieldTypeRequiredWhat it doesExample
product_id string one of The Morrisons product number, such as 107573440. 113113589
url string one of The product's Morrisons page, as an alternative to the number.
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeWhat it isExample
product.details[].title string Product Information
product.details[].content string To create Lurpak® Spreadable, we blend pure Lurpak® butter with…
product object The product. 11 fields
product.name string The name as Morrisons shows it. Lurpak Slightly Salted Spreadable Blend of Butter and Rapeseed …
product.brand string The product's brand. Lurpak
product.size string The pack size. 400g
product.available boolean Whether the product can be ordered now. true
product.rating.overall number The average star rating. 4.5
product.rating.count integer How many ratings the product has. 70
product.description string The product description. To create Lurpak® Spreadable, we blend pure Lurpak® butter with…
product.details array The product information sections, such as ingredients. 15 records
product.price object The product's price. 3 fields
product.price.current object The price now, with its currency. 3 fields
product.price.original object The price before the offer. 3 fields
product.price.unit object The price per unit, such as per kilogram. 3 fields
product.promotions array The offers on the product. 1 records
product.promotions[].description string Now £3, Was £4.25
product.rating object The product's rating. 2 fields
product.retailer_product_id string Morrisons' shop number for the product. 113113589
product.url string The page on Morrisons' site. https://groceries.morrisons.com/products/lurpak-slightly-salted…
REST API · MCP server

Call it from your code, or ask your agent

Set UPSCRAPE_API_KEY to your key and copy a working request.

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.product.detail.get",  "input": {    "product_id": "113113589"  }}'
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

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.

The agent finds the endpoint, shows you the price, and runs it with your credits.
Morrisons

More from the Morrisons API

Same data, other platforms

The same data from other platforms

Questions

Morrisons Product Detail API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the Morrisons Product Detail API cost?

1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.

What do I send?

Send product_id or url. The input fields below list every option with its type and limits.

Do I need a Morrisons login?

No. It reads public Morrisons data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds morrisons.product.detail.get, checks its price and runs it with the same credits as the REST API.

Get started

Your first Morrisons call is free.

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