Endpoint Playground
Returns H&M's own storefront category navigation, department by department: every direct nav item and subcategory currently shown in the site's own menu, with its display name and storefront URL. Where this build has separately verified the value against hm-listing's own category_id parameter, that id is included too; category_id is omitted for entries not yet verified rather than guessed, since the visible category label is confirmed NOT a reliable way to derive H&M's real listing category ids for every category. department, when given, filters the result to one department.
curl 'https://api.crawlora.net/api/v1/hm/categories?department=women' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| department | string | No | women | Filter to one storefront department |
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://app2.hm.com/content/hmonline/en_us/apis/navigation/v5/nav-data.json",
"fetched_at": "2026-08-15T08:00:00Z",
"categories": [
{
"department": "women",
"section": "",
"name": "New in",
"url": "https://www2.hm.com/en_us/ladies/new-arrivals.html"
},
{
"department": "women",
"section": "Clothing",
"name": "Dresses",
"url": "https://www2.hm.com/en_us/ladies/shop-by-product/dresses.html",
"category_id": "ladies_dresses"
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.