Hornbach CZ Scraper — DIY Products, Tools & Prices
Pricing
from $1.20 / 1,000 result scrapeds
Hornbach CZ Scraper — DIY Products, Tools & Prices
Scrapes products from Hornbach.cz (Czech Republic) with prices in CZK, ratings, stock info and specs. Supports search queries and category URLs.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Hornbach CZ Scraper -- Czech DIY Megastore Products, Prices & Stock
Scrape products, prices in CZK, ratings, stock status, and SKU data from hornbach.cz -- the Czech storefront of Hornbach, the German-founded DIY megastore chain. Extracts data from Hornbach's Apollo/GraphQL state for fast, reliable results.
What is Hornbach CZ Scraper?
Hornbach is a warehouse-format DIY chain with large-format stores designed for renovation projects, new builds, and professional contracting work. The Czech storefront (hornbach.cz) serves Hornbach's Czech Republic stores with local pricing in Czech koruna (CZK) and Czech-language product listings.
Hornbach's website uses a modern React frontend with Apollo GraphQL state management, and the Czech site runs on the same platform as the rest of the group. This scraper extracts product data directly from the server-rendered Apollo state embedded in the HTML -- no JavaScript rendering needed on the extraction side, which makes it fast and reliable once the anti-bot layer is past.
- Czech market price benchmarking -- Compare Hornbach CZ's pricing on building materials, lumber, and tools against local competitors
- Bulk material cost tracking -- Monitor prices on high-volume items like wood, tiles, screws, and paint to optimize procurement timing
- Power tool competitive analysis -- Track how Hornbach CZ prices power tools from DeWalt, Bosch, Makita, and other brands in the Czech market
- Garden and outdoor project planning -- Extract pricing data for garden sheds, terrace materials, fencing, and outdoor equipment
- European DIY market research -- Compare Czech pricing against Hornbach's other European storefronts (Germany, Netherlands, Austria)
What data does Hornbach CZ Scraper extract?
- Product name -- Full Czech product title
- Price & discounts -- Current price in CZK, original/strike-through price when discounted
- Brand -- Manufacturer name (DeWalt, Bosch, Wolfcraft, Stanley, HORNBACH, etc.) when the listing exposes it
- Stock availability -- Online availability status
- Ratings & reviews -- Average rating and review count
- Product image -- Main product image URL
- Product URL -- Direct link on hornbach.cz
- SKU / Article number -- Hornbach's internal article number for reference and reordering
How to scrape Hornbach Czech Republic data
| Field | Type | Description |
|---|---|---|
searchQuery | String | Search by keyword -- e.g., "vrtacka" (drill), "sroubovak" (screwdriver), "drevo" (wood) |
categoryUrl | String | Direct category URL -- e.g., https://www.hornbach.cz/c/stroje-naradi-a-dilna/S11542/ |
maxResults | Integer | Maximum products to scrape (default: 100, set to 0 for unlimited) |
proxyConfiguration | Object | Apify residential proxy, Czech Republic, recommended for reliability |
Tips:
categoryUrloverridessearchQueryif both are provided- The search URL pattern is
https://www.hornbach.cz/s/{query}/ - Category URLs use the pattern
/c/{slug}/S{id}/ - Set
maxResultsto 0 to scrape everything the query or category returns - Use Czech-language keywords for
searchQuery-- the site indexes in Czech, not German or English
Output
{"name": "Stojan na vrtačku DS-43N","brand": "Proma","price": 1890,"currency": "CZK","url": "https://www.hornbach.cz/p/stojan-na-vrtacku-ds-43n/8461965/","scrapedAt": "2026-08-27T14:11:10.097Z","imageUrl": "https://media.hornbach.cz/hb/packshot/as.47446851.jpg?dvid=8","rating": 2.5,"reviewCount": 2,"sku": "8461965_ST","inStock": true}
A power tool combo example:
{"name": "Aku sada nářadí DeWalt DCK2080P2T-QW 18V příklepová vrtačka DCD796 a úhlová bruska DCG405","brand": "DeWalt","price": 8980,"currency": "CZK","url": "https://www.hornbach.cz/p/aku-sada-naradi-dewalt-dck2080p2t-qw-18v/12142465/","scrapedAt": "2026-08-27T14:11:10.097Z","imageUrl": "https://media.hornbach.cz/hb/packshot/as.91558006.jpg?dvid=8","rating": 5,"reviewCount": 3,"sku": "12142465_ST","inStock": false}
How much does it cost?
Hornbach CZ Scraper uses direct HTTP requests with Apollo state extraction, falling back to a rendering fetch only when the site's anti-bot challenge blocks the direct path.
| Scenario | Products | Est. cost |
|---|---|---|
| Quick search | 100 | ~$0.15 |
| Category deep dive | 500 | ~$0.50 |
| Department inventory | 1,000 | ~$0.90 |
| Full catalog section | 5,000 | ~$3.50 |
That works out to roughly $0.0015 per result on Bright Data render-mode fetches, plus Apify platform compute. Proxy costs may apply depending on your Apify plan and proxy configuration.
Usage cost only settles once a run reports SUCCEEDED — if you read the dataset while the run is still in progress, the cost shown will be far below the final total. Wait for SUCCEEDED before relying on the run's cost figure.
Can I integrate?
- JSON, CSV, Excel -- Direct dataset download
- Google Sheets -- Auto-sync via Apify integration
- Webhooks -- Trigger your pipeline on completion
- API -- Programmatic access (see below)
- Zapier / Make -- 5,000+ app integrations
- Amazon S3, Google Cloud Storage -- Cloud storage push
Can I use it as an API?
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("studio-amba/hornbach-cz-scraper").call(run_input={"searchQuery": "vrtacka","maxResults": 200,"proxyConfiguration": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "CZ"}})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['name']} - {item['price']} CZK")
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('studio-amba/hornbach-cz-scraper').call({searchQuery: 'vrtacka',maxResults: 200,proxyConfiguration: { useApifyProxy: true, apifyProxyGroups: ['RESIDENTIAL'], apifyProxyCountry: 'CZ' },});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
FAQ
Does this work for Hornbach in other countries? This scraper targets hornbach.cz (Czech Republic) specifically -- prices are extracted in CZK and search/category URL patterns are matched to the Czech site. For Germany, see the separate Hornbach Scraper actor.
Why does the currency show as CZK? The Czech Republic is not in the eurozone. Hornbach.cz prices everything in Czech koruna (Kč), and this scraper reports that currency code directly from the site's own pricing data rather than assuming EUR.
How does the Apollo state extraction work?
Hornbach's website server-renders product listings using React with Apollo Client, the same platform used across all Hornbach country stores. The full Apollo state (including product data, prices, ratings) is embedded in the HTML as window.__APOLLO_STATE__. The scraper parses this JSON directly, which is faster and more reliable than scraping HTML elements.
What if the Apollo state is not found? The scraper includes an HTML fallback parser that extracts product data from DOM elements (product tiles, price elements, brand labels). This covers cases where Hornbach changes their rendering approach.
Does the site block automated requests? Hornbach.cz runs behind a JavaScript challenge wall on some request paths. The actor first tries a direct fetch through a Czech residential proxy, and falls back to a rendering-capable fetch when that's blocked, so results come back either way.
Can I track Hornbach's weekly promotions?
Yes. Products with active promotions will show both price (current) and originalPrice (before discount). Schedule the actor to run weekly to track promotional patterns over time.
Are brand names always populated?
Not always -- some listings on hornbach.cz don't attach a brand field to the product record (accessories and own-range items in particular), so brand can come back empty on those items even though every other field is populated.
Limitations
- Targets hornbach.cz (Czech Republic) only -- for hornbach.de (Germany), use the separate Hornbach Scraper actor
- Data is extracted from listing-level Apollo state, so detailed specs and full descriptions are not included (these would require visiting individual product pages)
- If Hornbach changes their Apollo state structure or switches rendering approaches, extraction may be temporarily affected
- Pagination stops when fewer than 20 products are found on a page (heuristic for detecting the last page)
brandis sometimes empty at source for accessories and own-range products
Other DIY & home improvement scrapers
Compare Hornbach CZ with other major European DIY retailers:
- Hornbach Scraper -- Germany's Hornbach storefront
- OBI Scraper -- Germany's #1 DIY chain by store count
- Bauhaus Scraper -- German/EU professional hardware & DIY
- Toom Scraper -- Germany, REWE group DIY chain
- GAMMA Scraper -- Belgium, Intergamma group
- Brico Scraper -- Belgium's largest DIY chain
- Hubo Scraper -- Belgian neighborhood DIY
- Praxis Scraper -- Netherlands, Maxeda DIY Group
- Leroy Merlin Scraper -- France's #1 DIY retailer
- Castorama Scraper -- France, Kingfisher group
Your feedback
Found a bug? Need additional data fields? Questions about Hornbach CZ's data structure? Open an issue on the actor's page or reach out through Apify.