BAUHAUS.cz Scraper (CZ): Prices & Store Stock
Pricing
from $0.85 / 1,000 products
BAUHAUS.cz Scraper (CZ): Prices & Store Stock
Scrape BAUHAUS.cz (Czech DIY & garden stores) by category, search, article number, EAN or product URL: price, discount, unit price, EAN, MPN, stock in 9 stores, variants, rating & reviews, documents. Filters, monitoring, fast mode. Unofficial.
Pricing
from $0.85 / 1,000 products
Rating
0.0
(0)
Developer
Tomáš Buchta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
BAUHAUS.cz Scraper (Czech Republic): Prices & Store Stock
Scrape products and prices from BAUHAUS.cz, the Czech website of the BAUHAUS DIY, home and garden stores. Start from a category URL, product URLs, search terms (like the website's search box: names, model numbers, brands, EANs), a list of article numbers or EANs, or the whole catalog. For each product you get the name and the subtitle from the product tile ("bílá; matná; 15 kg"), brand, EAN (13 digits), the manufacturer's part number, current price, discount ("Ušetříte X %") with the crossed-out price, which is the lowest price of the last 30 days, the sales unit (piece, carton, bag…), unit price (CZK per litre, kg, m²…), all quantity prices ("od 12 ks"), online availability, labels (leaflet, sell-off, free shipping, online only, BAUHAUS warranty), the energy class, the category breadcrumb of the product page, "Co najdete v balení?", key features, all photo URLs and the related products.
Optionally you also get stock in each of the 9 BAUHAUS stores, the rating with the star distribution, review texts (without the authors' names), the variants (other sizes and shades with their prices), the documents (manuals, technical and safety data sheets, energy labels: names and URLs), and from the product page the technical parameters with dimensions, thickness, weight, material and colour as separate fields, pick-up in a store ("Rezervovat a vyzvednout na prodejně"), the assembly service and the full description.
This actor is for bauhaus.cz (Czech Republic, prices in CZK). The other BAUHAUS scrapers in Apify Store cover the German bauhaus.info.
Built for price monitoring: schedule it daily in monitoring mode and you get, and pay for, only products whose price, discount or availability changed, plus (optionally) the products that disappeared from the website and the ones that came back.
Why use this BAUHAUS.cz scraper?
- 🔎 Real product search, like the website's search box: "EasyDrill 18V-38", "vrtačka", "Makita" or an EAN finds the products in the website's own order.
- 🔢 Your own list of products: up to 5 000 article numbers or EANs per run, read 50 per request. Ideal for monitoring your assortment or matching it with other shops.
- 🏬 Stock in every BAUHAUS store (Trmice, Plzeň, Praha 8, Praha 4, Liberec, České Budějovice, Brno ×2, Čestlice), the same numbers the website shows ("Skladem 5"). Filter products in stock in your store, with a minimum number of pieces, and get alerts when a store gets it back in stock.
- 🏷️ Real prices, clearly separated: current price, crossed-out price (the shop's lowest price of the last 30 days) and discount in %, the sales unit, the unit price (also when the website shows the price per m² as the main price, e.g. floor tiles) and every quantity price, each in its own field.
- 🧾 Data for matching: EAN as 13 digits with a verified check digit (the shop stores some without their leading zeros), the manufacturer's part number (MPN) and the category breadcrumb of the product page, all without opening product pages.
- 🎛️ The website's own filters and sorting: brand, any category parameter (voltage, battery type, colour, size…) and the price range, applied by the shop, so a page limit never cuts the results; sorted by price, by newly added products or by the last update. Or just paste a URL with filters set on the website.
- 🎨 Variants, ⭐ ratings and review texts, 📄 documents (manuals, data sheets, energy labels as URLs) and the full description on request.
- 📉 Monitoring mode and price drop alerts: only new or changed products, with
previousPrice,priceChangeandpriceChangePercent; removed and reappeared products on request. - ⚡ Light and cheap: no browser and no proxy. One request gives 50 products. Optional fast mode up to 5× faster for a tiny extra charge.
What data can you get?
Share of products with a value, measured on runs from 2026-10-13 and 2026-10-14 (paints, drills, tiles, lights, garden; 500 products from "Barvy a tapety", 14 product pages, search and article number runs). Fields marked optional need the input in brackets.
| Field | Example | Filled |
|---|---|---|
| Name, subtitle, brand, article number | Dlažba Cotto Rosato, "340 × 340 mm; matná", 25523573 | name, subtitle 100 %, brand 80–100 % |
| EAN (13 digits), manufacturer's part number | 4053423483987, 0615A5008K | EAN ~90 %, MPN ~85 % |
| Category breadcrumb | Nářadí a stroje › … › Aku šroubováky a Aku vrtačky | 100 % |
| Price, sales unit | 321.30 CZK per karton | 100 % |
| Price before discount (= lowest price of the last 30 days), discount | 195 → 115 CZK, 41 % | discounted products (~2–8 %) |
| Unit price, units per sales unit | 189 CZK per m², 1.7 m² per carton (mainPriceIsUnitPrice: the website shows the m² price big) | ~40–70 % (paints, tiles) |
| Quantity prices | [{"minQuantity": 12, "price": 139}] | ~2–5 % |
| Availability | in_stock ("Dostupné online") | 100 % |
| Labels and flags | Z aktuálního letáku, Doprodej, Doprava zdarma, Pouze online, BAUHAUS záruka, Množstevní sleva, Novinka | ~10–50 % have a label |
| Energy class | E | products with an energy label (lights ~20 %) |
| In the box ("Co najdete v balení?") | 1× aku vrtací šroubovák; 1× akumulátor… | ~10–60 % |
| Photos | imageUrl + imageUrls (all photos) | 100 % (~60 % have more than one) |
| Related / similar products | article numbers of the product page carousels | related ~80 %, similar ~1 % |
| Stock in stores (Add stock in BAUHAUS stores) | Čestlice: 3, Brno Ivanovice: 2, … (9 stores), storesInStock | 100 % |
| Rating, ratings, stars (Add rating) | 4.6, 35, {"5": 30, "4": 2, "3": 0, "2": 1, "1": 2} | 100 % (most products have 0 ratings) |
| Review texts (Add review texts) | rating, title, text, date, language, verified purchase, shop | products with ratings |
| Documents (Add documents) | Návod k použití, Technický list, Energetický štítek… with URLs | ~60 % of tools and paints |
| Variants (Add variants) | 34 other shades and sizes with price and URL | products with a variant picker (paints, brushes) |
| Parameters, description (Add parameters, dimensions, pick-up and description) | Napětí: 18 V, …; the full description | 100 % |
| Pick-up in a store, assembly service (same) | canReserveInStore: true, hasAssemblyService: false | 100 % |
| Width, height, length, depth, thickness (cm), weight (kg), material, colour (same) | 34, –, 34, –, 0.7, –, keramika, hnědá | as in the parameters: weight ~60 %, length ~40 %, material ~30 % |
See the Output tab for all fields.
How to scrape BAUHAUS.cz
- Open BAUHAUS.cz, go to a category, e.g.
https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008, and paste the URL into Category or product URLs. Product URLs (e.g.https://www.bauhaus.cz/lepici-paska-25363104) work too. Or type words into Search terms, or paste Article numbers or EANs. - Optionally choose Sort by, Site filters (brands, parameters) and Filters, and set Max products. Turn on Add stock in BAUHAUS stores, Add rating, Add review texts, Add variants, Add documents or Add parameters, dimensions, pick-up and description if you need them.
- Click Start and download the results as JSON, CSV or Excel, or use the API.
Tip: set filters and sorting on the website and paste the URL, e.g. https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008?manufacturer=7008&sort=final_price. The actor keeps them (and tells you in the log about URL parameters it doesn't use).
Use cases
Daily price monitoring of a category, with removed products:
{"startUrls": [{ "url": "https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008" }],"maxItems": 0,"onlyNewOrChanged": true,"includeRemovedProducts": true,"monitoringKey": "drills-daily"}
Price drop alerts of at least 10 %: add "minPriceDropPercent": 10.
Find a model like the search box:
{"searchQueries": ["EasyDrill 18V-38"],"nameKeywords": ["EasyDrill"],"maxItems": 10}
The website's search also returns loosely related products after the best matches; Name must contain keeps only the model you want.
Monitor your own assortment by article number or EAN:
{"productCodes": ["33134668", "21573637", "25523573"],"eans": ["0088381657914"],"includeStoreStock": true,"onlyNewOrChanged": true,"monitoringKey": "my-assortment"}
Cheapest 18 V Makita and DeWalt drills between 1 000 and 3 000 CZK you can buy online:
{"startUrls": [{ "url": "https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008" }],"sortBy": "priceAsc","brands": ["Makita", "Dewalt"],"parameterFilters": { "Napětí": "18 V" },"minPrice": 1000,"maxPrice": 3000,"onlyAvailableOnline": true,"maxItems": 20}
New in the shop: "sortBy": "newest" lists the products added most recently first.
What's in stock in the Brno stores: "stores": ["Brno Ivanovice", "Brno (Heršpická)"] (adds the stock of all 9 stores to every product).
Leaflet and sell-off deals: Only from the current leaflet ("onlyInLeaflet": true), Only sell-off ("onlySellOff": true), or "onlyDiscounted": true, "minDiscountPercent": 20.
At least 10 pieces in a Brno store, with an alert when a store runs out or gets it back:
{"startUrls": [{ "url": "https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008" }],"stores": ["Brno Ivanovice", "Brno (Heršpická)"],"minStoreQuantity": 10,"onlyNewOrChanged": true,"monitorStoreAvailability": true,"monitoringKey": "brno-stock"}
Customer feedback analysis: Add review texts ("includeReviews": true, "maxReviewsPerProduct": 20) with "minReviewCount": 3.
Manuals, data sheets and energy labels for a product range: Add documents ("includeDocuments": true).
Product content for comparison or AI agents: Add parameters, dimensions, pick-up and description with Description length 0 (the whole description).
Energy-efficient light bulbs: "energyClasses": ["A", "B", "C"] on a lights category.
Reserve and pick up today: Only reservable in a store ("onlyReservableInStore": true, reads the product pages) together with "stores": ["Čestlice"].
All shades and sizes of a paint: a product URL (variants are always included) or Add variants for a whole category.
Price per litre of wall paints or per m² of tiles: read the category and sort by unitPrice (unitPriceUnit says per what; salesUnitContent how much one pack contains).
Site filters (applied by the shop)
| Input | What it does |
|---|---|
| Sort by | Recommended, Newest (newly added first), Recently updated (the website's "Latest"), Cheapest first, Most expensive first. Applies to category listings; search results keep the website's order. |
| Brands | Only these brands, e.g. Bosch, Makita. |
| Parameter filters | Any filter of the category: {"Name": "value"} or {"Name": ["value 1", "value 2"]}, e.g. {"Napětí": "18 V", "Typ akumulátoru": "Li-Ion"}. "Kategorie" filters by product type. |
Min price, Max price, ?price=… in the URL | The shop's price filter (incl. VAT): the whole category is searched, so the page limit doesn't cut the results. |
Names are matched without case and diacritics. If a parameter name doesn't exist in a category, the log lists the filters of that category, and a category where nothing can match is skipped. For search terms, article numbers, EANs and the whole catalog, brands and prices are filtered by the actor.
Filters (you don't pay for filtered-out products)
| Input | Example |
|---|---|
| Only available online | "Dostupné online" |
| In stock in these stores, Only in stock in a store, Min pieces in a store | Čestlice, 10 |
| Only discounted products, Min discount (%) | at least 15 % off |
| Labels | Z aktuálního letáku, Doprodej, Doprava zdarma, Pouze online, BAUHAUS záruka, Množstevní sleva, Novinka |
| Only from the current leaflet, Only sell-off, Only "online only", Only with free shipping | the same labels as switches |
| Energy classes | A, B, E (products without an energy label are skipped) |
| Exclude brands, Name must contain, Name must not contain | aku, not sada |
| Min rating, Min number of ratings, Only products with EAN | 4.5, 5 |
| Only reservable in a store | "Rezervovat a vyzvednout na prodejně" (reads the product pages) |
Only reservable in a store needs the product page, and still returns the full Max products: when a product is filtered out after its page was read, the next one takes its place.
Search terms
A search term is searched like in the website's search box (the search service the website itself calls, in the same way as the browser): product names, model numbers ("EasyDrill 18V-38"), brands and EANs. Results come in the website's order, the best matches first; position is the rank and searchQuery the term. Max pages per search term (50 results per page, default 2, at most 20) limits each term; at most 10 terms per run.
Search mode: Categories reads instead the BAUHAUS categories whose name contains the words (Czech endings don't matter: "vrtačka" finds Vrtačky, Stolní vrtačky, …): Max categories per search term (1–5) categories, one after another and only while the term still needs products. The actor switches to it by itself when the website search doesn't answer, and says so in the status message.
Article numbers and EANs
Article numbers ("Artiklové číslo", 8 digits) and EANs (8–14 digits, leading zeros don't matter) are read straight from the shop's catalog, 50 (EANs 40) per request, including sold-out products. Codes the shop doesn't have are listed in the status message (not found: …). Product URLs are read the same way, plus their product page.
Whole catalog (mind the price)
Whole catalog reads every product URL of the shop's sitemap, about 94 000 products, 50 per request. You pay for every saved product (about $89 at $0.95 per 1 000), so set Max products on purpose (0 = no limit) and use filters to keep only what you need. It takes about 2.5 hours (about 35 minutes in fast mode).
Fast mode (optional, small extra charge)
Fast mode reads BAUHAUS.cz up to 5× faster: at most 60 requests per minute and 3 at a time instead of 12 per minute and 2 at a time. It stays polite: the moment the website answers "too many requests", "service unavailable" or "forbidden", shows a challenge page or slows down, the run switches back to the normal speed for the rest of the run; it waits when the website sends Retry-After (and stops with what it has saved when asked to wait more than 2 minutes), and it never changes IP address to get around a limit. The status message says how many products were read fast and when and why the run slowed down.
- Price: the Fast mode event, $0.01 per 1 000 products ($0.00001 per product), only for products saved while the fast speed was on. Products saved after the switch back to the normal speed have no fast-mode charge. It respects your maximum cost per run: when the budget doesn't cover the charge, the run continues at the normal speed.
- Measured (2026-10-14, no proxy, 500 products of "Barvy a tapety" with store stock): 21 requests in 23 seconds in fast mode. The normal speed makes 12 requests per minute (measured: 36 requests in 2 minutes 56 seconds), so the same 21 requests take about 1 minute 45 seconds: fast mode is about 4–5× faster.
- Please don't run several fast-mode runs at the same time.
Advanced
- Max products per URL limits each start URL, search term, the article number list and the EAN list separately.
- Max pages per category (50 products per page) is a safety limit for large categories.
- Max requests per minute: 12 by default, 20 at most (fast mode ignores it).
- Proxy configuration: not needed; BAUHAUS.cz works without a proxy from Apify.
Monitoring mode explained
With Monitoring: only new or changed products each run compares products with the previous run that used the same Monitoring key. A product is returned as changeType: "new" or "updated" only if it is new or its price, price before discount, quantity discount or availability changed. previousPrice, priceChange and priceChangePercent are filled when the price changed (null when only something else changed). Ratings, labels and store piece counts are not compared.
- Monitoring: store availability changes adds the list of stores with stock: a product sold out in a store or back in stock there is returned as
"updated", with the old list inpreviousStoresInStock(piece counts alone don't count). - Monitoring: only price changes narrows it to price changes, Monitoring: min price drop (%) to price drops.
- Monitoring: include removed products also returns products of the previous run that are no longer on the website (sold out, removed from the category or from the shop) as
changeType: "removed"withremovedAtand the last known name, price and URL; when such a product comes back, it is"reappeared". It is checked only when the run read everything it was asked for (not when Max products, Max products per URL, a page limit or unread pages cut it short; the status message then says why). Use one Monitoring key per input.
How much does it cost to scrape BAUHAUS.cz?
You pay per saved product. Platform usage is included. Filtered-out and unchanged products (in monitoring mode) are free.
| Plan | Price per 1 000 products | + Fast mode (only products saved in fast mode) |
|---|---|---|
| FREE | $0.95 | +$0.01 |
| BRONZE | $0.93 | +$0.01 |
| SILVER | $0.90 | +$0.01 |
| GOLD and higher | $0.85 | +$0.01 |
Store stock, ratings, review texts, variants, documents, product pages and removed-product rows don't change the price per product (a removed-product row is a row like any other). There is also a tiny start fee of $0.00005 per run.
BAUHAUS.cz renders every page on its server, so the actor is deliberately gentle: at most 2 requests at a time and 12 requests per minute by default (20 at most; in fast mode at most 3 at a time and 60 per minute, slowing down automatically). Typical runs:
| Scenario | Requests | Time (normal / fast mode) | Price (FREE plan) |
|---|---|---|---|
| 20 products from a category | 2 | a few seconds | $0.02 |
| 1 000 products from a category | ~21 | ~2 min / ~30 s | $0.95 |
| 1 000 products with store stock and rating | ~61 | ~5 min / ~1 min | $0.95 |
| 1 000 article numbers or EANs | ~22 | ~2 min / ~30 s | $0.95 |
| 1 search term, 100 results | ~7 | ~40 s | $0.10 |
| 100 products with parameters, dimensions, pick-up and description | ~102 | ~9 min / ~2 min | $0.10 |
| Whole catalog (~94 000 products) | ~1 900 | ~2.5 h / ~35 min | ~$89 |
Input example
{"startUrls": [{ "url": "https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008" }],"maxItems": 100,"sortBy": "priceAsc","includeStoreStock": true}
Output example
A paint read from its product URL with store stock, rating, review texts and documents, with the whole description (store, review and variant lists shortened; the real output lists all 9 stores and all 34 variants):
{"id": "bauhaus:21573637","source": "bauhaus.cz","url": "https://www.bauhaus.cz/luxol-original-tenkovrstva-lazura-21573637","productCode": "21573637","name": "Luxol Original Tenkovrstvá lazura","subtitle": "palisandr; matná; 3,5 l","brand": "Luxol","manufacturerPartNumber": "5193395","category": "Lazury","categoryPath": ["Barvy a tapety","Ochrana a péče o dřevo","Lazury"],"price": 659.0,"priceBeforeDiscount": null,"discountPercent": null,"isDiscounted": false,"lowestPrice30Days": null,"currency": "CZK","salesUnit": "ks","unitPrice": 188.29,"unitPriceUnit": "l","salesUnitContent": 3.5,"mainPriceIsUnitPrice": false,"quantityDiscountPrice": null,"quantityDiscountMinQuantity": null,"quantityDiscounts": [],"availability": "in_stock","availabilityText": "Dostupné online","canReserveInStore": true,"storeAvailability": [{"store": "Trmice, Ústí nad Labem","inStock": true,"quantity": 42},{"store": "Plzeň","inStock": true,"quantity": 19}],"storesWithStock": 9,"storesInStock": ["Trmice, Ústí nad Labem","Plzeň","Praha 8, Dolní Chabry","Praha 4, Pankrác","Liberec","České Budějovice","Brno Ivanovice","Brno (Heršpická)","Čestlice"],"labels": [],"isInLeaflet": false,"isSellOff": false,"isOnlineOnly": false,"hasFreeShipping": false,"hasBauhausWarranty": false,"hasQuantityDiscount": false,"isNew": false,"energyClass": null,"hasAssemblyService": false,"highlights": ["Je určená k dekorativním nátěrům dřeva venku i vevnitř","Odolává povětrnostním vlivům a UV záření, je vodoodpudivá","Hloubkově penetruje, zlepšuje přilnavost dalších nátěrů","Chrání dřevo proti plísním","Neomezuje dýchání dřeva"],"packageContents": null,"rating": 4.7,"reviewCount": 6,"ratingDistribution": {"5": 4,"4": 2,"3": 0,"2": 0,"1": 0},"ean": "5904078189092","specifications": {"Značka": "Luxol","Barva": "hnědá","Odstín barvy": "palisandr","Úroveň lesku": "matný","Objem": "3.5 l","Použití": "vnitřní i venkovní","Druh nátěrové hmoty": "syntetická","Vydatnost": "11–14 m²/l"},"widthCm": null,"heightCm": null,"lengthCm": null,"depthCm": null,"thicknessCm": null,"weightKg": null,"material": null,"color": "hnědá","description": "Luxol Original je tenkovrstvá lazura pro dekorativní nátěry dřeva. Má zvýšenou vodoodpudivost, chrání proti UV záření, zajišťuje vysokou přilnavost dalšího nátěru, je mechanicky odolná, hluboce penetruje a neomezuje dýchání dřeva. Dobře se roztírá, jednoduše aplikuje a vyniká stálobarevností s matně saténovým vzhledem. Je vhodná pro nátěry všech stavebních součástí nebo dřevěných konstrukcí jako jsou ploty, pergoly, zahradní nábytek, obklady domů a veškeré venkovní dřevěné konstrukce. Pro svůj minimální zápach a rychlé schnutí je také dobrá pro nátěry v interiéru.","documents": [{"name": "Bezpečnostní list","type": "Safety data sheet","url": "https://media.bauhaus.cz/media/catalog/product/documents/266605_p_doc.pdf"},{"name": "Technický list","type": "Technical data sheet","url": "https://media.bauhaus.cz/media/catalog/product/documents/266607_p_doc.pdf"}],"reviews": [{"rating": 5,"title": "Doporučuji","text": "Barva je perfektní a jsem velmi spokojená, kvalita.","date": "2026-10-05","language": "cs","isVerifiedPurchase": true,"shop": "bauhaus.cz"},{"rating": 5,"title": "Luxol palisandr","text": "Zakoupený produkt byl naprosto v pořádku","date": "2026-07-08","language": "cs","isVerifiedPurchase": true,"shop": "bauhaus.cz"}],"variantCount": 34,"variants": [{"productCode": "21575581","url": "https://www.bauhaus.cz/luxol-original-tenkovrstva-lazura-21575581","subtitle": "mahagon; matná; 2,5 l","price": 649.0,"attributes": {"Objem": "2.5 l","Odstín barvy": "mahagon"}},{"productCode": "21575439","url": "https://www.bauhaus.cz/luxol-original-tenkovrstva-lazura-21575439","subtitle": "lípa; matná; 2,5 l","price": 649.0,"attributes": {"Objem": "2.5 l","Odstín barvy": "lípa"}}],"relatedProductCodes": ["11376025","23146974","22456272","21675968","22565840"],"similarProductCodes": [],"imageUrl": "https://media.bauhaus.cz/media/catalog/product/3/1/312685_p_img.jpg","imageUrls": ["https://media.bauhaus.cz/media/catalog/product/3/1/312685_p_img.jpg","https://media.bauhaus.cz/media/catalog/product/3/1/312713_p_img.jpg","https://media.bauhaus.cz/media/catalog/product/3/1/312486_p_img.jpg"],"position": null,"searchQuery": null,"detailScraped": true,"sourceUrl": "https://www.bauhaus.cz/luxol-original-tenkovrstva-lazura-21573637","scrapedAt": "2026-10-14T10:00:00Z","changeType": null,"firstSeenAt": null,"previousPrice": null,"priceChange": null,"priceChangePercent": null,"previousStoresInStock": null,"removedAt": null}
Limitations
- Price before discount is the crossed-out price the shop shows next to "Ušetříte X %"; the shop says it is its lowest price of the last 30 days, so
lowestPrice30Dayshas the same value. Without "Ušetříte" both are null, even if the shop has a "special price" internally. The actor doesn't calculate discounts itself. - Availability is the online availability ("Dostupné online" / "Nedostupné online"). Products the shop lists as completely out of stock don't appear in its categories (in monitoring with removed products they show up as
removed); by article number or EAN they are returned. Store stock is optional and shows the numbers from the website's store list; the shop updates it once a day. - Price and sales unit:
priceis always the price of one sales unit (salesUnit: what you put in the cart, e.g. one carton of tiles). For tiles and similar products the website shows the price per m² as the big price; thenmainPriceIsUnitPriceis true and that price is inunitPrice. - Category:
categoryPathis the breadcrumb the product page shows. In a category listing it is the product's category inside the listed category (a product can be in several categories, e.g. "Svítidla › … › Světelné řetězy" and the seasonal "Vánoční osvětlení"); campaign categories such as "Pálení čarodějnic" are not used. - EAN comes from the shop's catalog, as 13 digits (leading zeros added when the shop stores them without; the check digit is verified, an invalid EAN is null).
- Rating is the average, the number of ratings and the number per star, the same verified ratings the product page shows. Most products have no ratings yet (
rating: null,reviewCount: 0). - Review texts (optional) are the texts the product page lists, newest first, with the rating, title, date, language, verified purchase and the shop (some are shared from bauhaus.info and other BAUHAUS shops and translated by the shop). The author's name or nickname, photos and replies are never returned, and e-mails and phone numbers are removed from the texts. The texts are written by customers and may still mention names; don't republish them.
- Documents (optional) are returned as name, type and URL; the actor never downloads the files.
- Parameters, dimensions, pick-up and description are on the product page only: turn on Add parameters, dimensions, pick-up and description (one extra request per product). For product URLs given as input they are always included. Width, height, length, depth, thickness, weight, material and colour are copied from the parameters when the product has them (sizes converted to cm, weight to kg; colour from "Barva", else "Odstín barvy"). The description is cut after Description length characters (200 by default, 0 = the whole text). Images are returned as URLs. Product photos and texts are copyrighted, so check the rights before you republish them.
- Variants come with their article number, URL, subtitle, price and picker values, not their availability; read them as article numbers for that.
- Search terms return what the website's search returns: after the best matches it adds loosely related products (use Name must contain to narrow it). Sort by doesn't apply to search results.
- Not included: the warranty length (a separate text block), leaflet dates and delivery prices (the product pages don't show them), manufacturer and safety contacts (GPSR) and anything behind a login.
- Large categories: the shop serves at most 200 pages (10 000 products) of one listing; Max pages per category defaults to 20 pages (1 000 products). For more use the subcategories, filters or Whole catalog.
- If the site rejects a request, it is asked once more after 30 seconds from the same IP address and session (never from another IP). If it rejects a few listing requests in a row even so, the run stops and says so. When only optional data (store stock, ratings, variants, documents, review texts) are rejected, that data is turned off for the rest of the run and the run goes on; the status message says which. Products whose page couldn't be read are returned with the listing data (
detailScraped: false).
For AI agents and API users
- Minimal input:
{"startUrls": [{"url": "https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008"}], "maxItems": 20}, or{"searchQueries": ["EasyDrill 18V-38"], "maxItems": 5}, or{"productCodes": ["33134668"]}. - One row = one product = one charge (+ the fast-mode event when fast mode is on). Details, store stock, ratings, reviews, documents and variants don't change the price per product.
- 50 products per listing page.
maxItemscounts saved products,maxItemsPerStartUrllimits each URL, search term or code list. - Prices are in CZK incl. VAT.
availabilityisin_stockorout_of_stock(online).eanis 13 digits. - Monitoring state is kept per
monitoringKeybetween runs of the same user.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("tsutseisoftware/bauhaus-cz-scraper").call(run_input={"startUrls": [{"url": "https://www.bauhaus.cz/aku-sroubovaky-a-aku-vrtacky-245008"}],"sortBy": "priceAsc","maxItems": 100,})for product in client.dataset(run["defaultDatasetId"]).iterate_items():print(product["name"], product["ean"], product["price"], product["priceBeforeDiscount"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('tsutseisoftware/bauhaus-cz-scraper').call({searchQueries: ['EasyDrill 18V-38'], maxItems: 10,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.map((p) => `${p.name}: ${p.price} CZK`));
cURL
curl -X POST "https://api.apify.com/v2/acts/tsutseisoftware~bauhaus-cz-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"productCodes": ["33134668", "21573637"], "includeStoreStock": true}'
You can also connect the actor to Make, Zapier, n8n, Google Sheets, Slack or webhooks and schedule it in Apify Console.
Troubleshooting
| Status message | What to do |
|---|---|
Skipping unsupported URL | Use a BAUHAUS.cz category or product URL (cart, account and search pages are not supported; use Search terms for searches). |
Ignored URL parameters … (log) | The URL has parameters that are not filters of the website the actor knows; use the website's own filters or the input fields. |
unknown parameter … (log) | Use one of the filter names listed in the log for that category. |
… skipped because the website filters match nothing there | No product in that category has the requested brand or value. |
no products found for: … | The website search finds nothing for that term; try another spelling. |
the website search did not answer, category names used for: … | The search was replaced by category names for this run; run it again later for the product search. |
not found: … | These article numbers or EANs are not in the shop (anymore). |
… could not be loaded | The category or product doesn't exist anymore; open the URL in your browser. |
store stock turned off (…) (or ratings, variants, documents, review texts) | The site rejected that optional data; the products are saved without it. Run again later. |
fast mode: N products, then the normal speed because … | The website asked to slow down; the rest of the run used the normal speed (no fast-mode charge). |
removed products were not checked because … | The run didn't read everything (e.g. Max products reached); removed products are checked in a complete run. |
BAUHAUS.cz is rejecting requests | Try again later. |
… listing pages could not be read, so the results may be incomplete | The site didn't answer some pages; run it again later for complete results. |
Saved 0 products (new or changed since last run) | Nothing changed since the previous monitoring run; that's expected. |
More Czech & Slovak e-shop scrapers
Compare prices across Czech and Slovak shops with the same output format (EAN for matching, monitoring mode):
- Datart.cz Scraper: electronics: prices, 30-day low, EAN, store availability
- TSBOHEMIA.CZ Scraper: IT & electronics: prices, discount codes, EAN, site filters
- Planeo.cz Scraper: electronics & appliances: prices, discount codes, store pickup, EAN
- Smarty.cz Scraper: electronics: prices, coupons, cashback, EAN, price history, store stock
- Mironet.cz Scraper: electronics: prices, store stock, delivery date, MPN, warranty, price history
- Alza Scraper (CZ, SK, HU, AT, DE): electronics: prices, coupons, ratings, reviews, pickup points, MPN
- NAY.sk Scraper (Slovakia): electronics: prices in EUR, discount codes, stock in 54 stores, EAN
- BAUHAUS.sk Scraper (Slovakia): DIY & garden: EUR prices, Bratislava store stock, variants, EAN
- Planeo.sk Scraper (Slovakia): electronics & appliances: EUR prices, discount codes, cashback, stock in 69 stores, EAN
- TSBOHEMIA.SK Scraper (Slovakia): IT & electronics: EUR prices, discount codes, EAN, lookups
- Smarty.sk Scraper (Slovakia): electronics: EUR prices, coupons, cashback, stock in Slovak stores, EAN
FAQ
Is it legal to scrape BAUHAUS.cz?
The actor collects publicly available product data (prices, availability, store stock, parameters, documents, variants, ratings) that anyone sees on the website without logging in. It doesn't return reviewers' names, nicknames or photos, or manufacturer and safety contacts, and it removes e-mails and phone numbers from review texts (which are optional and off by default; then you are responsible for using them lawfully). It reads the product data the website itself loads, does not log in, makes at most 12 requests per minute by default (60 in fast mode, with automatic slow-down) and never solves captchas or other challenges. How you use the data is your responsibility. Use it for price monitoring and analysis, and don't republish the catalogue, texts or photos. If unsure, consult a lawyer. Objections and data protection requests: the Issues tab of this actor.
How does the search work?
The same way as the search box on BAUHAUS.cz: the actor asks the search service the website uses, with the same request the browser sends, and reads the found products from the shop's catalog, 50 at a time. The kill switch BAUHAUS_SEARCH_DISABLED (set by the developer) switches the actor to the category-name search.
Why is the category different from the one in the shop's data?
Products are often also in campaign or collection categories ("Pálení čarodějnic", "Zahradní nábytek Diana"). The actor returns the breadcrumb the product page shows, not those.
Why is the rating different from the number on another site?
The actor returns the verified ratings that the BAUHAUS.cz product page shows ("Our reviews are verified"); a few unverified ratings in the shop's data are left out, as on the website.
What is the difference between price and unitPrice?
price is what one sales unit costs (a piece, a carton, a bag; see salesUnit), unitPrice the converted price per litre, kilogram, m² and so on (see unitPriceUnit), as printed under the price on the website. salesUnitContent says how many of those units one sales unit holds.
What does fast mode cost and when should I use it?
$0.01 per 1 000 products on top of the normal price, only for products saved at the fast speed. Use it for large categories, long code lists and the whole catalog, when the time matters.
Do I need a proxy?
No. BAUHAUS.cz works without a proxy from Apify's servers, so no proxy is used by default.
Is this for bauhaus.info (Germany) too?
No, only for bauhaus.cz (Czech Republic). The German shop runs on a different system.
Can I use it through the API?
Yes. See the Python, JavaScript and cURL examples above, or the API tab.
Something doesn't work
Open an issue in the Issues tab and include the input you used.
Unofficial, not affiliated with or endorsed by BAUHAUS k.s., the operator of BAUHAUS.cz. This tool is also known as a BAUHAUS.cz API, BAUHAUS price tracker or "hlídač cen BAUHAUS".