Endpoint Playground
Returns every product-detail recommendation list H&M's own app shows for one product (which lists are present genuinely varies by product -- for example "more from series" and "style with" appear only when the product has one, while "alternatives" and "upsell" are more consistently present). An unrecognized product_id returns a well-formed empty result rather than an error.
14 Oct 2026: 2 lists; 2 fields had a value in every checked item.
Sample value profiles: label: “product-page-alternatives” and 1 other value; products: median 12 entries.
curl 'https://api.crawlora.net/api/v1/hm/product/1268470004/related' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| product_id (path) | string | Yes | 1268470004 | Numeric H&M product id, from a listing/search result's id field |
{
"code": 200,
"msg": "OK",
"data": {
"product_id": "1268470004",
"source_url": "https://api.hm.com/search-services/v1/en_us/recos/product-page?productKey=1268470004...",
"fetched_at": "2026-08-18T00:00:00Z",
"lists": [
{
"label": "product-page-alternatives",
"products": [
{
"id": "1351472002",
"name": "Knit Polo Shirt",
"brand": "H&M",
"url": "https://www2.hm.com/en_us/productpage.1351472002.html",
"image_url": "https://image.hm.com/assets/hm/aa/2f/aa2fdf2440fa3bb4ca4c494b8dbbec2549ce1ae8.jpg",
"price": 19.99,
"formatted_price": "$19.99",
"currency": "USD",
"availability": "Available"
}
]
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.