Tesco UK Grocery Scraper
Under maintenancePricing
from $3.00 / 1,000 product results
Tesco UK Grocery Scraper
Under maintenanceScrapes product listings from tesco.com/groceries — returns names, prices, unit prices, brands, Clubcard offers, and sizes for any search query.
Pricing
from $3.00 / 1,000 product results
Rating
5.0
(1)
Developer
Siddhant
Maintained by CommunityActor stats
0
Bookmarked
71
Total users
6
Monthly active users
2.1 days
Issues response
15 hours ago
Last modified
Categories
Share
Scrapes product listings from tesco.com/groceries — the UK's largest supermarket.
Proxy requirement
This Actor requires UK residential proxies. Tesco sits behind Akamai, which returns HTTP 403 to datacenter IPs, so datacenter proxies cannot scrape it. If residential is unavailable the Actor falls back to datacenter and says so in the log, but expect 403s.
Residential proxies are included on most Apify plans and bill by data traffic — roughly 0.9 MB per search page. If a run fails with
Proxy rejected the CONNECT tunnel with status code 590What it does
Search for any product and get structured data including:
- Product name and brand
- Price (£) and unit price (e.g. £0.62/litre)
- Unit size (e.g. 400g, 2 pints, 6 pack)
- Clubcard offers and promotions
- Image URL and product page URL
- Product ID (Tesco's internal ID)
Input
| Field | Type | Description |
|---|---|---|
queries | string[] | Search terms (e.g. ["baked beans", "milk"]) |
maxResultsPerQuery | integer | Max products per query (default: 20, max: 100) |
debugNetwork | boolean | Record Tesco JSON response metadata and timings to the default key-value store for payload discovery |
debugCaptureBodies | boolean | When debugNetwork is true, include truncated payload samples for useful JSON responses |
Output
Each result is a JSON object:
{"store": "tesco","query": "baked beans","name": "Heinz Beanz 415g","brand": "Heinz","price": 1.65,"unitPrice": 0.4,"unitPriceMeasure": "per 100g","unitSize": "415g","onOffer": true,"offerDescription": "Clubcard Price: £1.25","imageUrl": "https://...","productUrl": "https://www.tesco.com/groceries/en-GB/products/...","productId": "123456789","scrapedAt": "2026-03-28T12:00:00.000Z"}
Notes
- Uses UK residential proxies to access Tesco (required due to Akamai bot protection)
- Establishes a session on the Tesco homepage before searching, to pass bot detection
- CSS class selectors use the
gyT8MW_prefix (Tesco's current naming convention) — may need updating if Tesco redeploys - With
debugNetwork: true, the actor writesTESCO_DEBUG_<query>records to the default key-value store with timings, matched JSON endpoints, and useful payload summaries