Tesco UK & Ireland Scraper
Pricing
from $1.39 / 1,000 products
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
Maintained by CommunityActor 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 daysand 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?
| Field | Description |
|---|---|
product_id, tpnb, base_product_id | Tesco product IDs (the product_id is the number in the product URL) |
gtin | Barcode (GTIN / EAN) |
name, brand_name, url, image_url, images | Product name, brand, product page and images |
region, currency | UK / GBP or IE / EUR |
price, unit_price, unit_of_measure | Shelf price and price per kg, litre or each |
clubcard_price | Single-item Clubcard price as a number, e.g. 0.5 for "50p Clubcard Price" |
promotions | Every promotion: text, start and end date, Clubcard flag, unit selling info |
is_low_everyday_pricing, is_low_price_promise, price_matches_competitor, competitors | Tesco pricing badges and Aldi Price Match |
in_stock, status, buy_limit, is_new, is_sponsored | Availability, max quantity per order, new and sponsored flags |
super_department, department, aisle, shelf | Tesco category path |
ingredients, allergens, allergens_highlighted | Ingredients text, allergen advice and the allergens Tesco shows in bold |
nutrition, nutrition_per_serving, nutrition_table | Nutrition per 100g/100ml and per serving, with reference intakes |
pack_size, net_contents, number_of_uses | Pack size, net contents and servings |
storage_instructions, cooking_instructions, freezing_instructions | Storage and preparation |
origin_information, recycling_info, warnings, manufacturer_address | Origin, packaging recycling, warnings and manufacturer |
total_reviews, overall_rating, ratings_distribution, reviews | Ratings and customer reviews |
How to scrape Tesco
- Open Tesco UK & Ireland Scraper in Apify Console.
- Type one or more Search keywords, pick Categories, or paste Tesco URLs from tesco.com or tesco.ie.
- Choose the Region (United Kingdom or Ireland) for keywords and categories.
- Set Max products. Turn on Include reviews if you need customer reviews.
- Click Start and wait for the run to finish.
- Download the data from the Output tab as JSON, CSV, Excel, XML or HTML, or read it through the API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | array of strings | No* | — | Keywords to search Tesco with, e.g. ["milk", "protein bars"] |
startUrls | array of strings | No* | — | Tesco product, search or category URLs from tesco.com or tesco.ie |
categories | array | No* | — | Whole departments, e.g. ["fresh-food", "drinks"] |
region | string | No | UK | UK (tesco.com, GBP) or IE (tesco.ie, EUR) for keywords and categories |
maxItems | integer | No | 100 | Maximum products to save across all inputs |
includeProductDetails | boolean | No | true | Add ingredients, allergens, nutrition, storage, origin, images and more |
includeReviews | boolean | No | false | Add customer reviews to each product |
maxReviewsPerProduct | integer | No | 20 | Reviews per product, up to 500 |
reviewsPostedWithin | string | No | — | Keep reviews newer than e.g. 7 days, 3 months, 1 year or 2026-01-31 |
sortBy | string | No | relevance | relevance, price-ascending or price-descending |
startPage | integer | No | 1 | Results page to start from (24 products per Tesco page) |
maxPagesPerSource | integer | No | 0 | Max result pages per keyword, URL or category (0 = all) |
deduplicateProducts | boolean | No | true | Save each product only once per run |
proxyConfiguration | object | No | off | Not needed for Tesco |
* Add at least one keyword, URL or category.
Supported Tesco URLs
| URL | Type |
|---|---|
https://www.tesco.com/groceries/en-GB/products/272202380 | Product |
https://www.tesco.com/shop/en-GB/products/254656543 | Product (new-style link) |
https://www.tesco.com/groceries/en-GB/search?query=milk | Search (sortBy and page in the URL are respected) |
https://www.tesco.com/groceries/en-GB/shop/fresh-food/all | Department |
https://www.tesco.com/shop/en-GB/browse/fresh-food/fresh-fruit/bananas | Aisle (new-style link) |
https://www.tesco.com/shop/en-GB/browse/fresh-food/milk-butter-and-eggs/milk/semi-skimmed-milk | Shelf |
https://www.tesco.ie/groceries/en-IE/products/252293306 | Product, Ireland |
https://www.tesco.ie/groceries/en-IE/shop/bakery/all | Department, 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 ApifyClientclient = 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
- Keywords, categories and URLs are turned into Tesco searches, category listings and product lookups for the right region.
- The scraper pages through results in Tesco's own order (or price order), up to your limits.
- With details on, each product's full product page data is added; with reviews on, reviews are added newest first.
- 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.
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
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.
Is it legal to scrape Tesco?
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
| Actor | What it scrapes |
|---|---|
| Woolworths Australia Grocery Products Scraper | Woolworths AU grocery products and prices |
| ALDI Australia Scraper | ALDI Australia products and prices |
| Walmart Product Scraper | Walmart product details and prices |
| Target Product Scraper | Target product details and prices |
| Amazon Search Scraper | Amazon search results |
| Zepto Product Scraper | Zepto quick-commerce products in India |