↑ ↓ to move ↵ to open
Waitrose API · Endpoint

Waitrose Offers API

Browse products and offers in the public Waitrose promotions collection with published price and deal information.

  • 8 credits per call
  • Failed calls are free
  • Updated
  • waitrose.promotions.list
Response completed
{  "next_offset": null,  "offset": 0,  "returned": 1,  "total_products": 1,  "items": [    {      "name": "Waitrose & Partners Food magazine",      "available": null,      "brand": "Waitrose Ltd",      "gtin": null,      "image": "https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_065244_BP_9.jpg",      "pack_size": "Each",      "rating_average": 4.2802,      "rating_count": 1142,      "retailer_product_id": "065244-33064-33065",      "url": "https://www.waitrose.com/ecom/products/waitrose-partners-food-magazine/065244-33064-33065",      "price": {        "amount": 5,        "currency": "GBP"      },      "unit_price": {        "amount": 5,        "currency": "GBP",        "unit": "each"      },      "member_prices": [        {          "promotion_id": "-900108360",          "scheme": "mywaitrose",          "price": {            "amount": 0,            "currency": "GBP"          }        }      ],      "promotions": [        {          "buy_quantity": null,          "description": "MW Free Food Magazine",          "end": "2029-01-30",          "for_price": null,          "id": "-900108360",          "start": null,          "type": "member"        }      ]    }  ]}
Try it live, free
Input

What you send

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

FieldTypeRequiredWhat it doesExample
collection string no Allowed values: all, half_price, save_third, percentage_off, multibuy, mywaitrose. mywaitrose
offset integer no Zero-based number of results to skip. From 0 to 10000.
Response

Fields it returns

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

FieldTypeExample
items[].name string Waitrose & Partners Food magazine
items[].member_prices[].price object 2 fields
items[].price object 2 fields
items[].available null null
items[].brand string Waitrose Ltd
items[].gtin null null
items[].image string https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_06…
items[].member_prices array 1 records
items[].member_prices[].promotion_id string -900108360
items[].member_prices[].scheme string mywaitrose
items[].pack_size string Each
items[].price.amount integer 5
items[].price.currency string GBP
items[].promotions array 1 records
items[].promotions[].buy_quantity null null
items[].promotions[].description string MW Free Food Magazine
items[].promotions[].end string 2029-01-30
items[].promotions[].for_price null null
items[].promotions[].id string -900108360
items[].promotions[].start null null
items[].promotions[].type string member
items[].rating_average number 4.28
items[].rating_count integer 1142
items[].retailer_product_id string 065244-33064-33065
items[].unit_price object 3 fields
items[].unit_price.amount integer 5
items[].unit_price.currency string GBP
items[].unit_price.unit string each
items[].url string https://www.waitrose.com/ecom/products/waitrose-partners-food-m…
items array 1 records
next_offset null null
offset integer 0
returned integer 1
total_products integer 1
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.promotions.list",  "input": {    "collection": "mywaitrose"  }}'
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 offers for collection "mywaitrose". 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 Offers 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 Offers API cost?

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

What do I send?

Every input is optional; the input fields below list what each one does.

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.promotions.list, 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.