↑ ↓ to move ↵ to open
Ocado API · Endpoint

Ocado Category Products API

List products from a Ocado grocery category with published prices and supported listing continuation.

  • 8 credits per call
  • Failed calls are free
  • Updated
  • ocado.category.products.list
Response completed
{  "returned": 1,  "total_products": 290,  "items": [    {      "name": "Dell'Ugo Fresh Spinach Gnocchi",      "available": true,      "brand": "Dell' Ugo",      "gtin": null,      "image": "https://www.ocado.com/images-v3/eafa5127-d256-497b-9609-4869092accd6/56bddbc2-2e41-495f-8ac2-6d2f4e7ca0db/300x300.jpg",      "pack_size": "450g",      "retailer_product_id": "317265011",      "url": "https://www.ocado.com/products/dell-ugo-fresh-spinach-gnocchi/317265011",      "price": {        "amount": 3.3,        "currency": "GBP"      },      "unit_price": {        "amount": 7.33,        "currency": "GBP",        "unit": "per_kg"      },      "member_prices": [],      "promotions": [        {          "buy_quantity": 2,          "description": "Buy 1, add 2nd Half Price.",          "end": null,          "for_price": null,          "id": "e7c87595-a75d-4fa5-b635-2b68853826e5",          "start": null,          "type": "multibuy"        }      ]    }  ]}
Try it live, free
Input

What you send

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

FieldTypeRequiredWhat it doesExample
category_id string yes Category identifier. 01f3d930-813f-4038-983b-51bfcc7cb44e
page integer no Legacy first-page selector; use page_token for continuation. From 1 to 1.
page_token string no
Response

Fields it returns

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

FieldTypeExample
items[].name string Dell'Ugo Fresh Spinach Gnocchi
items[].price object 2 fields
items[].available boolean true
items[].brand string Dell' Ugo
items[].gtin null null
items[].image string https://www.ocado.com/images-v3/eafa5127-d256-497b-9609-4869092…
items[].member_prices array empty in this sample
items[].pack_size string 450g
items[].price.amount number 3.3
items[].price.currency string GBP
items[].promotions array 1 records
items[].promotions[].buy_quantity integer 2
items[].promotions[].description string Buy 1, add 2nd Half Price.
items[].promotions[].end null null
items[].promotions[].for_price null null
items[].promotions[].id string e7c87595-a75d-4fa5-b635-2b68853826e5
items[].promotions[].start null null
items[].promotions[].type string multibuy
items[].retailer_product_id string 317265011
items[].unit_price object 3 fields
items[].unit_price.amount number 7.33
items[].unit_price.currency string GBP
items[].unit_price.unit string per_kg
items[].url string https://www.ocado.com/products/dell-ugo-fresh-spinach-gnocchi/3…
items array 1 records
returned integer 1
total_products integer 290
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.category.products.list",  "input": {    "category_id": "01f3d930-813f-4038-983b-51bfcc7cb44e"  }}'
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 category products for category id "01f3d930-813f-4038-983b-51bfcc7cb44e". 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 Category Products 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 Category Products API cost?

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

What do I send?

Send category_id. 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.category.products.list, 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.