Tesco Czech Republic Scraper — Grocery Products & Prices avatar

Tesco Czech Republic Scraper — Grocery Products & Prices

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
Tesco Czech Republic Scraper — Grocery Products & Prices

Tesco Czech Republic Scraper — Grocery Products & Prices

Scrape the full Tesco Czech Republic groceries catalogue: product names, CZK prices, Clubcard offers, price per unit, EAN codes, images, ratings and categories. Search by keyword, walk the department tree or scrape one category. No login, no cookies.

Pricing

from $2.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Tesco Czech Republic Groceries Scraper

Scrape Tesco Czech Republic's grocery range: product names, CZK prices, Clubcard offers, price per unit, EAN codes, images, ratings, stock and full category paths. Search by keyword, scrape one category, or walk the entire catalogue. No login, no cookies.

Why use this actor?

Tesco is one of the Czech Republic's largest grocers, and its online range (nakup.itesco.cz) is one of the biggest price datasets in Czech retail. This actor gives you a clean, structured feed of the Tesco Czech grocery catalogue for price monitoring, competitor benchmarking, product matching, market research, or building a grocery price comparison. You get the same data the Tesco website shows shoppers, including Clubcard prices, without needing an account or a delivery slot.

Two data paths, both first-class. Keyword searches go straight to Tesco's own search API, the same one the site uses, so search runs are fast and return clean structured data including the real brand name. Category and full-catalogue runs read the authoritative listing data embedded in Tesco's rendered pages, including the exact product total for every category.

Complete past the 10,000 cap. Every Tesco listing is capped at 10,000 results, so a single broad crawl can silently truncate large departments. This actor walks the category tree (superdepartment → department → aisle → shelf) and, whenever a node's total hits the cap, descends into its child categories until every listing stays under 10,000. Products are deduped by Tesco product id (TPNC), and the run ends with a self-checking completeness assertion that compares per-category distinct coverage against the authoritative totals.

Tesco Czech Republic sits behind a bot-protection wall, so ordinary scrapers get rejected before any product loads. For category scraping this actor routes every request through the Bright Data Web Unlocker, which solves the protection challenge and returns the fully rendered page, so you get reliable results run after run. Keyword search does not need Bright Data at all.

How to scrape Tesco Czech Republic data

  1. Add this actor to your Apify account.
  2. Choose what to scrape:
    • Set searchQuery to scrape a keyword, e.g. mléko (milk) or chléb (bread). This path needs no Bright Data key.
    • Set categoryUrl to scrape one category, e.g. bakery or bakery/sweet-pastry, or a full https://nakup.itesco.cz/shop/en-CZ/browse/... URL.
    • Or paste a list of listing URLs into startUrls.
    • Leave everything empty to walk the whole grocery catalogue (all grocery superdepartments).
  3. For category or full-catalogue runs, provide a Bright Data API key (field brightDataApiKey, stored as a secret) or set the BRIGHT_DATA_API_KEY environment variable.
  4. Set maxProducts to cap the run (default 100, prefilled 20 for a quick test). Set it high, e.g. 25000, for a full-catalogue pull.
  5. Run the actor. Results stream to the dataset and can be exported as JSON, CSV, Excel or fed to an API.

For category runs the actor reads the authoritative product total of every listing and paginates 200 products per page. Whenever a listing's total hits Tesco's 10,000 cap, the actor drills into that category's children so no shelf is ever truncated. Set enumerateOnly: true to walk the tree and report the exact catalogue size without scraping products, a cheap way to verify completeness before a full run.

Input

FieldTypeRequiredDescription
searchQueryStringNoSearch Tesco Czech Republic groceries by keyword (no Bright Data key needed)
categoryUrlStringNoA Tesco Czech Republic category URL or slug to scrape
startUrlsArrayNoOne or more Tesco Czech Republic listing URLs
maxProductsIntegerNoMaximum products to return (default 100)
brightDataApiKeyString (secret)For categoriesBright Data Web Unlocker API key. Falls back to BRIGHT_DATA_API_KEY env var.
enumerateOnlyBooleanNoWalk the tree and report the authoritative catalogue size without scraping products
requestDelaySecsIntegerNoMinimum pause between category page fetches (for very large paced runs)
proxyConfigurationObjectNoProxy settings for the search API path

Example input

{
"searchQuery": "mléko",
"maxProducts": 100
}

Or a category run:

{
"categoryUrl": "bakery/sweet-pastry",
"maxProducts": 500
}

Output

FieldTypeExampleDescription
nameStringTesco Roll 43gProduct name
brandStringTescoBrand name (search API) or own-brand detection
priceNumber2.9Current shelf price in CZK
currencyStringCZKAlways CZK
pricePerUnitString67.44 Kč/kgUnit price
discountStringClubcard PriceClubcard / promotion text if present
eanString02167700000000Barcode (GTIN) where available
skuString200151875Tesco base product number (TPNB)
productIdString200151875Tesco consumer product number (TPNC)
inStockBooleantrueAvailability flag
ratingNumber3.8Average review rating (0-5)
reviewCountInteger4Number of reviews
categoryStringBakery > Loose pastry > Savory Pastry > RollsFull category path
imageUrlStringhttps://digitalcontent.api.tesco.com/...Primary product image
urlStringhttps://nakup.itesco.cz/shop/en-CZ/products/200151875Product page URL
scrapedAtString2026-07-06T12:00:00.000ZTimestamp

Example output

{
"name": "Tesco Roll 43g",
"brand": "Tesco",
"price": 2.9,
"currency": "CZK",
"pricePerUnit": "67.44 Kč/kg",
"ean": "02167700000000",
"sku": "200151875",
"productId": "200151875",
"inStock": true,
"rating": 3.8,
"reviewCount": 4,
"imageUrl": "https://digitalcontent.api.tesco.com/v2/media/ghs/eee4737d-db37-4180-8572-605292d79de9/c82dfc06-82d9-4153-8c71-22bfc05a2485.jpeg",
"category": "Bakery > Loose pastry > Savory Pastry > Rolls",
"categories": ["Bakery", "Loose pastry", "Savory Pastry", "Rolls"],
"url": "https://nakup.itesco.cz/shop/en-CZ/products/200151875",
"scrapedAt": "2026-07-06T12:00:00.000Z"
}

Cost estimate

Keyword searches fetch up to 200 products per request, so even large keyword pulls cost only a few cents of platform usage. Category runs go through the Bright Data Web Unlocker (about $0.0015 per page fetch on Bright Data's side) and also return up to 200 products per page, so a full-catalogue pull of the Czech grocery range needs only a few hundred unlocker requests.

  • Tesco Groceries Scraper (UK) — the full Tesco UK grocery catalogue, same completeness engine.
  • Tesco Ireland Groceries Scraper — the Irish Tesco grocery range in EUR.
  • Building a wider grocery price dataset? Pair these with the rest of the Studio AMBA grocery and supermarket scrapers for cross-market price comparison.

Limitations / known issues

  • Tesco Czech Republic's website does not expose historical prices; each run captures a snapshot (use scheduled runs to build a price history).
  • rating and reviewCount are only present for products that have reviews.
  • The discount field carries the promotion text exactly as Tesco publishes it.
  • Category scraping requires a Bright Data Web Unlocker key; keyword search does not.
  • A full-catalogue walk is a long run. The actor persists its progress and survives Apify server migrations: already-pushed products are never duplicated and completed categories are skipped on resume.
  • Tesco Czech Republic currently has no third-party marketplace; if Tesco ever adds one, this actor's own-range guard will keep marketplace items out of the output.