↑ ↓ to move ↵ to open
Morrisons API · Endpoint

Morrisons Products Search API

Search Morrisons Groceries by keyword. Each product has its name, brand, price, unit price, rating and availability.

  • 5 credits per call
  • Failed calls are free
  • Updated
  • morrisons.products.search
Response completed
{  "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      }    }  ]}
Try it live, free
Input

What you send

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

FieldTypeRequiredWhat it doesExample
query string yes What to search for, such as whole milk. whole milk
Response

Fields it returns

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

FieldTypeWhat it isExample
items[].name string The name as Morrisons shows it. Morrisons Whole British Milk 4 Pints
items[].brand string The product's brand. Morrisons
items[].rating.overall number The average star rating. 3.4
items[].rating.count integer How many ratings the product has. 41
items[].available boolean Whether the product can be ordered now. true
items[].retailer_product_id string Morrisons' shop number for the product. 103103141
items[].price object The product's price. 2 fields
items[].rating object The product's rating. 2 fields
items[].price.current object The price now, with its currency. 3 fields
items[].price.unit object The price per unit, such as per kilogram. 2 fields
items[].product_id string Morrisons' ID for the product; the product endpoint takes it. 3ec356e2-e29b-47c6-a405-3729d743d77d
items[].url string The page on Morrisons' site. https://groceries.morrisons.com/products/morrisons-whole-britis…
items array The products. 50 records
page object Paging for this response. 4 fields
page.has_more boolean Whether another page follows. true
page.page integer Paging for this response. 1
page.returned integer How many entries this page holds. 50
page.total_products integer How many products match. 52
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.products.search",  "input": {    "query": "whole milk"  }}'
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.

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 Products Search 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 Products Search API cost?

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

What do I send?

Send query. 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.products.search, 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.