Tesco UK & Ireland Scraper avatar

Tesco UK & Ireland Scraper

Pricing

Pay per event

Go to Apify Store
Tesco UK & Ireland Scraper

Tesco UK & Ireland Scraper

Extract product details like UPC / GTIN, price, competitor price, category, availability, promotions, nutrition, and images from Tesco UK & IE at scale. Scrape by product or category listing URLs with auto-pagination. Export data as HTML Table, JSON, JSONL, CSV, Excel, XML, or RSS.

Pricing

Pay per event

Rating

4.3

(5)

Developer

Radeance

Radeance

Maintained by Community

Actor stats

15

Bookmarked

318

Total users

17

Monthly active users

3.6 days

Issues response

19 hours ago

Last modified

Share

Tesco UK & Ireland Grocery Scraper

Tesco Grocery Products Scraper Cover Image

Discover more ➤ Amazon Price History API 🆕 Jungle Scout Scraper 🆕 Ahrefs Scraper Similarweb Scraper

This blazing fast & powerful scraper is designed to effortlessly scrape grocery product data from Tesco UK & Tesco Ireland, the UK’s largest supermarket. Perfect for shoppers, market researchers, and retail businesses, it extracts detailed product insights, including UPCs / GTINs , prices, promotions, nutrition, allergens, manufacturer details, and competitor matching price data.

It supports category listing pages and product URLs in one go, making it easy to scrape any grocery product with automatic pagination at scale.

Get the data you need in record time and stay ahead of the market!

🗝️ Key features

  • 🔍 Product Data

    • Scrapes any grocery product from Tesco UK
    • Extracts detailed product data in seconds
    • Provides key details such as - Product title, - UPC/GTIN, - Price, - Offer / Promotion prices, - Unit prices, - Description, - Main / Sub / Product Categories, - Nutritional information, - Allergens, - Manufacturer information, - Price matching data
  • ⚡ Fast and Efficient:

    • Extremely fast, scraping 1000 data entries in a minute
  • 📝 Product Category Listings Support

    • Scrape grocery product categories by providing one or multiple category urls
    • Automatic pagination until customizable max_pagesor max_items limit is reached
  • 📊 Flexible Data Output

    • Outputs data in various formats including CSV, XLSX, JSON, JSONL, XML, and RSS

📍 Input

Supported URL Formats

URL format SupportedTypeSupported
https://www.tesco.com/groceries/en-GB/products/272202380Product
https://www.tesco.com/groceries/en-GB/shop/fresh-food/allListing
https://www.tesco.com/groceries/en-GB/search?query=milkSearch

Supported Tesco Regions

RegionSupported
Tesco United Kingdom (tesco.com)
Tesco Ireland (tesco.ie)

Tesco Scraper Search Parameters

Tesco Scraper Input Image

ParameterTypeDefaultDescription
categorystringfresh-foodCategory slug to scrape products from (e.g. fresh-food, bakery, drinks). Ignored if categories is used.
categoriesarray (string)Select the product categories you want to scrape. The category field will be ignored if this is used. ⚠️ Paid-only feature.
regionstringUKTesco region to target for scraping (e.g. UK). Determines product availability and pricing.
keywordstringKeyword used to search Tesco products (e.g. chicken, protein bars). Scrapes results from search listings.
urlsarray (string)List of product, category, or search URLs for bulk scraping (e.g. ["https://tesco.com/..."]).
include_product_detailsbooleantrueWhen enabled, fetches detailed product page data such as descriptions, nutrition, and specifications.
include_reviewsbooleanfalseIf enabled, includes all reviews for each product. ⚠️ Additional costs may apply and processing time can increase significantly.
only_uniquebooleantrueIf enabled, returns only unique products based on product identifier. Useful for large scrapes to avoid duplicates.
max_itemsnumber100Maximum number of products to retrieve. ⚠️ Free users are limited to 100 items.
max_pagesnumber1Number of listing/search result pages to crawl. ⚠️ Free users are limited to 5 pages.
page_offsetnumber1Page number to start scraping from. ⚠️ Paid-only feature; free users limited to page 1.

📄 Field Reference

FieldTypeDescription
product_idstringUnique identifier for the product.
base_product_idstringBase identifier shared across product variants.
skustringStock keeping unit identifier.
gtinstringGlobal Trade Item Number
brand_namestringBrand of the product.
namestringFull product name.
descriptionstringProduct description text.
pricenumberCurrent product price.
currencystringCurrency code (e.g. GBP).
isLowEverydayPricingbooleanIndicates if product has everyday low pricing.
isLowPricePromisebooleanIndicates if product is part of Tesco price promise.
in_stockbooleanAvailability status of the product.
promotionobject or nullPromotion details if available.
price_matches_competitorbooleanIndicates if Tesco matches competitor pricing.
competitorsarray or nullCompetitor pricing data if available.
unitstringMeasurement unit (e.g. G, ML).
unit_pricenumberPrice per unit.
unit_quantitystringQuantity corresponding to the unit.
servingsnumber or nullNumber of servings per product.
netContentsstringNet content information.
drainedWeightstring or nullDrained weight if applicable.
dosagestring or nullDosage instructions (if applicable).
prepartionAndUsagestring or nullPreparation and usage instructions.
preparationGuidelinesstring or nullAdditional preparation guidelines.
cookingInstructionsarrayCooking instructions list.
freezingInstructionsstring or nullFreezing instructions.
directionsstring or nullGeneral usage directions.
featuresarray (string)Key product features.
healthClaimsarray or nullHealth-related claims.
boxContentsstring or nullBox/package contents.
nutritionalClaimsarray (string)Nutritional claims (e.g. Low Fat).
otherInformationarray (string)Additional product-related information.
additivesarray (string)Additives present in the product.
recyclingInfostringRecycling instructions.
safetyWarningstring or nullSafety warnings if available.
warningsarray (string)Important warnings.
originInformationstring or nullOrigin details of the product.
image_urlstring (URL)URL of the product image.
urlstring (URL)Tesco product page URL.
buy_limitnumberMaximum allowed purchase quantity.
buy_limit_messagestringMessage describing purchase limit.
is_newbooleanIndicates if the product is newly listed.
sale_typestringType of sale (e.g. SingleProduct).
main_categorystringTop-level category.
sub_categorystringSub-category classification.
product_categorystringProduct category grouping.
product_typestringSpecific product type.
product_attributesarray (string)Additional product attributes.
ingredientsstringIngredients list.
allergensstringAllergen information.
storage_instructionsarray (string)Storage instructions.
usage_instructionsstring or nullUsage instructions.
nutritionobjectNutritional values per standard measure (e.g. 100g).
nutrition_per_servingobjectNutritional values per serving.
manufacturerobjectManufacturer details including name and address.
additional_informationarray (string)Additional manufacturer or product notes.
marketing_textarray (string)Marketing descriptions or promotional text.
total_reviewsnumberTotal number of reviews.
overall_ratingnumberAverage product rating.
ratings_distributionarray (object)Breakdown of ratings by score including count and share.
reviewsarray (object)List of individual reviews including rating, title, and content.

📌 Output

Overview Table Tesco Scraper Output JSON

{
"product_id": "317764532",
"base_product_id": "93601340",
"sku": "317764532",
"gtin": "04025500294618",
"brand_name": "Müller",
"name": "MULLER X MY PROTEIN Mousse Chocolate Flavour 200g",
"description": "High protein low fat chocolate flavour mousse with sweeteners.",
"price": 2.25,
"currency": "GBP",
"isLowEverydayPricing": false,
"isLowPricePromise": false,
"in_stock": true,
"promotion": null,
"price_matches_competitor": false,
"competitors": null,
"unit": "G",
"unit_price": 11.25,
"unit_quantity": "200",
"servings": null,
"netContents": "200g ℮",
"drainedWeight": null,
"dosage": null,
"prepartionAndUsage": null,
"preparationGuidelines": null,
"cookingInstructions": [],
"freezingInstructions": null,
"directions": null,
"features": ["Low Fat", "20g Protein", "Müllerlicious Since 1896"],
"healthClaims": null,
"boxContents": null,
"nutritionalClaims": ["Low Fat"],
"otherInformation": [
"Müller is a registered trade mark of the Müller Group.",
"Mycon is a registered trade mark of Myprotein®"
],
"additives": ["Contains Sweeteners"],
"recyclingInfo": "Foil. Recycle\nPot. Recycle\nSleeve. Recycle",
"safetyWarning": null,
"warnings": ["Contains a source of phenylalanine."],
"originInformation": null,
"image_url": "https://digitalcontent.api.tesco.com/v2/media/ghs/d558938c-a828-407e-b4fc-f4d850e7a337/f0ffa888-673e-4121-b198-f9e68c92e141.jpeg",
"url": "https://www.tesco.com/groceries/en-GB/products/317764532",
"buy_limit": 99,
"buy_limit_message": "Max allowed is 99.",
"is_new": false,
"sale_type": "SingleProduct",
"main_category": "Fresh Food",
"sub_category": "Yogurts",
"product_category": "High Protein Yogurts & Skyr Yogurts",
"product_type": "High Protein Puddings & Desserts",
"product_attributes": ["Low Fat"],
"ingredients": "Water, Milk Proteins, Skimmed Milk Powder, Fat Reduced Cocoa Powder (4%), Cream (Milk), Emulsifier: E471;, Beef Gelatine, Acidity Regulator: Sodium Citrates;, Sweeteners: Aspartame, Acesulfame K",
"allergens": "See ingredients in bold",
"storage_instructions": ["Best before see lid.Keep refrigerated."],
"usage_instructions": null,
"nutrition": {
"Measure": "per: 100g",
" Energy": " 350kJ (84kcal)",
" Fat": " 2.7g",
" of which saturates ": "2.0g",
" Carbohydrate": " 3.9g",
" of which sugars": " 3.5g",
" Protein": " 10.2g",
" Salt": " 0.26g"
},
"nutrition_per_serving": {
"Measure": "Per Pot: 200g",
" Energy": " 700kJ (168kcal)",
" Fat": " 5.4g",
" of which saturates ": " 4.0g",
" Carbohydrate": " 7.8g",
" of which sugars": " 7.0g",
" Protein": " 20.4g",
" Salt": " 0.52g"
},
"manufacturer": {
"name": "Müller,",
"adress": "Müller,TF9 3SQ,UK.,or,Müller Dairy Ireland Ltd,8th Floor,Block E Iveagh Court,Harcourt Road,Dublin 2.",
"email": null,
"phone": null,
"website": null
},
"additional_information": [
"Müller is a registered trade mark of the Müller Group.",
"Mycon is a registered trade mark of Myprotein®"
],
"marketing_text": [
"Enjoy Muller My Protein delicious low fat dairy mousse, each pot packed with 20g of protein. Available in two irresistible flavours, the perfect treat any time, whether that’s a delicious dessert or after a workout."
],
"total_reviews": 35,
"overall_rating": 4.6,
"ratings_distribution": [
{
"rating": 3.0,
"count": 2,
"share": 0.06
},
{
"rating": 4.0,
"count": 10,
"share": 0.29
},
{
"rating": 5.0,
"count": 23,
"share": 0.66
}
],
"reviews": [
{
"review_id": "8b89f65c-5dc2-40de-9e2a-7a455ac1b846",
"posted_at": "2026-03-11T21:23:08.473000Z",
"verified_buyer": false,
"promotional_review": false,
"sampled_review": false,
"rating": 5.0,
"title": "Yum!",
"text": "Totally yummy! Doesn't have that horrible protein taste/texture. Large portion, low calories and feels like a proper pudding. My husband loves these."
}
]
}

Use Cases | What it can be used for

  • Bulk Product Data Collection: Efficiently scrape large volumes of grocery product data
  • Price Comparison: Extract and compare prices across different products and brands to find the best deals.
  • Market Analysis: Analyze product data to understand market trends, popular brands, and product categories.
  • Promotion Tracking: Identify and track promotional offers and discounts on various products.
  • Product Detail Extraction: Collect comprehensive details such as product ID, SKU, GTIN, brand name, description, price, and unit quantity.
  • Stock Availability Monitoring: Check the in-stock status of products to maintain up-to-date availability information.
  • Nutritional Information: Extract and store nutritional data for health and diet analysis.
  • Allergen Warnings: Gather allergen information to ensure product safety for consumers with specific dietary requirements.
  • Manufacturer Details: Collect manufacturer information including name, address, email, and website for reference and contact purposes.
  • Categorization: Classify products into main categories, sub-categories, and product types for better organization and searchability.

⚙️ While the scraper is running

During the run, the actor will output log messages letting you know what is going on at any point. Each message always contains specific information about the process including which url / page the actor is working on.

If you provide invalid inputs to the actor, it will immediately stop with a failure state and output log messages explaining what is wrong. If you are unsure what went wrong feel free to open up an issue in the issue tab.

🔗 Legality of web scraping

The Tesco UK & Ireland Grocery Scraper is designed to ethically extract only publicly available product data and manufacturer information, and it does not scrape private user data such as personal email addresses or personal identifiers.

Our services are ethical and do not extract any private user data. They only extract what individuals or companies chose to share publicly. We therefore believe that our services, when used for ethical purposes by our users, are safe to use. 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. For more information you can read this blog post on the legality of web scraping from Apify.

💬 Feedback and Support

Your satisfaction is important to us! Therefore we are constantly striving to enhance the performance of our services.

If you have any technical feedback or encounter any bugs within the Tesco UK & Ireland Grocery Scraper, please create an issue in the Actor’s Issues tab on the Apify Console to let us know about it. We will look into it as soon as possible.

You can also contact us directly for help on integrations, customized projects or new use cases at business@radeance.com.