Waitrose UK Grocery Scraper
Pricing
from $3.00 / 1,000 product results
Go to Apify Store
Waitrose UK Grocery Scraper
Scrapes product listings from waitrose.com — returns names, prices, unit prices, sizes, and product URLs for any search query.
Pricing
from $3.00 / 1,000 product results
Rating
0.0
(0)
Developer
Siddhant Mehta
Maintained by Community
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape product listings from waitrose.com by search query. Returns structured data for every product found — including name, price, unit price, size, product ID, offer status, and direct product URL.
Features
- Search for any product by keyword (e.g. "beans", "free range eggs", "olive oil")
- Multiple queries in a single run
- Extracts item prices and per-unit pricing (handles both £/unit and pence/unit formats)
- Detects promotions and offer badges
- Captures Waitrose product IDs for direct API lookups
- Normalises size formats (e.g. "2.272litre" becomes "2.272 litre")
- Configurable result limit per query
Input
| Field | Type | Description | Default |
|---|---|---|---|
queries | string[] | List of search queries | required |
maxResultsPerQuery | integer | Max products per query (1–100) | 20 |
Example input
{"queries": ["baked beans", "sourdough bread", "semi skimmed milk"],"maxResultsPerQuery": 10}
Output
Each result in the dataset contains:
| Field | Type | Description |
|---|---|---|
store | string | Always "waitrose" |
query | string | The search query that produced this result |
name | string | Product name |
productId | string | Waitrose product ID (from URL) |
price | number | Current price in GBP |
unitPrice | number | Price per unit (e.g. per kg, per litre) |
unitPriceMeasure | string | Unit measure (e.g. "per kg", "per litre") |
unitSize | string | Product size (e.g. "420 g", "2.272 litre") |
onOffer | boolean | Whether the product is currently on promotion |
offerDescription | string | Offer details if on promotion |
imageUrl | string | Product image URL |
productUrl | string | Direct link to product page on waitrose.com |
scrapedAt | string | ISO 8601 timestamp |
Example output
{"store": "waitrose","query": "beans","name": "Essential Baked Beans in Tomato Sauce","productId": "000-545872-7689","price": 1.90,"unitPrice": 1.13,"unitPriceMeasure": "per kg","unitSize": "420 g","onOffer": false,"offerDescription": null,"imageUrl": "https://ecom-su-static-prod.wtrecom.com/images/products/3/LN_545872_BP_3.jpg","productUrl": "https://www.waitrose.com/ecom/products/essential-baked-beans-in-tomato-sauce/000-545872-7689","scrapedAt": "2026-03-27T23:38:00.000Z"}
Use cases
- Price monitoring — track Waitrose prices over time and detect drops
- Basket comparison — compare grocery costs across UK supermarkets
- Premium vs budget analysis — compare Waitrose own-brand (Essential, No.1, Duchy) against branded products
- Deal alerts — build notifications for promoted products
- Shopping apps — power product search and comparison features
Notes
- Waitrose uses CSS module class names with hashed suffixes (e.g.
productPod___FSa31) — selectors use prefix matching to handle this - No bot detection or login required
- CSS class hashes may change when Waitrose redeploys — if you notice missing data, please open an issue