---
title: "Browse H&M's storefront category navigation"
method: GET
path: "/hm/categories"
tags: ["H&M"]
---

# Browse H&M's storefront category navigation

`GET /hm/categories`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/hm/categories`
- Auth: API key in header `x-api-key`

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.

## Query parameters

- `department` 'women' | 'men' | 'kids' | 'home' | 'beauty'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- HmCategoriesResponseDoc
  - `code` integer
  - `data` HmCategoriesResponse
    - `categories` HmCategoryEntry[]
      - `category_id` string
      - `department` string
      - `name` string
      - `section` string
      - `url` string
    - `fetched_at` string
    - `source_url` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
