Tesco Scraper: Czech Republic, Hungary, Slovakia, Ireland
Pricing
from $2.00 / 1,000 result scrapeds
Tesco Scraper: Czech Republic, Hungary, Slovakia, Ireland
Scrape Tesco groceries in the Czech Republic, Hungary, Slovakia or Ireland: product names, prices in CZK, HUF or EUR, Clubcard offers, price per unit, EAN codes, images, ratings and categories. Search by keyword, scrape one category or walk the full catalogue. No login, no cookies.
Pricing
from $2.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
0
Monthly active users
17 days ago
Last modified
Categories
Features
Share
Tesco Groceries Scraper (Czech Republic, Hungary, Slovakia, Ireland)
Scrape the Tesco grocery range of the Czech Republic, Hungary, Slovakia or Ireland: product names, prices, Clubcard offers, price per unit, EAN codes, images, ratings, stock and full category paths. Pick a country, then search by keyword, scrape one category, or walk the entire catalogue. No login, no cookies.
Supported countries
country | Site | Currency | Example keyword |
|---|---|---|---|
CZ (default) | nakup.itesco.cz | CZK | mléko |
HU | bevasarlas.tesco.hu | HUF | tej |
SK | potravinydomov.itesco.sk | EUR | mlieko |
IE | www.tesco.ie | EUR | milk |
One run covers one country. Every row carries a country and a currency field, so you can combine the datasets of several runs. Prices are never converted.
Tesco UK is a separate actor: Tesco Groceries Scraper (UK).
Why use this actor?
Tesco is one of the largest grocers in each of these four countries, and its online shop is one of the biggest public price datasets in each market. This actor gives you a structured feed of the Tesco grocery catalogue for price monitoring, competitor benchmarking, product matching, market research, or a grocery price comparison across Central Europe and Ireland. You get the same data the Tesco website shows shoppers, including Clubcard prices, without an account or a delivery slot.
The record shape is the same for all four countries. A product from Hungary has the same fields as a product from Ireland, so cross-country comparison needs no mapping.
Keyword searches go to Tesco's own search API, the same one the site uses. Search runs are fast and return structured data including the real brand name. Category and full-catalogue runs read the listing data embedded in Tesco's rendered pages, including the exact product total for every category.
Every Tesco listing is capped at 10,000 results, so one broad crawl can silently truncate a large department. This actor walks the category tree (superdepartment → department → aisle → shelf). Whenever a listing's total hits the cap, the actor descends into the child categories until every listing stays under 10,000. Products are deduplicated by Tesco product id (TPNC), and the run ends with a completeness check that compares the distinct products per category against Tesco's own totals.
The Tesco sites sit behind a bot-protection wall, so ordinary scrapers are rejected before any product loads. For category scraping this actor sends every request through the Bright Data Web Unlocker with an exit in the selected country. Bright Data access is built in and included in the per-result price. Keyword search does not need Bright Data.
How to scrape Tesco data
- Add this actor to your Apify account.
- Set
countrytoCZ,HU,SKorIE. Without it the actor scrapes the Czech Republic. - Choose what to scrape:
- Set
searchQueryto scrape a keyword in the language of the country, e.g.mléko(CZ),tej(HU),mlieko(SK) ormilk(IE). - Set
categoryUrlto scrape one category, as a slug or as a full URL. See the examples below. - Or paste a list of listing URLs into
startUrls. - Leave all three empty to walk the whole grocery catalogue of the country.
- Set
- Set
maxProductsto cap the run (default 100, prefilled 20 for a quick test). Set it high, e.g.30000, for a full-catalogue pull. - Run the actor. Results stream to the dataset and can be exported as JSON, CSV or Excel, or read through the API.
Category slugs per country:
| Country | Slug example | Full URL example |
|---|---|---|
| CZ | bakery or bakery/sweet-pastry | https://nakup.itesco.cz/shop/en-CZ/browse/bakery/all |
| HU | tejtermek-tojas/all | https://bevasarlas.tesco.hu/shop/hu-HU/browse/tejtermek-tojas/all |
| SK | pekaren/all | https://potravinydomov.itesco.sk/shop/sk-SK/browse/pekaren/all |
| IE | bakery/bread | https://www.tesco.ie/shop/en-IE/browse/bakery/bread |
A full Tesco URL names its own country. If the URL belongs to another country than the country input, the actor scrapes the country of the URL. All URLs in one run must belong to the same country.
For category runs the actor reads the product total of every listing and paginates 200 products per page. Set enumerateOnly: true to walk the tree and report the exact catalogue size without scraping products. That is a cheap way to check the size of a full run before you start it.
Input
| Field | Type | Required | Description |
|---|---|---|---|
country | String | No | CZ (default), HU, SK or IE |
searchQuery | String | No | Search Tesco groceries by keyword (no Bright Data needed) |
categoryUrl | String | No | A Tesco category URL or slug to scrape |
startUrls | Array | No | One or more Tesco listing URLs, all from the same country |
maxProducts | Integer | No | Maximum products to return (default 100, maximum 100,000) |
brightDataApiKey | String (secret) | No | Your own Bright Data Web Unlocker API key for category and full-catalogue runs. Leave empty to use the built-in access. |
enumerateOnly | Boolean | No | Walk the tree and report the catalogue size without scraping products |
requestDelaySecs | Integer | No | Minimum pause between category page fetches (for very large paced runs) |
proxyConfiguration | Object | No | Proxy settings for the search API. A proxy country of CZ, HU, SK or IE follows the selected country. |
Example input
A keyword search in Hungary:
{"country": "HU","searchQuery": "tej","maxProducts": 100}
A category run in Ireland:
{"country": "IE","categoryUrl": "bakery/bread","maxProducts": 500}
The full Slovak catalogue:
{"country": "SK","maxProducts": 30000,"requestDelaySecs": 15}
Output
| Field | Type | Example | Description |
|---|---|---|---|
name | String | Tesco Roll 43g | Product name |
brand | String | Tesco | Brand name (search API) or own-brand detection |
price | Number | 2.9 | Current shelf price |
currency | String | CZK | CZK (CZ), HUF (HU) or EUR (SK, IE) |
country | String | CZ | CZ, HU, SK or IE |
pricePerUnit | String | 67.44 Kč/kg | Unit price in the local format: 67.44 Kč/kg, 289 HUF/l, €2.80/kg |
discount | String | Clubcard Price | Clubcard or promotion text, only when the product has an offer |
ean | String | 02167700000000 | Barcode (GTIN) where available |
sku | String | 200151875 | Tesco base product number (TPNB) |
productId | String | 200151875 | Tesco consumer product number (TPNC) |
inStock | Boolean | true | Availability. Absent when Tesco does not state it. |
rating | Number | 3.8 | Average review rating (0-5), only for reviewed products |
reviewCount | Integer | 4 | Number of reviews, only for reviewed products |
category | String | Bakery > Loose pastry > Savory Pastry > Rolls | Full category path |
categories | Array | ["Bakery", "Loose pastry"] | The category path as a list |
imageUrl | String | https://digitalcontent.api.tesco.com/... | Primary product image |
url | String | https://nakup.itesco.cz/shop/en-CZ/products/200151875 | Product page URL |
scrapedAt | String | 2026-10-13T12:00:00.000Z | Timestamp |
Example output
{"name": "Riska UHT tej 2,8% 1 l","brand": "Riska","price": 289,"currency": "HUF","country": "HU","pricePerUnit": "289 HUF/l","ean": "05998200564338","sku": "120502935","productId": "120502935","inStock": true,"rating": 5,"reviewCount": 3,"imageUrl": "https://digitalcontent.api.tesco.com/v2/media/ghs/873dff8f-900a-43d3-b8e3-8f1cbd7bc973/fbe57feb-d888-415a-92df-2ff8b34a3671.jpeg","category": "Tejtermék-tojás > Tejek, tejitalok > Tartós tejek > 2,8%-3,5% zsírtartalmú tejek","categories": ["Tejtermék-tojás", "Tejek, tejitalok", "Tartós tejek", "2,8%-3,5% zsírtartalmú tejek"],"url": "https://bevasarlas.tesco.hu/shop/hu-HU/products/120502935","scrapedAt": "2026-10-13T18:42:25.364Z"}
Cost estimate
The price is $0.002 per result ($2 per 1,000 products) plus $0.005 per run start, for every country. Bright Data access for category runs is included in that price.
A keyword search returns up to 200 products per request. A category page also holds up to 200 products, so a full-catalogue pull of one country needs a few hundred page fetches.
A run's usage cost only settles after the run reports SUCCEEDED. Reading the cost of a run that is still in progress shows a number that is far too low, so estimate spend from finished runs.
Related Scrapers
- Tesco Groceries Scraper (UK) covers the Tesco UK grocery catalogue with the same completeness check.
- The other Studio AMBA grocery and supermarket scrapers use the same field names, so their datasets combine with this one for cross-market price comparison.
Limitations / known issues
- One run covers one country. Run the actor once per country for a multi-country dataset.
- The Tesco websites do not expose historical prices. Each run captures a snapshot. Use scheduled runs to build a price history.
ratingandreviewCountare only present for products that have reviews.- The
discountfield carries the promotion text exactly as Tesco publishes it, in the language of the country. - Category names are in the language of the site. On the Czech site a keyword search returns Czech category names and a category run returns English ones.
- Category scraping goes through the Bright Data Web Unlocker. Access is built in, so no Bright Data account is needed.
- A full-catalogue walk is a long run. The actor saves its progress and survives Apify server migrations: already-pushed products are never duplicated and completed categories are skipped on resume.
- None of the four sites has a third-party marketplace today. If Tesco adds one, the own-range guard keeps marketplace items out of the output.