waitrose.com APIwaitrose.com ↗
Search Waitrose grocery products, retrieve detailed product data including ingredients, nutrition, pricing, and promotions via 3 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/19106a7a-0ebc-433a-8edc-8a83f701917d/search_products' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products on Waitrose by keyword. Returns paginated results with product name, price, brand, size, reviews, categories, and promotion info.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| size | integer | Number of results per page. |
| queryrequired | string | Search term for finding products (e.g. 'coffee', 'milk', 'organic bread'). |
{
"type": "object",
"fields": {
"page": "integer",
"size": "integer",
"query": "string",
"products": "array of product summaries with id, line_number, name, brand, size, price, price_per_unit, thumbnail, reviews, categories, promotions, sponsored",
"total_results": "integer"
},
"sample": {
"page": 1,
"size": 3,
"query": "milk",
"products": [
{
"id": "025513-12430-12431",
"name": "Cravendale Filtered Fresher for Longer Whole Milk",
"size": "2litre",
"brand": "Cravendale",
"price": "£2.90",
"reviews": {
"reviewCount": 274,
"averageRating": 4.7336
},
"sponsored": true,
"thumbnail": "https://ecom-su-static-prod.wtrecom.com/images/products/9/LN_025513_BP_9.jpg",
"categories": [
{
"id": "10051",
"name": "Groceries"
},
{
"id": "301134",
"name": "Fresh & Chilled"
}
],
"promotions": [
95572
],
"line_number": "025513",
"price_per_unit": "£1.45/litre"
}
],
"total_results": 501
}
}About the waitrose.com API
The Waitrose API gives developers access to Waitrose & Partners' online grocery catalog through 3 endpoints covering product search, full product detail, and search autocomplete. The search_products endpoint returns paginated results with fields including brand, size, price, price per unit, thumbnail URLs, review scores, categories, and active promotion data — everything needed to browse or compare grocery items programmatically.
Endpoints and Data Coverage
The API exposes three endpoints. search_products accepts a query string along with optional page and size parameters for pagination and returns a list of product summaries. Each summary includes id, line_number, name, brand, size, price, price_per_unit, thumbnail, reviews (average rating and review count), categories, and any active promotions. total_results is returned alongside the current page and size so you can implement full pagination.
Full Product Detail
get_product takes a product_id in the format lineNumber-sku1-sku2 (obtainable from search_products results) and returns the complete record for a single item. Response fields include name, brand, size, price, summary, bar_codes, a reviews object, a weights object with unit-of-measure and price qualifier context, and an images object with four resolution tiers (extraLarge, large, medium, small). This endpoint is the right call when you need packaging or storage context not present in the search summary.
Search Suggestions
suggest_terms accepts a term prefix and returns up to 10 autocomplete suggestions as an array of strings, plus a search_engine identifier. This is useful for building typeahead search interfaces or for discovering how Waitrose's catalog organizes terminology before running a full search_products call.
Scope Notes
All three endpoints reflect the Waitrose online grocery catalog. Product IDs returned by search_products map directly into get_product, so the two endpoints are designed to be used together: search broadly, then fetch detail records for the items you need.
- Compare unit prices (
price_per_unit) across competing grocery products in the same category - Track active promotions on specific products over time using data from
search_products - Build a barcode lookup tool using
bar_codesfields fromget_product - Power a typeahead search widget in a meal-planning app using
suggest_terms - Aggregate review ratings across a product range using
averageRatingandreviewCount - Extract multi-resolution product imagery from the
imagesobject for a recipe or shopping app - Monitor price changes across a set of product IDs by polling
get_producton a schedule
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Waitrose offer an official public developer API?+
What does the `get_product` endpoint return beyond what `search_products` provides?+
get_product adds fields not present in search summaries: summary (a text description of the item), bar_codes (an array of barcode strings), the full images object with four resolution URLs, and a weights object containing unit-of-measure and price qualifier details. It does not currently include structured ingredient lists or nutritional tables as discrete fields, though the summary field may contain descriptive text.How does pagination work in `search_products`?+
page (1-based integer) and size (results per page) as optional parameters. The response echoes back page, size, and total_results, so you can calculate the total number of pages. If page and size are omitted, the API returns a default page of results.Does the API cover Waitrose store availability or click-and-collect slot data?+
Are ingredients and nutritional information available as structured fields?+
get_product response includes a summary field and contextual weights data, but ingredients and nutritional breakdowns are not returned as separate parseable objects. You can fork this API on Parse and revise it to add a dedicated nutritional-data endpoint.