Tesco UK & Ireland Scraper avatar

Tesco UK & Ireland Scraper

Pricing

from $1.39 / 1,000 products

Go to Apify Store
Tesco UK & Ireland Scraper

Tesco UK & Ireland Scraper

Scrape Tesco.com and Tesco.ie grocery products by search, category or URL. Get prices, Clubcard prices, promotions, unit prices, stock, ingredients, allergens, nutrition, ratings and reviews. Export JSON, CSV, Excel.

Pricing

from $1.39 / 1,000 products

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

17 days ago

Last modified

Categories

Share

Tesco UK & Ireland Scraper

Tesco UK & Ireland Scraper extracts grocery product data from Tesco.com and Tesco.ie by search keyword, category or URL, with prices, Clubcard prices, promotions, ingredients, nutrition, ratings and reviews.

Search Tesco by keyword, pick whole departments, or paste product, search and category links from tesco.com and tesco.ie, and get 80+ fields per product, from shelf price, Clubcard price and Aldi Price Match to ingredients, allergens, nutrition per 100g and customer reviews.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Tesco UK & Ireland Scraper (Apify actor parsebird/tesco-scraper) scrapes grocery products from tesco.com (UK, GBP) and tesco.ie (Ireland, EUR). Call it with the Apify API client: client.actor("parsebird/tesco-scraper").call(run_input={"searchQueries": ["milk"], "region": "UK", "maxItems": 100}). Inputs: searchQueries (array of strings, keywords); startUrls (array of strings; Tesco product URLs /groceries/en-GB/products/<id>, search URLs /groceries/en-GB/search?query=<kw>, category URLs /groceries/en-GB/shop/<department>/<aisle>/all or /shop/en-GB/browse/..., tesco.ie en-IE equivalents; region comes from the domain); categories (array of department slugs: fresh-food, bakery, frozen-food, treats-and-snacks, food-cupboard, drinks, baby-and-toddler, health-and-beauty, pets, household, home-and-furniture, home-and-living, tesco-finest, garden-diy-and-car-care, electronics-and-gaming, toys-and-games, parties-and-seasonal, sports-and-leisure, hobbies-and-stationery, marketplace); region ("UK" or "IE", default "UK"); maxItems (integer, default 100); includeProductDetails (boolean, default true); includeReviews (boolean, default false); maxReviewsPerProduct (integer 1-500, default 20); reviewsPostedWithin (string like "90 days", "6 months", "1 year" or "2026-01-31"); sortBy ("relevance", "price-ascending", "price-descending"); startPage (integer, default 1); maxPagesPerSource (integer, 0 = all); deduplicateProducts (boolean, default true). Output: one row per product with product_id, base_product_id, tpnb, gtin, name, brand_name, url, region, currency, price, unit_price, unit_of_measure, clubcard_price, promotions, is_low_everyday_pricing, is_low_price_promise, price_matches_competitor, competitors, in_stock, status, is_new, is_sponsored, buy_limit, super_department, department, aisle, shelf, image_url, total_reviews, overall_rating, and with details: description, images, pack_size, net_contents, ingredients, allergens, allergens_highlighted, nutrition, nutrition_per_serving, nutrition_table, storage_instructions, cooking_instructions, origin_information, recycling_info, warnings, features, marketing_text, manufacturer_address, ratings_distribution; with reviews: reviews (review_id, posted_at, rating, title, text, verified_buyer). API docs: https://apify.com/parsebird/tesco-scraper/api. Get a token: https://console.apify.com/settings/integrations

What is Tesco UK & Ireland Scraper?

Tesco UK & Ireland Scraper turns Tesco's online grocery store into structured data. It covers both Tesco UK (prices in GBP) and Tesco Ireland (prices in EUR). Give it a keyword like protein yoghurt, a whole department like Fresh Food, or any Tesco link, and it returns every matching product with price, Clubcard price, unit price, promotions, stock status, barcode (GTIN), category path, ingredients, allergens, nutrition and reviews.

It works as a Tesco API alternative: no Tesco account, no login, no browser. The easiest way to try it is to keep the example keyword milk, click Start, and download your Tesco product data as JSON, CSV or Excel a few seconds later.

What can Tesco UK & Ireland Scraper do?

  • 🔎 Search by keyword: scrape Tesco search results for any number of keywords in the UK or Ireland store.
  • 🗂️ Scrape whole categories: pick departments such as Fresh Food, Drinks or Health & Beauty, or paste any aisle or shelf link for a narrower scrape.
  • 🔗 Paste any Tesco URL: product, search and category pages from tesco.com and tesco.ie, including the newer /shop/en-GB/browse/... links. Each URL keeps its own region.
  • 💷 Track prices and offers: shelf price, unit price, numeric Clubcard price, every active promotion with start and end dates, Low Everyday Price and Aldi Price Match flags.
  • 🥗 Full product details: ingredients, allergens highlighted in bold on Tesco, nutrition per 100g and per serving, reference intakes, storage, cooking and freezing instructions, origin, recycling and manufacturer address.
  • ⭐ Ratings and reviews: overall rating, star distribution and customer reviews, with a date window such as 90 days and a per-product limit.
  • ↕️ Sort and page like the site: relevance or price order, start page and max pages per search or category.

As an Apify Actor it also gives you scheduling for daily price monitoring, a REST API, integrations with Google Sheets, Zapier, Make, Slack and webhooks, and exports to JSON, CSV, Excel, XML and HTML.

What data can you extract from Tesco?

FieldDescription
product_id, tpnb, base_product_idTesco product IDs (the product_id is the number in the product URL)
gtinBarcode (GTIN / EAN)
name, brand_name, url, image_url, imagesProduct name, brand, product page and images
region, currencyUK / GBP or IE / EUR
price, unit_price, unit_of_measureShelf price and price per kg, litre or each
clubcard_priceSingle-item Clubcard price as a number, e.g. 0.5 for "50p Clubcard Price"
promotionsEvery promotion: text, start and end date, Clubcard flag, unit selling info
is_low_everyday_pricing, is_low_price_promise, price_matches_competitor, competitorsTesco pricing badges and Aldi Price Match
in_stock, status, buy_limit, is_new, is_sponsoredAvailability, max quantity per order, new and sponsored flags
super_department, department, aisle, shelfTesco category path
ingredients, allergens, allergens_highlightedIngredients text, allergen advice and the allergens Tesco shows in bold
nutrition, nutrition_per_serving, nutrition_tableNutrition per 100g/100ml and per serving, with reference intakes
pack_size, net_contents, number_of_usesPack size, net contents and servings
storage_instructions, cooking_instructions, freezing_instructionsStorage and preparation
origin_information, recycling_info, warnings, manufacturer_addressOrigin, packaging recycling, warnings and manufacturer
total_reviews, overall_rating, ratings_distribution, reviewsRatings and customer reviews

How to scrape Tesco

  1. Open Tesco UK & Ireland Scraper in Apify Console.
  2. Type one or more Search keywords, pick Categories, or paste Tesco URLs from tesco.com or tesco.ie.
  3. Choose the Region (United Kingdom or Ireland) for keywords and categories.
  4. Set Max products. Turn on Include reviews if you need customer reviews.
  5. Click Start and wait for the run to finish.
  6. Download the data from the Output tab as JSON, CSV, Excel, XML or HTML, or read it through the API.

Input parameters

ParameterTypeRequiredDefaultDescription
searchQueriesarray of stringsNo*—Keywords to search Tesco with, e.g. ["milk", "protein bars"]
startUrlsarray of stringsNo*—Tesco product, search or category URLs from tesco.com or tesco.ie
categoriesarrayNo*—Whole departments, e.g. ["fresh-food", "drinks"]
regionstringNoUKUK (tesco.com, GBP) or IE (tesco.ie, EUR) for keywords and categories
maxItemsintegerNo100Maximum products to save across all inputs
includeProductDetailsbooleanNotrueAdd ingredients, allergens, nutrition, storage, origin, images and more
includeReviewsbooleanNofalseAdd customer reviews to each product
maxReviewsPerProductintegerNo20Reviews per product, up to 500
reviewsPostedWithinstringNo—Keep reviews newer than e.g. 7 days, 3 months, 1 year or 2026-01-31
sortBystringNorelevancerelevance, price-ascending or price-descending
startPageintegerNo1Results page to start from (24 products per Tesco page)
maxPagesPerSourceintegerNo0Max result pages per keyword, URL or category (0 = all)
deduplicateProductsbooleanNotrueSave each product only once per run
proxyConfigurationobjectNooffNot needed for Tesco

* Add at least one keyword, URL or category.

Supported Tesco URLs

URLType
https://www.tesco.com/groceries/en-GB/products/272202380Product
https://www.tesco.com/shop/en-GB/products/254656543Product (new-style link)
https://www.tesco.com/groceries/en-GB/search?query=milkSearch (sortBy and page in the URL are respected)
https://www.tesco.com/groceries/en-GB/shop/fresh-food/allDepartment
https://www.tesco.com/shop/en-GB/browse/fresh-food/fresh-fruit/bananasAisle (new-style link)
https://www.tesco.com/shop/en-GB/browse/fresh-food/milk-butter-and-eggs/milk/semi-skimmed-milkShelf
https://www.tesco.ie/groceries/en-IE/products/252293306Product, Ireland
https://www.tesco.ie/groceries/en-IE/shop/bakery/allDepartment, Ireland

Output example

One product with details and one review:

{
"product_id": "330781027",
"base_product_id": "98278973",
"tpnb": "98278973",
"gtin": "04025500307721",
"name": "Muller Corner Oreo Yogurt 124g",
"brand_name": "Müller",
"url": "https://www.tesco.com/groceries/en-GB/products/330781027",
"region": "UK",
"currency": "GBP",
"price": 0.95,
"unit_price": 7.66,
"unit_of_measure": "kg",
"clubcard_price": 0.5,
"has_promotion": true,
"promotions": [
{
"promotion_id": "102975899",
"description": "50p Clubcard Price",
"start_date": "2026-09-15T23:00:00Z",
"end_date": "2026-11-18T00:00:00Z",
"unit_selling_info": "£4.03/kg",
"is_clubcard_price": true
}
],
"is_low_everyday_pricing": false,
"is_low_price_promise": false,
"price_matches_competitor": false,
"competitors": [],
"in_stock": true,
"status": "AvailableForSale",
"is_new": true,
"is_sponsored": false,
"buy_limit": 99,
"sale_type": "SingleProduct",
"super_department": "Fresh Food",
"department": "Yogurts",
"aisle": "Indulgent Yogurts, Corners & Rice Pudding",
"shelf": "Corner Yoghurt & Splitpot Yoghurts",
"image_url": "https://digitalcontent.api.tesco.com/v2/media/ghs/c4a8beab-3643-4004-9f6c-6018b49cb682/ea37cc9f-81de-4e78-8b98-8bae71790f4c_1598180580.jpeg",
"total_reviews": 1,
"overall_rating": 3,
"description": "Vanilla creme flavour yogurt with Oreo biscuit pieces (7%).",
"pack_size": "124",
"pack_size_unit": "G",
"net_contents": "124g ℮",
"ingredients": "Yogurt (Milk), Sugar, Water, Wheat Flour (Gluten), Rapeseed Oil, Modified Maize Starch, ...",
"allergens_highlighted": ["Milk", "Wheat", "Soya"],
"nutrition": {
"measure": "(Per 100g):",
"Energy": "529kJ (125kcal)",
"Fat": "3.0g",
"of which saturates": "1.3g",
"Carbohydrate": "19.0g",
"of which sugars": "15.5g",
"Protein": "4.9g",
"Salt": "0.25g",
"Calcium": "131mg (20% of NRV per pot)"
},
"storage_instructions": ["Best before. Keep refrigerated."],
"ratings_distribution": [{ "rating": 3, "count": 1, "share": 1.0 }],
"reviews": [
{
"review_id": "9b9c7655-2f29-4b5b-8a87-3d85678725b8",
"posted_at": "2026-09-24T22:27:12.526Z",
"rating": 3,
"title": "Tinniest b",
"text": "Tinniest bit of oreos!",
"verified_buyer": false
}
],
"source": "search: muller corner",
"scraped_at": "2026-10-05T11:44:55Z"
}

Some fields are shortened above. Download the full results as JSON, CSV, Excel, XML or HTML from the Output tab.

How to use the Tesco Scraper API

Run the scraper from your own code with the Apify API client.

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("parsebird/tesco-scraper").call(run_input={
"searchQueries": ["semi skimmed milk", "free range eggs"],
"region": "UK",
"maxItems": 200,
"sortBy": "price-ascending",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item["price"], item["clubcard_price"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('parsebird/tesco-scraper').call({
startUrls: ['https://www.tesco.ie/groceries/en-IE/shop/bakery/all'],
maxItems: 500,
includeReviews: true,
reviewsPostedWithin: '90 days',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((p) => [p.name, p.price, p.currency]));

Get your token in Apify Console → Integrations. Full endpoint reference is on the API tab.

Use cases

  • Grocery price monitoring: schedule a daily run on your categories and track shelf prices, Clubcard prices and promotions over time.
  • Competitor and promotion analysis: see which brands run Clubcard deals, multibuys and Aldi Price Match, and when promotions start and end.
  • Product catalog and GTIN matching: match Tesco products to your own catalog by barcode, pack size and category path.
  • Nutrition and ingredient research: build datasets of ingredients, allergens and nutrition per 100g for health, diet or food-tech apps.
  • Review and sentiment analysis: collect recent customer reviews to measure how shoppers rate a product or a brand.
  • UK vs Ireland comparison: scrape the same keyword in both regions to compare range and pricing in GBP and EUR.

How it works

  1. Keywords, categories and URLs are turned into Tesco searches, category listings and product lookups for the right region.
  2. The scraper pages through results in Tesco's own order (or price order), up to your limits.
  3. With details on, each product's full product page data is added; with reviews on, reviews are added newest first.
  4. Each product is saved as one row and the run stops at Max products.

The scraper reads the same data Tesco's website shows to a logged-out visitor, so prices are standard online prices and Clubcard prices as displayed on the site.

How much does it cost to scrape Tesco?

Tesco UK & Ireland Scraper uses pay-per-event pricing. You pay per product saved, and product details and reviews are included in that price.

EventFreeBronzeSilverGold
product-scraped (per 1,000 products)$1.99$1.79$1.59$1.39

For example, 1,000 Tesco products with full details and reviews cost $1.99 on the Free plan. Compute and proxy costs are included in the event price. Apify's Free plan comes with monthly platform credits you can use on this scraper, and you can set a maximum spend per run so a run never costs more than you expect.

FAQ

Does it work for Tesco Ireland? Yes. Set Region to Ireland for keywords and categories, or paste tesco.ie links. Irish prices are in EUR and the Irish store has its own departments, such as Home & Living and Tesco Finest.

Which categories can I scrape? Pick any department in Categories, or paste the URL of any department, aisle or shelf from Tesco. If a department doesn't exist in the selected region, the run logs a warning and continues with your other inputs.

How do I get Clubcard prices? They are included automatically. clubcard_price holds the number for single-item Clubcard prices such as "£1.50 Clubcard Price" or "50p Clubcard Price". Multibuy offers such as "Any 2 for £4 Clubcard Price" are kept in promotions with their full text.

How fast is it? Without product details, about 1,000 products take around 10 seconds. With details, expect about 5 minutes per 500 products, since Tesco limits how fast product pages can be read. Reviews add time for products with many reviews.

Why are some products in my results marked is_sponsored? Tesco shows a few sponsored products at the top of some category pages. They are real products and are included, flagged with is_sponsored: true so you can filter them out.

Can I get more than 10,000 products from one category? Yes. Tesco reports at most 10,000 results for very large departments, but the scraper keeps paging until the real end of the list.

Do I need a proxy or a Tesco account? No. The scraper works without login and without a proxy.

Can I schedule it and send data to other tools? Yes. Use Apify schedules for daily or weekly runs and integrations to send results to Google Sheets, Slack, Zapier, Make or a webhook.

Something is missing or not working? Open an issue on the Issues tab and we will look into it. Feature requests are welcome.

Our scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can also read our blog post on the legality of web scraping.

Other grocery and retail scrapers

ActorWhat it scrapes
Woolworths Australia Grocery Products ScraperWoolworths AU grocery products and prices
ALDI Australia ScraperALDI Australia products and prices
Walmart Product ScraperWalmart product details and prices
Target Product ScraperTarget product details and prices
Amazon Search ScraperAmazon search results
Zepto Product ScraperZepto quick-commerce products in India