
Trolley Scraper
hipersoft/trolley-scraper
Compare UK grocery prices from trolley.co.uk: product, brand, size, rating, and the price at each supermarket (Tesco, Asda, Sainsbury's, Morrisons, Waitrose, Iceland, Aldi, Ocado…) with unit price, Clubcard/Nectar prices, cheapest store and price range. Export CSV/JSON.
Total users
2Monthly users
1Total runs
8Per product
$0.003Last rebuilt
Oct 26, 2026Overview
Trolley Scraper collects UK grocery prices from Trolley.co.uk, the price-comparison site for Tesco, Asda, Sainsbury's, Morrisons, Waitrose, Iceland, Aldi, Ocado, Co-op, Lidl and more. Search any product — milk, bread, beans, nappies, coffee, laundry detergent, soft drinks — and for each result get the product name, brand, size, image, rating and number of reviews, plus the price at every supermarket that sells it, the unit price (per 100 g / 100 ml / each), loyalty-card prices (Tesco Clubcard, Sainsbury's Nectar…), the cheapest store and the lowest and highest price. Export to CSV, Excel or JSON. Ideal for FMCG brands and retail analysts, price-monitoring and inflation tracking, deal and cashback sites, food-tech apps and household budgeting tools.
What does Trolley Scraper do?
- 🛒 UK supermarket prices side by side for each product.
- 🏪 All major chains: Tesco, Asda, Sainsbury's, Morrisons, Waitrose, Iceland, Ocado and more.
- 💳 Loyalty prices: Clubcard and Nectar prices where shown.
- ⚖️ Unit prices for fair comparison.
- 🥇 Cheapest store and price range per product.
- ⭐ Ratings and review counts.
- 🔎 Search terms or specific product links to track over time.
What data can you scrape?
| Field | Description |
|---|---|
| Product | SKU, title, brand, name, size, image, link |
| Ratings | Rating, review count |
| Summary prices | Lowest price, highest price, cheapest store, number of stores, unit price |
| Store prices* | Store, price, unit price, loyalty price and scheme, offer |
* With Prices at every supermarket turned on (default).
Use cases for UK grocery price data
- FMCG brands: monitor shelf prices and promotions of your products and competitors across retailers.
- Retail and inflation analysts: track basket prices week by week.
- Deal sites and apps: show the cheapest supermarket for any product.
- Budgeting tools: build smart shopping lists that pick the cheapest store.
How to scrape Trolley
- Click Try for free to open Trolley Scraper in Apify Console.
- Enter search terms or paste product links.
- Keep Prices at every supermarket on.
- Click Start and download the results as CSV, Excel or JSON. Schedule daily runs to build price history.
Input
Example input
{
"searchQueries": ["semi skimmed milk", "heinz baked beans"],
"includeStorePrices": true,
"maxItems": 200
}
| Field | Description |
|---|---|
| Search terms | Products to compare. |
| Product links | Specific products to track. |
| Prices at every supermarket | Per-store price table. |
| Max products | 0 = no limit. |
Output
Product example
{
"sku": "SOY634",
"title": "Graham's Gold Smooth Full Cream Jersey Milk (1 Litre)",
"brand": "Graham's",
"size": "1 Litre",
"rating": 4.4,
"reviewCount": 181,
"lowestPrice": 1.87,
"highestPrice": 2.05,
"cheapestStore": "Asda",
"storeCount": 5,
"unitPrice": "£0.19 per 100ml",
"stores": [
{ "store": "Asda", "price": 1.87, "unitPrice": "£0.19 per 100ml" },
{ "store": "Tesco", "price": 1.95, "unitPrice": "£0.20 per 100ml", "loyaltyPrice": 1.65, "loyaltyScheme": "CLUBCARD" }
],
"currency": "GBP"
}
Output schema
| Field | Type | Description |
|---|---|---|
sku, url, title, brand, name, size, imageUrl |
string | Product. |
rating, reviewCount |
number | Ratings. |
lowestPrice, highestPrice, cheapestStore, storeCount, unitPrice, currency |
mixed | Summary. |
stores |
array | Store, price, unit price, loyalty price/scheme, offer. |
search, scrapedAt |
string | Source info. |
How much does it cost?
Trolley Scraper uses pay-per-product pricing: a small fixed price per product (including all store prices), with automatic discounts on higher Apify plans. See the Pricing tab for the exact price.
More retail price data
- kaufDA Scraper: German supermarket offers.
- Aldi Australia Scraper: Aldi Australia products.
FAQ
How often are prices updated? Trolley refreshes prices daily. Schedule the scraper daily or weekly for price history.
Are online and in-store prices the same? Prices reflect each retailer's online price as shown on Trolley.
What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.
Can I integrate Trolley Scraper with other apps? Trolley Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
Is it legal to scrape Trolley? The scraper only collects publicly displayed prices. You are responsible for using the data in line with Trolley's terms and applicable law.
Notes
Original clean-room implementation. Returns only public data. Not affiliated with Trolley.co.uk or any retailer.
Input
| Field | Type | Description |
|---|---|---|
searchQueriesSearch terms | array | Products to compare, e.g. semi skimmed milk, heinz beans, coca cola 24, nappies, olive oil. |
productUrlsProduct links | array | Optional trolley.co.uk product links to track specific products. |
includeStorePricesPrices at every supermarket | boolean | Adds the price, unit price and loyalty-card price at each supermarket, the cheapest store and the price range. Default: true |
maxItemsMax products | integer | Stop after this many products (0 = no limit). Default: 200 |
proxyConfigurationProxy configuration | object | Not needed in most cases. Default: {"useApifyProxy": false} |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~trolley-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": [
"semi skimmed milk"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/trolley-scraper").call(run_input={
"searchQueries": [
"semi skimmed milk"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/trolley-scraper').call({
"searchQueries": [
"semi skimmed milk"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| Product One product with prices at every supermarket | $0.003 | $0.0015 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Carousell Scraper
Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.
242 runs · 2 users · $0.003 / listing scrapedGoogle Flights Scraper
Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.
216 runs · 4 users · $0.004 / flight scrapedPinterest Scraper
Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.
151 runs · 2 users · $0.0034 / item scrapedGoogle Trends Scraper
Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.
139 runs · 6 users · $0.001 / keyword scrapedAliExpress Product Search Scraper
Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.
135 runs · 3 users · $0.003 / product scrapedGoogle Maps Scraper
Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.
130 runs · 2 users · $0.005 / place scrapedSend the site and the fields. We build it and you get it first.