Discover/HORNBACH API
live

HORNBACH APIhornbach.de

Search HORNBACH Germany products, fetch full pricing and delivery details, and check real-time in-store availability across all branches via 3 REST endpoints.

This API takes change requests — .
Endpoint health
verified 1h ago
get_product_detail
search_products
check_store_availability
3/3 passing latest checkself-healing
Endpoints
3
Updated
46m ago

What is the HORNBACH API?

The HORNBACH.de API gives developers access to 3 endpoints covering the full product data lifecycle at HORNBACH Germany: search by keyword, retrieve complete product details including current price and delivery info, and check branch-level stock availability. The search_products endpoint resolves a free-text query to a matching category and returns an array of product summaries with article numbers, prices, and basic availability status.

This call costs5 credits / call— charged only on success
Try it
Search keyword for products (e.g. 'mobiles Klimagerät', 'Heizlüfter').
api.parse.bot/scraper/f091d2d0-8e5d-4e83-a51d-198760ce45d3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/f091d2d0-8e5d-4e83-a51d-198760ce45d3/search_products?query=mobiles+Klimager%C3%A4t' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace hornbach-de-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: hornbach SDK — bounded, re-runnable; every call capped."""
from parse_apis.Hornbach_Product___Availability_API import Hornbach, ProductNotFound

client = Hornbach()

# Search for mobile air conditioners — merchant data shows first-party vs marketplace
for product in client.product_summaries.search(query="mobiles Klimagerät", limit=3):
    print(product.name, product.price, product.merchant_name, product.is_marketplace)

# Drill down into the first result's full detail
summary = client.product_summaries.search(query="mobiles Klimagerät", limit=1).first()
if summary:
    detail = summary.details()
    print(detail.name, detail.price)
    print("Online:", detail.online_availability.merchant_name, detail.online_availability.is_marketplace)
    print("Store:", detail.store_availability.status_text)

    # Check availability at a specific store (Leipzig)
    store_check = detail.check_store(store_id="540")
    print(store_check.store_name, store_check.store_city)
    print("Merchant:", store_check.online_availability.merchant_name, store_check.online_availability.is_marketplace)

# Typed error: try fetching a non-existent product
try:
    client.products.get(article_number="99999999")
except ProductNotFound as e:
    print(f"not found: {e.article_number}")

print("exercised: product_summaries.search / ProductSummary.details / Product.check_store / products.get")
All endpoints · 3 totalmissing one? ·

Search HORNBACH products by keyword. Returns a list of matching products with name, price, article number, availability, and merchant information. The site may redirect keyword searches to a best-matching category page; results reflect the server's interpretation of the query.

Input
ParamTypeDescription
queryrequiredstringSearch keyword for products (e.g. 'mobiles Klimagerät', 'Heizlüfter').
Response
{
  "type": "object",
  "fields": {
    "query": "the search query submitted",
    "category": "category name the search resolved to, if any",
    "products": "array of product summaries with merchant info",
    "total_results": "total number of matching products"
  },
  "sample": {
    "query": "mobiles Klimagerät",
    "category": "Suchergebnisse für: \"mobiles+Klimagerät\"",
    "products": [
      {
        "url": "https://www.hornbach.de/p/terrassentuerabdichtung-fuer-mobile-klimageraete-aus-polyester-5-60-m-mit-klettband/10332618/",
        "name": "Terrassentürabdichtung für mobile Klimageräte aus Polyester 5,60 m mit Klettband",
        "price": 22.95,
        "currency": "EUR",
        "position": 1,
        "image_url": "https://media.hornbach.de/hb/application/as.47222792.jpg?dvid=8",
        "availability": null,
        "article_number": "10332618"
      }
    ],
    "total_results": 5
  }
}

About the HORNBACH API

What the API Covers

The API exposes three endpoints targeting HORNBACH Germany's product catalog and store inventory. search_products accepts a German or English keyword (e.g. 'mobiles Klimagerät') and returns a list of matching products, each with a name, price, article number, and availability status. Note that HORNBACH's search may redirect a query to the closest matching category, and the category field in the response reflects that resolution.

Product Detail and Pricing

get_product_detail accepts an article_number from search results and returns a detailed record: name, description (which may contain HTML markup), price as a decimal, currency (EUR), availability_schema using schema.org vocabulary (InStock, OutOfStock, etc.), and an online_availability object covering delivery time, shipping info, and ordering status. Pass an optional store_id to also populate the store_availability object with in-store reservation status, article location within the store, and supplementary text.

Store Availability Lookup

check_store_availability focuses specifically on branch-level stock. Provide either a store_id (e.g. '540' for Leipzig) or a German postal code (postal_code, e.g. '04109') to resolve the nearest store. The response includes structured store metadata — store_name, store_address, store_city, store_zip — alongside two availability objects: store_availability (with can_reserve, status_text, and article_location) and online_availability (with can_order_online, delivery_time, and has_shipping_costs). Store IDs found through this endpoint can be reused as the store_id parameter in get_product_detail.

Reliability & maintenanceVerified

The HORNBACH API is a managed, monitored endpoint for hornbach.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hornbach.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official hornbach.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor HORNBACH price changes on specific article numbers for price-tracking dashboards.
  • Find the nearest in-stock branch for a product by querying with a German postal code via check_store_availability.
  • Build a product search widget that maps HORNBACH article numbers to current prices and delivery estimates.
  • Aggregate store availability data across multiple store_id values to identify regional stock patterns.
  • Automate restock alerts by polling online_availability.can_order_online and store_availability.can_reserve fields.
  • Enrich an internal product catalog with HORNBACH descriptions, pricing, and schema.org availability statuses.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does HORNBACH have an official public developer API?+
HORNBACH does not publish a public developer API or documented partner API for external developers. This Parse API provides structured access to the product, pricing, and availability data available on hornbach.de.
What does `check_store_availability` return beyond a simple in-stock flag?+
It returns a store_availability object with can_reserve (boolean), status_text, supplementary_text, article_location (the aisle or bin location within the store), and availability_text. It also includes an online_availability object with can_order_online, delivery_time, and has_shipping_costs, plus full store metadata: store_name, store_address, store_city, and store_zip.
Does the search endpoint support filtering by category, price range, or product attributes?+
Currently, search_products accepts only a free-text query parameter. The server resolves the query to a category automatically and the category field reflects this. Filtering by price range, brand, or product attributes is not supported. You can fork this API on Parse and revise it to add filtered category-browse or faceted search endpoints.
Does the API cover HORNBACH stores outside Germany, such as Austria, Switzerland, or the Netherlands?+
The API targets hornbach.de and returns German store data only. Store lookup via postal_code expects German PLZ codes, and pricing is in EUR for the German market. Coverage of other HORNBACH country sites is not currently included. You can fork the API on Parse and revise it to point to the relevant country domain.
Can the `description` field from `get_product_detail` contain HTML tags?+
Yes. The description field may contain HTML markup and should be sanitized or stripped before display in plain-text contexts. All other fields — name, price, currency, article_number, sku — are returned as clean scalar values.
Page content last updated . Spec covers 3 endpoints from hornbach.de.
Related APIs in EcommerceSee all →
bauhaus.info API
Search for hardware products and check real-time availability across BAUHAUS Germany store locations to find exactly what you need and where to get it. View detailed product information including specifications and pricing to make informed purchasing decisions before visiting a store.
hagebau.de API
Browse Hagebau's complete product catalog, search across thousands of items by category and brand, and check real-time store availability for building materials and home improvement products. Access detailed product specifications, filter by brand, and discover what's in stock at your nearest location.
globus-baumarkt.de API
Search for DIY and building materials across Globus Baumarkt's product catalog, view detailed product information including prices and specifications, and instantly check which nearby branches have items in stock for pickup or reservation. Never waste time calling stores again—find exactly what you need and where to get it, all in one place.
obi.de API
Search for hardware and home improvement products at OBI Germany stores and instantly view detailed product information along with real-time stock availability at specific locations near you. Find exactly what you need and confirm it's in stock before making the trip to your local store.
toom.de API
Search for products across toom Baumarkt's catalog and instantly access detailed pricing, specifications, and real-time stock levels at branches near your German postal code. Find exactly what you need and discover where to pick it up locally in just a few clicks.
homedepot.com API
Search and browse Home Depot's product catalog to compare pricing, check real-time availability, and review detailed product specifications. Find products across all categories, look up store locations and hours, and check fulfillment options including in-store pickup and delivery.
hood.de API
Browse and search thousands of products on hood.de, view detailed product information, explore categories, and discover current deals—all with autocomplete suggestions to help you find exactly what you're looking for. Get real-time access to pricing, availability, and special offers from Germany's popular online marketplace.
mediamarkt.de API
Search for products on MediaMarkt Germany and retrieve detailed information including seller identification and real-time availability across different store locations. Check which stores have specific items in stock before making a purchase decision.