↑ ↓ to move ↵ to open
Waitrose API · Endpoint

Waitrose Products Search API

Search Waitrose groceries by keyword with published prices, pack sizes and ranked product results.

  • 8 credits per call
  • Failed calls are free
  • Updated
  • waitrose.products.search
Response completed
{  "next_offset": null,  "returned": 1,  "total_products": 16,  "items": [    {      "name": "SuperNutrio High Protein Fresh Semi Skimmed Cow's Milk",      "available": null,      "brand": "SuperNutrio",      "gtin": null,      "image": "https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_996909_BP_9.jpg",      "pack_size": "1litre",      "rating_average": 5,      "rating_count": 2,      "retailer_product_id": "996909-1-2",      "url": "https://www.waitrose.com/ecom/products/supernutrio-high-protein-fresh-semi-skimmed-cows-milk/996909-1-2",      "price": {        "amount": 2.6,        "currency": "GBP"      },      "unit_price": {        "amount": 2.6,        "currency": "GBP",        "unit": "per_litre"      },      "member_prices": [],      "promotions": []    }  ]}
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 Search query. semi skimmed milk
offset integer no Zero-based number of results to skip. From 0 to 10000. 15
Response

Fields it returns

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

FieldTypeExample
items[].name string SuperNutrio High Protein Fresh Semi Skimmed Cow's Milk
items[].price object 2 fields
items[].available null null
items[].brand string SuperNutrio
items[].gtin null null
items[].image string https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_99…
items[].member_prices array empty in this sample
items[].pack_size string 1litre
items[].price.amount number 2.6
items[].price.currency string GBP
items[].promotions array empty in this sample
items[].rating_average integer 5
items[].rating_count integer 2
items[].retailer_product_id string 996909-1-2
items[].unit_price object 3 fields
items[].unit_price.amount number 2.6
items[].unit_price.currency string GBP
items[].unit_price.unit string per_litre
items[].url string https://www.waitrose.com/ecom/products/supernutrio-high-protein…
items array 1 records
next_offset null null
returned integer 1
total_products integer 16
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": "waitrose.products.search",  "input": {    "offset": 15,    "query": "semi skimmed 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

With Upscrape, get the Waitrose products search for query "semi skimmed milk". 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.
Waitrose

More from the Waitrose API

Same data, other platforms

The same data from other platforms

Questions

Waitrose 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 Waitrose Products Search 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 query. The input fields below list every option with its type and limits.

Do I need a Waitrose login?

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

Can my AI agent call it?

Yes, over MCP: the agent finds waitrose.products.search, checks its price and runs it with the same credits as the REST API.

Get started

Your first Waitrose call is free.

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