Tesco Scraper - Extract Product and Clubcard Price Data

Tesco lists two current prices for many products: the regular price and the Clubcard price. We capture both, with unit price and promotion text, on a schedule you set.

Tesco Scraper
Solutions

Who buys Tesco data and what for

Price intelligence teams comparing Tesco against Sainsbury's, Asda and the discounters, on the regular and the member price side by side. Suppliers and brand owners checking that their own lines are listed, priced and in stock across the range they sell in. Category analysts following range rotation, seasonal lines and movement in and out of Clubcard Prices. Researchers building unit-price series that survive a pack size change. Journalists and consumer bodies checking pricing claims against what the site actually showed on a given day.

Cadence is yours to set. Teams watching Tesco prices day to day usually run daily or more often; range and assortment work is fine weekly.

What we extract from Tesco listings

A grocery listing on tesco.com carries more than one number that a buyer would call 'the price'. We record them as separate columns rather than flattening them into one.

  • Regular price - the price shown to any visitor, in pounds sterling.
  • Clubcard price - the member price displayed beside it where the product has one, plus the offer wording and the validity window Tesco prints with it, in the form 'offer valid for delivery from' one date 'until' another.
  • Unit price - price per kilogram, per litre, per 100g or per item, as rendered. This is the only figure that compares cleanly across pack sizes.
  • Promotion mechanics - multibuy wording, meal deal membership, Aldi Price Match and Low Everyday Prices labels, and any was and now reference price.
  • Identity - product title, brand, the numeric identifier from the URL, GTIN or EAN where shown, and the aisle, shelf and sub-shelf path the product was found under.
  • Source flag - whether the listing is a Tesco grocery line or a marketplace item shipped by a third-party seller, so the two never end up averaged together.
  • Availability - in stock, out of stock or unavailable, together with any purchase limit stated on the listing.
  • Descriptive fields - product description, pack size, ingredients, nutrition table values and allergen labels where the listing carries them.
  • Ratings - average review score and review count.
  • Images - source URLs for the product photography.

Collection covers public product and pricing data only. No customer data, no accounts, no order histories, nothing behind a login.

What we extract from Tesco listings
What makes Tesco awkward to collect

What makes Tesco awkward to collect

The site sits behind an edge network that refuses automated clients. A request from an ordinary command line tool returns an access denied page instead of markup, and that holds even for robots.txt. Anything built on a bare request library will come back with nothing usable. We run browser-grade collection at a measured rate, treat refusals as a signal to slow down rather than something to push through, and tell you when a section stops being reachable instead of filling the gap with stale rows.

The published robots rules point to a sitemap index under /sitemaps/en-GB/ and disallow account and login paths along with certain query-string forms under the groceries tree, including an offset pagination pattern. We work from category and sitemap entry points rather than the disallowed forms.

Two further things catch people out. Personalised offers, shown to a signed-in shopper as 'Your Clubcard Prices', are not part of the public listing, so a public crawl records the general member price and never an individual's tailored one. And availability is fulfilment dependent: Tesco asks for a postcode and a delivery slot, and what a given store can supply is not identical everywhere, so availability from a public crawl should be read as the national listing state rather than one shop's shelf.

About Tesco and how tesco.com is put together

Tesco is the largest grocery retailer in the United Kingdom, trading through superstores, Express convenience shops and an online grocery operation that delivers nationwide. For anyone collecting data, the point to grasp early is that tesco.com is not a single catalogue. Groceries sit under their own set of paths, and since 2024 a third-party marketplace sits alongside them, with those items shipped by the seller rather than picked from a Tesco store. A listing that looks like any other on the site may not be a Tesco grocery line at all, and mixing the two quietly corrupts a price file.

Grocery product pages are addressed by a numeric identifier, in the form tesco.com/groceries/en-GB/products/ followed by that number. Category browsing runs through an aisle, shelf and sub-shelf hierarchy that ends in an 'all' segment. Curated pages exist as well: zone pages and buylists gather Clubcard Prices, Aldi Price Match lines and new ranges under their own URLs. Both a /groceries/en-GB/ prefix and a newer /shop/en-GB/ prefix are in service, and a crawl plan that assumes only one of them will miss pages.

Products carry a base product number, commonly called the TPNB, and a consumer unit number, the TPNC. The number in a product URL is the consumer unit identifier. Many pages also expose a GTIN or EAN. Which of these you key your warehouse on matters, because one base product can be sold in more than one pack.

Get a Quote
dev_w
25

Developers

customers
500+

Customers worldwide

pages
1 500 000 000+

Pages extracted

stime
15000+

Hours saved for our clients

Plans

Airplane

€199 / one-time

setup fee - included

Data limits100,000
Frequencyone-time
Run timeup to 5 days
Data storing7 days

Helicopter

€169 / mo

setup fee €499

Data limits250,000
Frequencymonthly
Run timeup to 5 days
Data storing14 days

Glasses

€229 / mo

setup fee €499

Data limits1,000,000
Frequencyweekly
Run timeup to 5 days
Data storing30 days

DNA

€549 / mo

setup fee €799

Data limits3,000,000
Frequency3 times daily
Run timesame day
Data storing90 days

Why a single price column is not enough at Tesco

Clubcard Prices changed what 'the price' means here. A product can show a regular price and a lower member price at the same time, and which one a shopper pays depends on whether a Clubcard is presented. If your dataset holds one number, it holds an incomplete fact. A comparison against a competitor that ignores the member price is measuring the wrong figure, and an elasticity model fitted to it is fitted to a price a large share of shoppers never paid.

This is not a passing promotion. The Competition and Markets Authority published a review of loyalty pricing in the groceries sector in November 2024, looking at member prices across the major UK grocers. Two-tier pricing is now a standing feature of the market, and it needs a column of its own.

Pack size is the second trap. Two lines that look like the same product at different Tesco prices are often different weights. The unit price resolves that, and it is printed on the listing, so there is no need to guess a conversion out of a title string.

Then there is what the price is attached to. Multibuy wording, meal deal membership and reference prices sit outside the price element. Parse the price element alone and the mechanic disappears.

Related Case Studies

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.

Learn More about The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days
The Lowest Allegro Prices from 150K Eans Collected

The Lowest Allegro Prices from 150K Eans Collected

Daily scraping of lowest prices for 150K products on Allegro.pl to support marketplace pricing and margin optimization.

Learn More about The Lowest Allegro Prices from 150K Eans Collected
Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Regular monitoring of Ralph Lauren clothing, footwear, and accessories sold across Amazon subdomains: AE, DE, ES, FR, IT, NL, PL, UK.

Learn More about Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset
Our Blog

Reads Our Latest News & Blog

Learn how to use web scraping to solve data problems for your organization

6 E-Commerce Sites Like eBay to Scrape in 2026

6 E-Commerce Sites Like eBay to Scrape in 2026

If you sell online, run a marketplace, or advise e-commerce clients, you already know why eBay matters: it’s one of the few places where big retailers compete side by side with thousands of small merchants and private sellers.

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

E-commerce teams do not just need “some” competitor data anymore. They need a continuous stream of real prices, discounts, stock levels, reviews, and seller behavior from the platforms that actually shape their markets.

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

Amazon provides valuable information gathered in one place: products, reviews, ratings, exclusive offers, news, etc. So scraping data from Amazon will help solve the problems of the time-consuming process of extracting data from e-commerce.

scrapeit logo

How we run it

ScrapeIt is a managed service. A Tesco scraper is only worth having if it keeps running, so we build it, host it, monitor it and repair it when the markup changes. You describe the categories, fields and cadence; you approve a sample before the first full run. Delivery is CSV, JSON, XLSX or an API endpoint, pushed to your bucket or ours on the schedule you set. Nothing to install, and no scraping code for your team to maintain.

FAQ

Does Tesco have a public API for product and price data?

Not one a data buyer can use. Tesco Labs ran a developer portal with a grocery product API for several years, but Tesco stopped issuing subscriptions and the API is no longer maintained; the portal hostname no longer resolves, and the open source client libraries written against it are dead. Even while it ran it was aimed at app developers building shopping tools under Tesco's terms, not at a business buying a price dataset for competitive analysis. That distinction matters more than whether an endpoint exists: an API you cannot obtain access to, and whose terms would not cover your use if you could, is not a data source. Collection from the public site is the practical route.

Can you scrape Tesco Clubcard prices as well as the regular price?

Yes. Both are captured as separate fields, along with the promotion wording and the delivery validity dates printed with the offer. Where a product has no member price, the Clubcard field is left empty rather than copied from the regular price, so the two states stay distinguishable in your warehouse. Personalised offers that Tesco shows only inside a signed-in account are not part of a public listing and are not included.

How often can Tesco data be refreshed?

As often as you need, within what the site tolerates. Prices and promotions move on their own cycle and Clubcard offers carry start and end dates, so most pricing customers run daily and some run more than once a day. Range and assortment work is usually fine at a weekly cadence. Seasonal lines and range rotation argue for keeping a history rather than overwriting the last file, so you can see when a product entered or left the catalogue.

What fields come back for each product?

Title, brand, regular price, Clubcard price, unit price, promotion labels, availability, purchase limits, the numeric product identifier from the URL, GTIN or EAN where shown, category path, description, pack size, ingredients, nutrition values, allergen labels, rating, review count and image URLs. If you need something not on that list, say so before the build and we will check whether the listing carries it.

Is scraping Tesco data legal?

We collect public product and pricing information that any visitor to the site can see. We do not sign in, we do not touch accounts or order histories, and we collect no customer data. How you then use the data is a question for your own legal counsel, because it turns on your jurisdiction and your purpose. We will describe exactly what we collect and how, so your team has something concrete to assess.

How does it Work?

Step 1 - Make a Request

You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.

Step 2 - Configuring Custom Web Crawlers

Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.

Step 3 - Collect and Deliver

Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.

Step 4 - Maintain and Support

Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.

Request a Quote

Tell us more about you and your project information.
Which sites, which fields, how often. A couple of lines is enough.

We reply within 1 business day. No obligation.

scrapiet

Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582