Tesco Groceries Scraper avatar

Tesco Groceries Scraper

Pricing

from $2.00 / 1,000 products

Go to Apify Store
Tesco Groceries Scraper

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

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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

  1. 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.
  2. Set a limitMax items caps how many products the run collects. The default is 50.
  3. 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.
  4. Run it — click Start, then download the results as JSON, CSV, Excel or XML, or pull them from the API.

📥 Input

FieldTypeDescription
searchTermsarrayKeywords to search the groceries catalogue for, e.g. olive oil.
startUrlsarrayTesco category, search or product page URLs. Scraped in addition to the search terms.
maxItemsintegerMaximum number of products to collect. Default 50.
scrapeDetailsbooleanAlso collect nutrition, ingredients, allergens, origin and reviews. Default false.
sortBystringrelevance, price-ascending or price-descending.
proxyConfigurationobjectProxy 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

FieldDescription
url, id, tpnb, gtinProduct page URL and Tesco / barcode identifiers.
title, brand, descriptionProduct name, brand and marketing copy.
price, unitPrice, unitOfMeasureShelf price in GBP and the comparable per-litre / per-kg price.
clubcardPrice, isOnPromotion, promotionsClubcard member price plus every active offer with its text and date window.
superDepartment, department, aisle, shelfFull Tesco category path.
imageUrl, imagesMain product image and, in detail mode, all high-resolution images.
rating, reviewsCount, ratingsDistribution, reviewsStar rating, review count and individual review texts.
inStock, status, bulkBuyLimitAvailability and per-order quantity limit.
isSponsoredWhether the item came from a sponsored ad slot.
nutrition, guidelineDailyAmount, allergens, ingredientsNutrition table, reference intakes, allergens and ingredient list.
origin, storage, preparationAndUsage, warningsCountry of origin, storage advice, cooking instructions and warnings.
isLowEverydayPricing, isLowPricePromise, isPriceMatchedTesco price-position and competitor price-match flags.
sellerMarketplace seller name for third-party listings.
source, scrapedAtThe 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.

EventPriceCharged when
Actor start$0.005Once per run.
Product$0.002Each product returned in listing mode.
Product with full details$0.006Each 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 scrapeDetails off 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/bread is far cheaper than sweeping all of .../category/bakery and 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-ascending when 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.