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

9

Total users

2

Monthly active users

11 days ago

Last modified

Security

Limited permissions

Share

🛒 Tesco Groceries Scraper: Prices, Clubcard Offers and Nutrition Data

Export Tesco prices, Tesco Clubcard prices, unit prices, stock status, ratings and barcodes from tesco.com as clean JSON, CSV or Excel. The Tesco Groceries Scraper searches the Tesco UK groceries catalogue by keyword, category or product URL, and can add ingredients, nutrition, allergens and customer reviews to every product. Use it as a Tesco price checker, for UK grocery price comparison, or as a simple alternative to a Tesco API.

🎯 Tesco Data Use Cases

  • Grocery price comparison: collect Tesco shelf and Clubcard prices for the same products you track at other UK supermarkets and build a supermarket price comparison for the UK.
  • Tesco Clubcard price tracking: schedule a daily run and see when a Clubcard price starts, ends and how deep the discount goes.
  • Grocery price tracker for FMCG brands: monitor your own and rival brands' Tesco prices, unit prices, promotions and stock status.
  • Tesco price match research: read Tesco's Low Everyday Pricing, Low Price Promise and competitor price-match flags per product.
  • Tesco products and nutrition datasets: export ingredients, nutrition tables, reference intakes and allergens for diet apps, food research or labelling checks.
  • Catalogue and retail data joins: every row carries the GTIN barcode and Tesco's TPNB/TPNC codes, so Tesco data joins straight onto your own product list.

✨ Features

  • Shelf and Clubcard prices as numbers: price, unitPrice with its unit (per litre, per kg), and clubcardPrice for single-unit Clubcard offers.
  • Every active promotion: offer text, unit selling info, start and end dates, and whether it is a Clubcard offer. Multibuy deals ("Any 2 for £4") are kept in promotions.
  • Full category path: super-department, department, aisle and shelf.
  • Ratings: average rating and review count on every product; ratings distribution and up to 20 reviews per product in detail mode.
  • Nutrition and ingredients (detail mode): nutrition table, reference intakes with traffic-light ratings, ingredients, allergens, origin, storage, pack size and manufacturer address.
  • Search, category or product URLs: mix keywords and Tesco URLs in one run.
  • No duplicates: a product that appears twice in a listing (for example in a sponsored slot) is saved once.
  • Fair billing: you pay per product saved, the run stops cleanly at your maximum cost, and rows without product data are never charged.

🛠️ How It Works

  1. Enter search terms such as olive oil, or paste Tesco category, search or product page URLs.
  2. Set Max items (default 50) and choose whether to scrape full product details.
  3. Run the scraper and download the results, or pull them through the Apify API.

⚙️ Input

FieldWhat it does
Search termsKeywords to search the Tesco groceries catalogue for, e.g. olive oil.
Tesco URLsTesco category, search or product page URLs, scraped in addition to the search terms.
Max itemsMaximum number of products across all search terms and URLs. Default 50.
Scrape full product detailsAlso collect ingredients, nutrition, allergens, origin, storage, reviews and price-match flags. Default off.
Sort byrelevance, price-ascending or price-descending.
{
"searchTerms": ["olive oil"],
"startUrls": [{ "url": "https://www.tesco.com/shop/en-GB/category/bakery/bread" }],
"maxItems": 500,
"scrapeDetails": false,
"sortBy": "relevance"
}

💰 Pricing

Pay only for the products you get. No monthly rental.

EventPriceWhat you get
Product$0.002 per product ($2.00 per 1,000)One product with price, unit price, Clubcard offers, rating, stock status and category path.
Product with full details$0.006 per product ($6.00 per 1,000)The same product plus ingredients, nutrition, allergens, origin, storage, price-match flags and reviews.
Actor start$0.00005 per runCharged once when the run starts.

Examples: 50 products = $0.10 · 1,000 products = $2.00 · 1,000 products with full details = $6.00.

📊 Sample Output Data

A real row from a listing run for olive oil:

{
"url": "https://www.tesco.com/shop/en-GB/products/255209876",
"id": "255209876",
"tpnb": "51026629",
"gtin": "08002210500204",
"title": "Filippo Berio Extra Virgin Olive Oil 500Ml",
"brand": "FILIPPO BERIO",
"description": ["Extra Virgin Olive Oil"],
"price": 7.8,
"currency": "GBP",
"unitPrice": 15.6,
"unitOfMeasure": "litre",
"clubcardPrice": 5,
"isOnPromotion": true,
"promotions": [
{
"id": "102358140",
"description": "£5.00 Clubcard Price",
"unitSellingInfo": "£10.00/litre",
"startDate": "2026-09-28T23:00:00Z",
"endDate": "2026-10-27T00:00:00Z",
"isClubcard": true,
"attributes": ["CLUBCARD_PRICING"],
"qualities": ["membership:UKClubcard", "price_cut", "discount"]
}
],
"superDepartment": "Christmas",
"department": "Christmas Dinner",
"aisle": "Stuffing, Gravy & Cooking Essentials",
"shelf": "Stuffing, Gravy & Cooking Essentials",
"imageUrl": "https://digitalcontent.api.tesco.com/v2/media/ghs/ccf71542-…_362517816.jpeg?h=225&w=225",
"images": null,
"rating": 4.1,
"ratingRange": 5,
"reviewsCount": 17,
"inStock": true,
"status": "AvailableForSale",
"isNew": false,
"isSponsored": false,
"bulkBuyLimit": 16,
"averageWeight": null,
"depositAmount": null,
"foodIcons": null,
"productType": "SingleProduct",
"seller": null,
"source": "olive oil",
"scrapedAt": "2026-10-21T14:33:57.436Z"
}

price is the shelf price and clubcardPrice the member price parsed from the Clubcard offer. bulkBuyLimit is the most units one order may contain, and isSponsored marks products shown in a paid slot. The category path is the one Tesco assigns, which can be a seasonal aisle.

With Scrape full product details on, each row also carries fields like these (from a real row for Heinz Spaghetti Hoops):

{
"packSize": [{ "value": "820", "units": "G" }],
"netContents": "205g",
"nutrition": [
{
"name": "Typical Values",
"value1": "Per 100g",
"value2": "Per100 %RI",
"value3": "Per can",
"value4": "PerServing %RI"
},
{ "name": "Energy (kJ)", "value1": "218", "value2": "3%", "value3": "448", "value4": "5%" }
],
"guidelineDailyAmount": {
"title": "Per can",
"dailyAmounts": [{ "name": "Fat", "value": "0.5g", "percent": "1.00", "rating": "LOW" }]
},
"allergens": [{ "name": "Other Allergen Info", "values": ["Allergens: see ingredients in UPPER CASE"] }],
"storage": ["Best before end - see can end"],
"isLowEverydayPricing": true,
"isLowPricePromise": false,
"isPriceMatched": null,
"ratingsDistribution": [
{ "name": "5.0", "value": "26" },
{ "name": "4.0", "value": "3" }
],
"reviews": [
{
"rating": 5,
"ratingRange": 5,
"summary": "Yummy and ultimate comfort food.",
"text": "…",
"verifiedBuyer": false
}
],
"images": ["https://digitalcontent.api.tesco.com/v2/media/ghs/…_1835649867.jpeg?h=540&w=540"]
}

Detail rows also include ingredients, origin, preparationAndUsage, additives, healthClaims, warnings, recyclingInfo and manufacturerAddress when Tesco lists them.

🔁 Schedule a Tesco Price Checker and Integrate

For Tesco price tracking, run it once a day with the same search terms or category URLs: every run is a dated snapshot, and together they form your Tesco price history, including when Clubcard prices start and end. Set it up in Apify Schedules. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new prices land where your team already works.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "searchTerms": ["olive oil"], "maxItems": 20 }

❓ FAQ

Does Tesco have an official API? Tesco does not currently offer an open public API for product and price data; its product data is shown on tesco.com for shoppers. This Actor needs no key, account or approval and returns the public data a shopper sees, including Clubcard prices, GTIN barcodes and nutrition tables, as structured rows.

How do I check Tesco Clubcard prices for many products? Run a search or category with this Actor and read clubcardPrice and promotions. Schedule it daily to see how Clubcard prices change over time.

Do I need a Tesco or Clubcard account? No. Clubcard prices are public on tesco.com, so no login is used.

Why is a field empty? Fields are null when Tesco doesn't list them for that product: clubcardPrice is empty without a single-unit Clubcard offer (multibuys stay in promotions), averageWeight is only set for loose items sold by weight, seller only for marketplace products, and images, nutrition and reviews only appear with Scrape full product details on.

Which Tesco sites are covered? Tesco UK groceries on tesco.com. Prices are national online prices, not per-store prices. Tesco Ireland is not covered.

Why did I get fewer items than Max items? The search or category had fewer products than your limit, or the run reached your maximum cost per run. The run's status message says which.

How can I compare Tesco prices with other supermarkets? Use the GTIN barcode in each row to match the same product across retailers, then compare price, unitPrice and clubcardPrice with the other shop's prices.