Bosch Home APIbosch-home.com ↗
Retrieve product details, PDF manuals, spare parts, accessories, and interactive manual content for Bosch appliances by model number (E-Nr) via REST API.
What is the Bosch Home API?
The Bosch Home API covers 6 endpoints for retrieving appliance data from bosch-home.com by model number (E-Nr). Starting with search_manual_by_model_number to confirm a model and its variants, you can then pull full technical specifications, all documentation links, spare parts with pricing and availability, compatible accessories, and the structured JSON content of interactive online manuals — all keyed to the same model number input.
curl -X GET 'https://api.parse.bot/scraper/81df018d-541f-4b12-bd8c-010f701ea200/search_manual_by_model_number?model_number=WGG24400GB' \ -H 'X-API-Key: $PARSE_API_KEY'
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 bosch-home-com-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.
from parse_apis.Bosch_Home_Appliances_API import BoschHome, Language, ApplianceNotFound
bosch = BoschHome()
# Search for washing machine model variants by partial model number
for appliance in bosch.appliances.search(model_number="WGG24400GB", limit=5):
print(appliance.full_label, appliance.model_number, appliance.image_url)
# Construct an appliance by its full_label and get detailed specifications
machine = bosch.appliance(full_label="WGG24400GB/01")
detail = machine.details()
print(detail.series, detail.type, detail.display_name)
for key, value in detail.specifications.items():
print(f" {key}: {value}")
# List all available documents (manuals, spec sheets)
for doc in machine.documents(limit=10):
print(doc.title, doc.type, doc.url)
# Get spare parts with pricing and availability
parts_result = machine.spare_parts()
for part in parts_result.spare_parts[:3]:
print(part.sku, part.name, part.price, part.availability)
for diagram in parts_result.diagrams[:2]:
print(diagram.name, diagram.data_pk)
# Retrieve the interactive user manual in English
manual = machine.manual(language=Language.EN_GB)
print(manual.title)
for chapter in manual.chapters[:3]:
print(chapter.id, chapter.title, chapter.shortdesc)
# Handle a not-found model gracefully
try:
bad = bosch.appliance(full_label="INVALID000/99")
bad.details()
except ApplianceNotFound as exc:
print(f"Not found: {exc.model_number}")
print("exercised: appliances.search / details / documents / spare_parts / manual / ApplianceNotFound")
Search for Bosch home appliance model variants by partial model number (E-Nr). Returns matching variants with their full labels, which serve as the canonical identifier for all other endpoints. A partial number like 'WGG24400GB' returns all version suffixes (e.g. /01, /76). The full_label field is the input for detail endpoints.
| Param | Type | Description |
|---|---|---|
| model_numberrequired | string | Part of the model number (E-Nr) to search for (e.g. WGG24400GB). |
{
"type": "object",
"fields": {
"results": "array of objects containing model_number, product_name, full_label, and image_url for each matching appliance variant"
},
"sample": {
"data": {
"results": [
{
"image_url": "https://media3.bsh-group.com/Product_Shots/{width}x{height}/22958055_WGG24400GB_STP_def.jpg",
"full_label": "WGG24400GB/01",
"model_number": "WGG24400GB/01",
"product_name": null
}
]
},
"status": "success"
}
}About the Bosch Home API
Product Lookup and Specifications
Use search_manual_by_model_number with a partial or full E-Nr string to get back an array of matching variants, each with model_number, product_name, full_label, and image_url. The returned full_label (e.g. WGG24400GB/01) is the version-suffixed identifier required by every other endpoint. get_product_details then returns series, type, display_name, image_url, and a specifications object of key-value technical pairs — energy rating, dimensions, capacity, spin speed, and similar attributes depending on appliance category.
Documentation and Manuals
get_all_product_documents returns a documents array where each entry has a title, url, and type field. Type values are PDF, Interactive, or Unknown, covering installation instructions, data sheets, energy labels, and user manuals. For models with an interactive online manual, get_manual_content returns the full structured document as nested childnodes with chapters, safety sections, and operating guides. An optional language parameter (e.g. en-GB, de-DE) controls the locale of the returned content. If no interactive manual exists for a model, the endpoint returns an upstream_error rather than an empty result.
Spare Parts and Accessories
get_spare_parts returns two arrays: diagrams (exploded-view diagrams with name, image_url, and data_pk) and spare_parts (each with position_number, sku, name, price, availability as a boolean, image_url, and link). get_accessories separates results into accessories and cleaning_products, each containing sku, name, price, and url. Availability of accessory categories varies by appliance type, and either array may be empty for a given model.
The Bosch Home API is a managed, monitored endpoint for bosch-home.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bosch-home.com 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 bosch-home.com 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a spare parts finder that shows availability and pricing for a given Bosch washer or dishwasher E-Nr
- Auto-generate a documentation index with links to PDFs and interactive manuals for a product support portal
- Populate a product catalog with technical specifications pulled from
get_product_detailsfor a specific appliance series - Match compatible accessories and care products to a customer's registered appliance model
- Extract interactive manual chapter structures from
get_manual_contentto build a searchable knowledge base - Validate and resolve partial model numbers to their full versioned labels before downstream API calls
- Compare exploded-view diagrams across model variants to identify part-number differences in a repair workflow
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does Bosch Home have an official developer API?+
What does `get_spare_parts` return beyond a parts list?+
get_spare_parts returns two distinct arrays. The diagrams array contains exploded-view assembly diagrams with name, image_url, and data_pk. The spare_parts array contains individual parts with position_number, sku, name, price, a boolean availability field, image_url, and a direct link to the part page. Both arrays are scoped to the exact versioned model number you supply.What happens if I query `get_manual_content` for a model that has no interactive manual?+
upstream_error field rather than an empty content structure. You can check for upstream_error in the response to distinguish 'no interactive manual exists' from a successful but sparse result. PDF manuals for the same model may still be available via get_all_product_documents.Does the API return customer reviews or ratings for Bosch appliances?+
Is spare parts data available for all Bosch appliance categories?+
spare_parts or diagrams arrays. The get_accessories endpoint similarly notes that accessory availability varies by product type, so empty results for accessories or cleaning_products are expected for certain models. You can fork this API on Parse to add fallback logic or alternative model lookup if your target category has sparse coverage.