Hermes API endpoint
Returns the cross-sell shelves Hermès shows on a product page: "keep exploring" (similar items) and "perfect partner" (items styled with it), each a list of products with price, stock and image. Takes the same sku forms as hermes-product. A product Hermès offers no recommendations for returns an empty shelves list rather than an error.
/hermes/product/recommendationsQuery parameters:
sku (required) — Hermès product sku, in any of the forms
hermes-product accepts.locale (optional) — market and language, default us_en. One of:
at_de, au_en, be_en, be_fr, br_pt, ca_en, ca_fr, ch_de, ch_fr, cz_en, de_de, dh_en, dk_en, es_es, fi_en, fr_fr, gr_en, hk_en, ie_en, it_it, jp_ja, kr_ko, lu_fr, mo_en, mx_es, my_en, nl_en, no_en, pl_en, pt_en, ri_en, se_en, sg_en, th_en, tw_zh, uk_en, us_en.
Any other value returns 400 before any upstream request is made.Notable response behavior:
keep_exploring (similar items) and
perfect_partner (items Hermès styles with it). Only shelves Hermès
actually returns are included, so a product may have one, both or neither.shelves
array rather than an error.hermes-category results, so
they carry price, currency, stock and images and can be fed straight back
into hermes-product.| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| name | 2 | “keep_exploring” and 1 other value |
| total | 2 | 4 |
| products | 2 | median 4 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| sku | string | Yes | Hermès product sku, in any of the forms hermes-product accepts | H252013Z BM | |
| locale | string | No | Market and language. One of: at_de, au_en, be_en, be_fr, br_pt, ca_en, ca_fr, ch_de, ch_fr, cz_en, de_de, dh_en, dk_en, es_es, fi_en, fr_fr, gr_en, hk_en, ie_en, it_it, jp_ja, kr_ko, lu_fr, mo_en, mx_es, my_en, nl_en, no_en, pl_en, pt_en, ri_en, se_en, sg_en, th_en, tw_zh, uk_en, us_en Allowed values: at_de, au_en, be_en, be_fr, br_pt, ca_en, ca_fr, ch_de, ch_fr, cz_en, de_de, dh_en, dk_en, es_es, fi_en, fr_fr, gr_en, hk_en, ie_en, it_it, jp_ja, kr_ko, lu_fr, mo_en, mx_es, my_en, nl_en, no_en, pl_en, pt_en, ri_en, se_en, sg_en, th_en, tw_zh, uk_en, us_en. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/hermes/product/recommendations?sku=H252013Z+BM&locale=at_de" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "ok",
"data": {
"locale": "us_en",
"sku": "H252013Z BM360",
"shelves": [
{
"name": "perfect_partner",
"total": 4,
"products": [
{
"sku": "H410001F 8553",
"title": "Uni ring, medium model",
"url": "https://www.hermes.com/us/en/product/uni-ring-H410001Fv85/",
"price": 475,
"currency": "USD",
"in_stock": true,
"images": [
"https://assets.hermes.com/is/image/hermesproduct/410001F%2085_front_wm_1"
]
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/hermes.recommendationsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | hermes.RecommendationsResponse | No | ||||
| data.locale | string | No | ||||
| data.shelves | array | No | ||||
| data.shelves[].name | string | No | ||||
| data.shelves[].products | array | No | Product record, 19 fields: color, colorless, currency, department_code, division_code, family_code, images, in_stock, in_store, more_colors, personalizable, price and 7 more. Described under Hermès search API. | |||
| data.shelves[].total | integer | No | ||||
| data.sku | string | No | ||||
| msg | string | No | ok |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/hermes/product/recommendations?sku=H252013Z+BM&locale=at_de" \
-H "x-api-key: $CRAWLORA_API_KEY"