↑ ↓ to move ↵ to open
Ocado API · Endpoint

Ocado Product Detail API

Refresh a Ocado product by its ID or official URL with published shelf prices, unit prices and offers.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • ocado.product.detail.get
Response completed
{  "product": {    "name": "Arla BOB Semi-Skimmed Milk that Tastes like Whole",    "available": true,    "brand": "Arla",    "gtin": null,    "image": "https://www.ocado.com/images-v3/eafa5127-d256-497b-9609-4869092accd6/eeab8dca-610d-4f2f-8e42-31e353192a13/300x300.jpg",    "pack_size": "2L",    "retailer_product_id": "606356011",    "url": "https://www.ocado.com/products/arla-bob-semi-skimmed-milk-that-tastes-like-whole/606356011",    "price": {      "amount": 2.5,      "currency": "GBP"    },    "unit_price": {      "amount": 1.25,      "currency": "GBP",      "unit": "per_litre"    },    "member_prices": [],    "promotions": [      {        "buy_quantity": 2,        "description": "Buy any 2 for £4",        "end": "2026-10-06",        "id": "706e4ca7-e9da-4100-82b5-75107fa08a98",        "start": null,        "type": "multibuy",        "for_price": {          "amount": 4,          "currency": "GBP"        }      }    ]  }}
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 Product identifier. 606356011
url string one of Official Ocado product URL.
Response

Fields it returns

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

FieldTypeExample
product.promotions[].buy_quantity integer 2
product.promotions[].description string Buy any 2 for £4
product.promotions[].end string 2026-10-06
product.promotions[].for_price object 2 fields
product.promotions[].id string 706e4ca7-e9da-4100-82b5-75107fa08a98
product.promotions[].start null null
product.promotions[].type string multibuy
product object 12 fields
product.available boolean true
product.brand string Arla
product.gtin null null
product.image string https://www.ocado.com/images-v3/eafa5127-d256-497b-9609-4869092…
product.member_prices array empty in this sample
product.name string Arla BOB Semi-Skimmed Milk that Tastes like Whole
product.pack_size string 2L
product.price object 2 fields
product.price.amount number 2.5
product.price.currency string GBP
product.promotions array 1 records
product.retailer_product_id string 606356011
product.unit_price object 3 fields
product.unit_price.amount number 1.25
product.unit_price.currency string GBP
product.unit_price.unit string per_litre
product.url string https://www.ocado.com/products/arla-bob-semi-skimmed-milk-that-…
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": "ocado.product.detail.get",  "input": {    "product_id": "606356011"  }}'
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, get the Ocado product detail for product id "606356011". Tell me what it costs before you run it, then show the results as a table.

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

More from the Ocado API

Same data, other platforms

The same data from other platforms

Questions

Ocado 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 Ocado 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 an Ocado login?

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

Can my AI agent call it?

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

Get started

Your first Ocado call is free.

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