Tesco Groceries Scraper
Pricing
from $2.00 / 1,000 products
Tesco Groceries Scraper
The Tesco Groceries Scraper extracts products from tesco.com by keyword, category or product URL, capturing prices, unit prices, Clubcard offers, GTIN codes, stock status, ratings, reviews, ingredients, nutrition and allergens — ideal for FMCG price monitoring and nutrition datasets.
Pricing
from $2.00 / 1,000 products
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
🛒 Tesco Groceries Scraper
Extract the Tesco UK groceries catalogue — prices, Clubcard offers, unit prices, stock status, ratings and the full nutrition, ingredients and allergen data — as clean, structured JSON. Search by keyword, sweep a whole tesco.com category, or pass individual product URLs.
Built for FMCG price monitoring, grocery price comparison, nutrition datasets and retail market research. Runs on the Apify platform, so you get a REST API, scheduling, webhooks, proxy rotation and integrations with Make, Zapier, Google Sheets and n8n out of the box.
✨ Features
- 💷 Real Clubcard pricing — the member price, offer text and promotion window, not just the shelf price. Multibuy offers ("Any 2 for £4") are captured too.
- 🥗 Nutrition & allergen data — full nutrition table, reference intakes, ingredients, allergens, origin, storage and preparation instructions.
- ⭐ Customer reviews — star rating, ratings distribution and up to 20 review texts per product with verified-buyer flags.
- 🔖 Retail identifiers — GTIN/EAN barcode, TPNB and TPNC codes, brand and the full 4-level category path, so rows join straight onto your own product master.
- 📉 Price-position flags — Low Everyday Pricing, Low Price Promise and competitor price-match signals.
- 📚 Whole-catalogue sweeps — pagination is not capped at Tesco's 10,000-result display limit, so a large category comes back complete.
- ⚡ Fast and cheap in listing mode — thousands of products per minute; pay for the expensive detail data only when you ask for it.
🛠️ How to use the Tesco Groceries Scraper
- Choose what to scrape — type keywords into Search terms (for example
olive oil), and/or paste Tesco category, search or product page URLs into Tesco URLs. - Set a limit — Max items caps how many products the run collects. The default is 50.
- Decide on detail — leave Scrape full product details off for fast price and availability data. Turn it on to also get nutrition, ingredients, allergens and reviews.
- Run it — click Start, then download the results as JSON, CSV, Excel or XML, or pull them from the API.
📥 Input
| Field | Type | Description |
|---|---|---|
searchTerms | array | Keywords to search the groceries catalogue for, e.g. olive oil. |
startUrls | array | Tesco category, search or product page URLs. Scraped in addition to the search terms. |
maxItems | integer | Maximum number of products to collect. Default 50. |
scrapeDetails | boolean | Also collect nutrition, ingredients, allergens, origin and reviews. Default false. |
sortBy | string | relevance, price-ascending or price-descending. |
proxyConfiguration | object | Proxy settings. UK residential proxies are strongly recommended. |
{"searchTerms": ["olive oil"],"startUrls": [{ "url": "https://www.tesco.com/shop/en-GB/category/bakery/bread" }],"maxItems": 500,"scrapeDetails": false,"sortBy": "relevance","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "GB"}}
📊 Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
[{"url": "https://www.tesco.com/shop/en-GB/products/254918424","id": "254918424","tpnb": "50352624","gtin": "05000119511027","title": "Tesco Olive Oil 1L","brand": "TESCO","price": 7,"currency": "GBP","unitPrice": 7,"unitOfMeasure": "litre","clubcardPrice": null,"isOnPromotion": false,"promotions": [],"superDepartment": "Food Cupboard","department": "Cooking Ingredients","aisle": "Oils & Cooking Fats","shelf": "Olive Oil","imageUrl": "https://digitalcontent.api.tesco.com/v2/media/ghs/ff58fc20.../988401f6..._1687087292.jpeg","rating": 4.5,"reviewsCount": 51,"inStock": true,"isSponsored": false,"foodIcons": ["Suitable for Vegetarians"],"source": "olive oil","scrapedAt": "2026-08-03T14:03:43.797Z"},{"url": "https://www.tesco.com/shop/en-GB/products/264417662","id": "264417662","title": "Captain Morgan Original Spiced Gold Rum Based Spirit Bottle 35% 1L","price": 25,"clubcardPrice": 18.5,"isOnPromotion": true,"promotions": [{"id": "101637056","description": "£18.50 Save 25% Clubcard Price","unitSellingInfo": "£18.50/litre","startDate": "2026-07-13T23:00:00Z","endDate": "2026-08-31T23:00:00Z","isClubcard": true}]}]
With Scrape full product details enabled, every item additionally carries:
{"packSize": [{ "value": "1000", "units": "ML" }],"netContents": "1l ℮","ingredients": ["Olive Oil"],"nutrition": [{ "name": "Typical Values", "value1": "Per 100ml", "value2": "One tablespoon (15ml)" },{ "name": "Energy", "value1": "3378kJ / 822kcal", "value2": "507kJ / 123kcal" },{ "name": "Fat", "value1": "91.3g", "value2": "13.7g" }],"allergens": [{ "name": "Contains", "values": ["Milk", "Soya"] }],"guidelineDailyAmount": {"title": "One tablespoon","dailyAmounts": [{ "name": "Fat", "value": "13.7g", "percent": "20", "rating": "HIGH" }]},"origin": [{ "title": "Produce of", "value": "the U.K." }],"storage": ["Store away from light and heat."],"recyclingInfo": "Bottle. Recycle- Rinse/Cap on","isLowEverydayPricing": false,"isLowPricePromise": false,"isPriceMatched": null,"ratingsDistribution": [{ "name": "5.0", "value": "38" }],"reviews": [{"rating": 5,"summary": "Very good","text": "Repeat purchase","submittedAt": "2026-07-12T17:42:00.092Z","verifiedBuyer": true}]}
🗂️ Data fields
| Field | Description |
|---|---|
url, id, tpnb, gtin | Product page URL and Tesco / barcode identifiers. |
title, brand, description | Product name, brand and marketing copy. |
price, unitPrice, unitOfMeasure | Shelf price in GBP and the comparable per-litre / per-kg price. |
clubcardPrice, isOnPromotion, promotions | Clubcard member price plus every active offer with its text and date window. |
superDepartment, department, aisle, shelf | Full Tesco category path. |
imageUrl, images | Main product image and, in detail mode, all high-resolution images. |
rating, reviewsCount, ratingsDistribution, reviews | Star rating, review count and individual review texts. |
inStock, status, bulkBuyLimit | Availability and per-order quantity limit. |
isSponsored | Whether the item came from a sponsored ad slot. |
nutrition, guidelineDailyAmount, allergens, ingredients | Nutrition table, reference intakes, allergens and ingredient list. |
origin, storage, preparationAndUsage, warnings | Country of origin, storage advice, cooking instructions and warnings. |
isLowEverydayPricing, isLowPricePromise, isPriceMatched | Tesco price-position and competitor price-match flags. |
seller | Marketplace seller name for third-party listings. |
source, scrapedAt | The search term or URL the item came from, and the capture timestamp. |
💰 How much does it cost to scrape Tesco?
The Actor uses pay per event pricing — you pay for the results you get, not for how long the run takes.
| Event | Price | Charged when |
|---|---|---|
| Actor start | $0.005 | Once per run. |
| Product | $0.002 | Each product returned in listing mode. |
| Product with full details | $0.006 | Each product returned with scrapeDetails enabled. |
So 1,000 products with prices and Clubcard offers costs about $2.01, and 1,000 products with the full nutrition, allergen and review payload costs about $6.01. Apify's free tier includes $5 of monthly usage, which is enough for roughly 2,400 listing results per month at no cost.
💡 Tips
- Keep
scrapeDetailsoff unless you actually need nutrition or reviews — listing mode is three times cheaper and much faster, and it already includes price, Clubcard offers, ratings and stock status. - Target the narrowest category you can.
.../category/bakery/breadis far cheaper than sweeping all of.../category/bakeryand filtering afterwards. - Use UK residential proxies. Tesco throttles bursts of traffic from a single IP, and residential proxies keep the success rate near 100%.
- Schedule a daily run and point a webhook at your warehouse to build a Clubcard price history — this is the highest-value use case for the data.
- Sort by price with
price-ascendingwhen you only care about the cheapest options in a category and want to stop early.
❓ FAQ
Is scraping Tesco legal? The Actor collects only publicly available product information — no login, no personal data, no customer accounts. Scraping public data is generally legal, but how you use the data is your responsibility. Review Tesco's Terms of Service and consult a lawyer if you plan to redistribute it commercially.
Does it cover Tesco Ireland or other countries? No. This Actor covers Tesco UK (tesco.com). Prices are national online prices, not per-store prices.
Why did I get fewer items than maxItems?
Your search term or category may simply have fewer products than the limit you set. The Actor stops as soon as a category is exhausted.
Do I get Clubcard prices for every offer?
clubcardPrice is filled in for single-unit Clubcard offers. Multibuy deals ("Any 2 for £4") have no single-unit price, so they appear in the promotions array with the full offer text instead.
Something is broken or missing. Open an issue on the Actor's Issues tab. Feature requests and custom scraping solutions are welcome.