Hunkemoller APIhunkemoller.com ↗
Access Hunkemöller's product catalog, search, category filters, new arrivals, and store locations via a structured JSON API with 6 endpoints.
What is the Hunkemoller API?
The Hunkemöller API provides 6 endpoints covering product browsing, keyword search, detailed product data, store locations, and category filters for Hunkemöller's lingerie and intimate apparel catalog. The get_product_details endpoint returns fields including SKU, color, material composition, available sizes, pricing, and aggregate ratings, giving a complete view of any individual product.
curl -X GET 'https://api.parse.bot/scraper/533b5b4a-b4a9-4266-a41f-a4ab582a17b2/get_category_products?sz=6&start=0&category_path=%2Fbras%2Fall-bras' \ -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 hunkemoller-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.
"""Walkthrough: Hunkemöller SDK — browse, search, inspect, and locate stores."""
from parse_apis.hunkemöller_api import Hunkemoller, ProductNotFound
client = Hunkemoller()
# Browse bras category — limit caps total items fetched
for product in client.productsummaries.list(category_path="/bras/all-bras", limit=3):
print(product.name, product.offers.price, product.aggregate_rating.rating_value)
# Search for a keyword and drill into the first result's full details
item = client.productsummaries.search(query="padded bra", limit=1).first()
if item:
detail = item.details()
print(detail.name, detail.color, detail.offer.price)
for mat in detail.material:
print(mat.name, mat.value)
# Get product details directly by URL
try:
product = client.products.get(product_url="/super-comfort-bra-beige-306397.html")
print(product.name, product.sizes)
except ProductNotFound as exc:
print(f"Product gone: {exc}")
# List all store locations (single page, capped)
for store in client.stores.list(limit=3):
print(store.name, store.city, store.is_open, store.current_hours.open)
# Get category filters
for f in client.filters.list(category_path="/bras/all-bras", limit=5):
print(f.title, f.type)
print("exercised: productsummaries.list / productsummaries.search / details / products.get / stores.list / filters.list")
Get paginated products for a category path. Returns product listings with name, SKU, price, images, and ratings. Offset-based pagination via start parameter; each page returns up to sz items from a total pool.
| Param | Type | Description |
|---|---|---|
| sz | integer | Number of products per page |
| start | integer | Pagination offset |
| category_pathrequired | string | Category URL path, e.g. /bras/all-bras |
{
"type": "object",
"fields": {
"sz": "integer — page size used",
"items": "array of product summary objects with name, category, sku, url, offers, images, aggregateRating",
"start": "integer — current pagination offset",
"total_items": "integer — total number of products in the category",
"category_name": "string — name of the category"
}
}About the Hunkemoller API
Product Catalog and Search
The get_category_products endpoint accepts a category_path parameter (e.g. /bras/all-bras) and returns paginated product listings. Each item in the items array includes name, sku, url, offers (price and currency), images, and aggregateRating. Pagination is controlled via sz (page size) and start (offset), and total_items tells you how many products exist in the category. The search_products endpoint accepts a query string and returns the same product shape, letting you find items across the full catalog by keyword.
Product Details and Filters
get_product_details takes a product_url slug and returns the deepest product data: description, color, sizes (as a string array), material (an array of objects with name and percentage value), offer (with price, availability, and currencyCode), and aggregateRating with both ratingValue and reviewCount. The get_category_filters endpoint takes the same category_path and returns a structured filters array where each filter has a title, a type (either list or range), and either an options array or min/max bounds — useful for building faceted navigation or scraping which filter values are available for a given category.
New Arrivals and Store Locations
get_new_arrivals returns paginated new-arrival products, optionally scoped to a category such as bras or panties. It shares the same item shape as get_category_products. The get_stores endpoint requires no inputs and returns the full list of physical Hunkemöller store locations worldwide, with each store record containing name, address, city, latitude, longitude, isOpen (current status), and openingHours. The total_count field gives the full store count in one call.
The Hunkemoller API is a managed, monitored endpoint for hunkemoller.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hunkemoller.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 hunkemoller.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 lingerie price tracker that monitors offer prices across bra and panty categories using get_category_products
- Populate a product comparison tool with material composition, available sizes, and ratings from get_product_details
- Drive a store locator feature using latitude, longitude, and opening hours from get_stores
- Implement faceted search UI by reading filter titles and options from get_category_filters for a given category path
- Track new arrivals by category (bras, panties) with get_new_arrivals and alert on new SKUs
- Aggregate review counts and rating values across a category to identify top-rated products
- Sync Hunkemöller product data including images and SKUs into an internal product database via search_products
| 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 Hunkemöller have an official public developer API?+
What does get_product_details return beyond basic pricing?+
Does get_category_filters return price range data as well as list filters?+
type field that is either list (with an options array) or range (with min and max numeric bounds), so price range and size list filters are both represented in the same response structure.