Hornbach Romania Scraper — DIY Products, Tools & Prices avatar

Hornbach Romania Scraper — DIY Products, Tools & Prices

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
Hornbach Romania Scraper — DIY Products, Tools & Prices

Hornbach Romania Scraper — DIY Products, Tools & Prices

Scrapes products from Hornbach.ro with prices, 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

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Categories

Share

Hornbach Romania Scraper -- DIY Megastore Products, Prices & Stock

Scrape products, prices, ratings, stock status, and SKU data from hornbach.ro -- the Romanian storefront of Hornbach, Germany's DIY megastore chain. Extracts data from Hornbach's Apollo/GraphQL state for fast, reliable results.

What is Hornbach Romania Scraper?

Hornbach is not your average neighborhood hardware store. It's a warehouse-format DIY chain with massive stores designed for customers tackling serious renovation projects, new builds, and professional contracting work. Hornbach operates stores in Bucharest, Sibiu, Balotesti, and other Romanian cities, alongside 160+ stores across 9 European countries.

Hornbach's Romanian website uses the same modern React frontend with Apollo GraphQL state management as its other European storefronts. This scraper extracts product data directly from the server-rendered Apollo state embedded in the HTML -- no manual JavaScript rendering needed on your end, which makes it fast and reliable.

  • Romanian DIY market pricing -- Track Hornbach's RON pricing on tools, building materials, and garden equipment for the Romanian market
  • Bulk material cost tracking -- Monitor prices on high-volume items like lumber, tiles, screws by the thousand, and bulk paint to optimize procurement timing
  • Power tool competitive analysis -- Track how Hornbach Romania prices power tools from Einhell, Bosch, DeWalt, Makita, and Metabo
  • Garden and outdoor project planning -- Extract pricing data for garden sheds, terrace materials, fencing, and outdoor equipment for project budgeting
  • Cross-border price comparison -- Compare Hornbach's RON pricing in Romania against its EUR pricing in Germany, Austria, and the Netherlands (see the sibling Hornbach Scraper for hornbach.de)

What data does Hornbach Romania Scraper extract?

  • Product name -- Full Romanian product title
  • Price & discounts -- Current price in RON, original/strike-through price when discounted
  • Brand -- Manufacturer name (Einhell, Bosch, DeWalt, HORNBACH, etc.)
  • Stock availability -- Online availability status
  • Ratings & reviews -- Average rating and review count
  • Product image -- Main product image URL
  • Product URL -- Direct link on hornbach.ro
  • SKU / Article number -- Hornbach's internal product ID for reference and reordering

How to scrape Hornbach Romania data

FieldTypeDescription
searchQueryStringSearch by keyword -- e.g., "bormasina", "suruburi", "mobilier gradina", "lemn"
categoryUrlStringDirect category URL -- e.g., https://www.hornbach.ro/c/scule-masini-unelte-rafturi/S14742/
maxResultsIntegerMaximum products to scrape (default: 100, set to 0 for unlimited)
proxyConfigurationObjectApify proxy recommended for reliability

Tips:

  • categoryUrl overrides searchQuery if both are provided
  • The search URL pattern is https://www.hornbach.ro/s/{query}/
  • Category URLs use the pattern /c/{category-slug}/S{id}/ -- this differs from hornbach.de, which uses /shop/{Category}/S{id}/artikelliste.html
  • Set maxResults to 0 to scrape everything the query or category returns
  • Apify residential proxy (Romania) is enabled by default; hornbach.ro runs a JavaScript anti-bot challenge that blocks datacenter IPs and often blocks residential too, in which case the actor automatically falls back to Bright Data Web Unlocker with JS rendering

Output

{
"name": "Mașină de găurit cu percuție Einhell TH-ID1000E 1010W max. 3000 r/min",
"brand": "Einhell",
"price": 215,
"currency": "RON",
"url": "https://www.hornbach.ro/p/masina-de-gaurit-cu-percutie-einhell-th-id1000e-1010w-max-3000-r-min/6356432/",
"scrapedAt": "2026-08-27T14:00:00.000Z",
"imageUrl": "https://media.hornbach.ro/hb/packshot/as.46811000.jpg?dvid=8",
"rating": 4.2,
"reviewCount": 11,
"sku": "6356432_ST",
"inStock": true
}

A building materials example:

{
"name": "Mașină de găurit cu percuție DeWALT DWD024S 701W max. 2800 r/min",
"brand": "DeWALT",
"price": 489,
"currency": "RON",
"url": "https://www.hornbach.ro/p/masina-de-gaurit-cu-percutie-dewalt-dwd024s-701w-max-2800-r-min/10545253/",
"scrapedAt": "2026-08-27T14:00:00.000Z",
"imageUrl": "https://media.hornbach.ro/hb/packshot/as.48591936.jpg?dvid=8",
"rating": 5,
"reviewCount": 1,
"sku": "10545253",
"inStock": true
}

How much does it cost?

Hornbach Romania Scraper uses direct HTTP requests with Apollo state extraction where possible -- no browser overhead on your side.

ScenarioProductsEst. cost
Quick search100~$0.15
Category deep dive500~$0.50
Department inventory1,000~$0.90
Full catalog section5,000~$3.50

Proxy costs may apply depending on your Apify plan and proxy configuration. Cost per result is about $0.002-0.005, and usage cost settles after the run reports SUCCEEDED -- reading the dataset mid-run will undercount what the run actually costs.

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 ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("studio-amba/hornbach-ro-scraper").call(run_input={
"searchQuery": "lemn",
"maxResults": 200,
"proxyConfiguration": {"useApifyProxy": True}
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['name']} - RON {item['price']}")

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('studio-amba/hornbach-ro-scraper').call({
searchQuery: 'lemn',
maxResults: 200,
proxyConfiguration: { useApifyProxy: true },
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

FAQ

Does this work for Hornbach in other countries? This scraper targets hornbach.ro (Romania) specifically, including its /c/{slug}/S{id}/ category URL pattern, which differs from Hornbach's other country sites. For hornbach.de (Germany), use the separate Hornbach Scraper.

Why does Hornbach Romania matter for professional contractors? Hornbach's warehouse format is designed for project builders. Romanian stores stock professional-grade materials in bulk quantities and provide services like wood cutting and delivery for large orders. Their pricing on volume materials (lumber, tiles, concrete) is often competitive with local Romanian DIY chains.

How does the Apollo state extraction work? Hornbach's website server-renders product listings using React with Apollo Client. 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.

Why RON instead of EUR? Romania is not in the eurozone, so hornbach.ro prices and displays everything in Romanian Lei (RON). The scraper reads the currency code directly from each product's price data rather than assuming EUR.

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.

Can I access individual store details? This actor scrapes product listings (search and category pages). Store-level details (opening hours, addresses) are not included.

Limitations

  • Targets hornbach.ro (Romania) only
  • Data is extracted from listing-level Apollo state, so detailed specs and 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)
  • hornbach.ro runs a JavaScript anti-bot challenge; when Apify residential proxies are blocked, the actor falls back to Bright Data Web Unlocker automatically

Other DIY & home improvement scrapers

Your feedback

Found a bug? Need additional data fields? Questions about Hornbach Romania's data structure? Open an issue on the actor's page or reach out through Apify.