Tesco UK & Ireland Scraper
Pricing
Pay per event
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
Actor stats
15
Bookmarked
318
Total users
17
Monthly active users
3.6 days
Issues response
19 hours ago
Last modified
Categories
Share
Tesco UK & Ireland Grocery Scraper
| 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
- 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_pagesormax_itemslimit is reached
-
📊 Flexible Data Output
- Outputs data in various formats including CSV, XLSX, JSON, JSONL, XML, and RSS
📍 Input
Supported URL Formats
| URL format Supported | Type | Supported |
|---|---|---|
https://www.tesco.com/groceries/en-GB/products/272202380 | Product | ✅ |
https://www.tesco.com/groceries/en-GB/shop/fresh-food/all | Listing | ✅ |
https://www.tesco.com/groceries/en-GB/search?query=milk | Search | ✅ |
Supported Tesco Regions
| Region | Supported |
|---|---|
| Tesco United Kingdom (tesco.com) | ✅ |
| Tesco Ireland (tesco.ie) | ✅ |
Tesco Scraper Search Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
category | string | fresh-food | Category slug to scrape products from (e.g. fresh-food, bakery, drinks). Ignored if categories is used. |
categories | array (string) | — | Select the product categories you want to scrape. The category field will be ignored if this is used. ⚠️ Paid-only feature. |
region | string | UK | Tesco region to target for scraping (e.g. UK). Determines product availability and pricing. |
keyword | string | — | Keyword used to search Tesco products (e.g. chicken, protein bars). Scrapes results from search listings. |
urls | array (string) | — | List of product, category, or search URLs for bulk scraping (e.g. ["https://tesco.com/..."]). |
include_product_details | boolean | true | When enabled, fetches detailed product page data such as descriptions, nutrition, and specifications. |
include_reviews | boolean | false | If enabled, includes all reviews for each product. ⚠️ Additional costs may apply and processing time can increase significantly. |
only_unique | boolean | true | If enabled, returns only unique products based on product identifier. Useful for large scrapes to avoid duplicates. |
max_items | number | 100 | Maximum number of products to retrieve. ⚠️ Free users are limited to 100 items. |
max_pages | number | 1 | Number of listing/search result pages to crawl. ⚠️ Free users are limited to 5 pages. |
page_offset | number | 1 | Page number to start scraping from. ⚠️ Paid-only feature; free users limited to page 1. |
📄 Field Reference
| Field | Type | Description |
|---|---|---|
product_id | string | Unique identifier for the product. |
base_product_id | string | Base identifier shared across product variants. |
sku | string | Stock keeping unit identifier. |
gtin | string | Global Trade Item Number |
brand_name | string | Brand of the product. |
name | string | Full product name. |
description | string | Product description text. |
price | number | Current product price. |
currency | string | Currency code (e.g. GBP). |
isLowEverydayPricing | boolean | Indicates if product has everyday low pricing. |
isLowPricePromise | boolean | Indicates if product is part of Tesco price promise. |
in_stock | boolean | Availability status of the product. |
promotion | object or null | Promotion details if available. |
price_matches_competitor | boolean | Indicates if Tesco matches competitor pricing. |
competitors | array or null | Competitor pricing data if available. |
unit | string | Measurement unit (e.g. G, ML). |
unit_price | number | Price per unit. |
unit_quantity | string | Quantity corresponding to the unit. |
servings | number or null | Number of servings per product. |
netContents | string | Net content information. |
drainedWeight | string or null | Drained weight if applicable. |
dosage | string or null | Dosage instructions (if applicable). |
prepartionAndUsage | string or null | Preparation and usage instructions. |
preparationGuidelines | string or null | Additional preparation guidelines. |
cookingInstructions | array | Cooking instructions list. |
freezingInstructions | string or null | Freezing instructions. |
directions | string or null | General usage directions. |
features | array (string) | Key product features. |
healthClaims | array or null | Health-related claims. |
boxContents | string or null | Box/package contents. |
nutritionalClaims | array (string) | Nutritional claims (e.g. Low Fat). |
otherInformation | array (string) | Additional product-related information. |
additives | array (string) | Additives present in the product. |
recyclingInfo | string | Recycling instructions. |
safetyWarning | string or null | Safety warnings if available. |
warnings | array (string) | Important warnings. |
originInformation | string or null | Origin details of the product. |
image_url | string (URL) | URL of the product image. |
url | string (URL) | Tesco product page URL. |
buy_limit | number | Maximum allowed purchase quantity. |
buy_limit_message | string | Message describing purchase limit. |
is_new | boolean | Indicates if the product is newly listed. |
sale_type | string | Type of sale (e.g. SingleProduct). |
main_category | string | Top-level category. |
sub_category | string | Sub-category classification. |
product_category | string | Product category grouping. |
product_type | string | Specific product type. |
product_attributes | array (string) | Additional product attributes. |
ingredients | string | Ingredients list. |
allergens | string | Allergen information. |
storage_instructions | array (string) | Storage instructions. |
usage_instructions | string or null | Usage instructions. |
nutrition | object | Nutritional values per standard measure (e.g. 100g). |
nutrition_per_serving | object | Nutritional values per serving. |
manufacturer | object | Manufacturer details including name and address. |
additional_information | array (string) | Additional manufacturer or product notes. |
marketing_text | array (string) | Marketing descriptions or promotional text. |
total_reviews | number | Total number of reviews. |
overall_rating | number | Average product rating. |
ratings_distribution | array (object) | Breakdown of ratings by score including count and share. |
reviews | array (object) | List of individual reviews including rating, title, and content. |
📌 Output
Overview Table
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.