Hermes API endpoint
Returns one Hermès product's full detail: title, description, dimensions, the Hermès colour name, country of manufacture, price with its market currency, stock, every product image, and the complete colour and size variant matrix with per-variant sku, price, stock and image. Care, gift and delivery text are returned as Hermès' own HTML fragments. sku accepts the reference-plus-colour form (H252013Z BM), the fuller listing sku that also carries size (H252013Z BM360), or the URL identifier returned by hermes-products (H252013ZvBM).
/hermes/productQuery parameters:
sku (required) — Hermès product sku. Three forms are accepted and all
resolve to the same product:
H252013Z BMhermes-category and
hermes-search return — H252013Z BM360hermes-products returns — H252013ZvBMlocale (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:
price is a bare number as Hermès publishes it; currency is the
ISO-4217 code for the selected market.variants.colors and variants.sizes are the full purchasable matrix,
each entry carrying its own sku, price, stock, URL and image — so a caller
can enumerate every variant without further requests.color_name is Hermès' own colour name (bleu galet/blanc), while
colors is the coarse colour family it files the item under (Blue).care_instructions, gift and delivery_and_returns are returned as
Hermès' own HTML fragments rather than flattened to text, because their
markup carries links and structure.size is empty for items Hermès marks as having no size.404.| Field | Filled in, of 21 checked | Values in the sample |
|---|---|---|
| sku | 21 | |
| title | 21 | Jet sneaker in all 21 |
| color | 21 | “blanc/noir” and 16 other values |
| price | 21 | 1,300 to 1,425, median 1,300 |
| url | 21 | hermes.com |
| image | 21 | assets.hermes.com |
| in_stock | 21 | true in 21 of 21 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| sku | string | Yes | Hermès product sku, in any of the accepted forms | 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?sku=H252013Z+BM&locale=at_de" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "ok",
"data": {
"locale": "us_en",
"sku": "H252013Z BM360",
"title": "Jet sneaker",
"product_code": "Z857",
"url": "https://www.hermes.com/us/en/product/jet-sneaker-H252013ZvBM/",
"slug": "jet-sneaker",
"price": 1300,
"currency": "USD",
"price_type": "fixed",
"description": "Sneaker in parachute fabric and suede goatskin...",
"dimensions": "Sole height: 0.87\"",
"made_in": "Made in Italy",
"color_name": "bleu galet/blanc",
"colors": [
"Blue"
],
"size": "36",
"materials": [
"Textile"
],
"gender": [
"Women"
],
"categories": [
"WOMEN_SHOES_SNEAKERS"
],
"in_stock": true,
"in_store": false,
"personalizable": false,
"images": [
"https://assets.hermes.com/is/image/hermesproduct/252013Z%20BM_front_wm_1"
],
"variants": {
"colors": [
{
"sku": "H252013Z 02360",
"title": "Jet sneaker",
"color": "noir",
"price": 1300,
"url": "https://www.hermes.com/us/en/product/jet-sneaker-H252013Zv02360/",
"image": "https://assets.hermes.com/is/image/hermesproduct/252013Z%2002_thumbnail_20",
"in_stock": true
}
],
"sizes": [
{
"sku": "H252013Z BM365",
"title": "Jet sneaker",
"size": "36.5",
"price": 1300,
"in_stock": true
}
]
}
}
}Request schema
No body schema
Response schema
#/definitions/hermes.productResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | hermes.ProductResponse | No | ||||
| data.care_instructions | string | No | CareInstructions, Gift and DeliveryReturns are Hermès' own HTML fragments, returned verbatim because their markup carries links and structure that flattening to text would lose. | |||
| data.categories | array | No | ||||
| data.color_name | string | No | ||||
| data.colors | array | No | ||||
| data.currency | string | No | ||||
| data.delivery_and_returns | string | No | ||||
| data.department_code | string | No | ||||
| data.description | string | No | ||||
| data.dimensions | string | No | ||||
| data.division_code | string | No | ||||
| data.family_code | string | No | ||||
| data.gender | array | No | ||||
| data.gift | string | No | ||||
| data.images | array | No | ||||
| data.in_stock | boolean | No | ||||
| data.in_store | boolean | No | ||||
| data.locale | string | No | ||||
| data.made_in | string | No | ||||
| data.materials | array | No | ||||
| data.personalizable | boolean | No | ||||
| data.price | number | No | ||||
| data.price_type | string | No | ||||
| data.product_code | string | No | ||||
| data.size | string | No | ||||
| data.sku | string | No | ||||
| data.slug | string | No | ||||
| data.title | string | No | ||||
| data.url | string | No | ||||
| data.variants | hermes.Variants | No | ||||
| data.variants.colors | array | No | ||||
| data.variants.colors[].color | string | No | ||||
| data.variants.colors[].image | string | No | ||||
| data.variants.colors[].in_stock | boolean | No | ||||
| data.variants.colors[].price | number | No | ||||
| data.variants.colors[].size | string | No | ||||
| data.variants.colors[].sku | string | No | ||||
| data.variants.colors[].title | string | No | ||||
| data.variants.colors[].url | string | No | ||||
| data.variants.sizes | array | No | ||||
| data.variants.sizes[].color | string | No | ||||
| data.variants.sizes[].image | string | No | ||||
| data.variants.sizes[].in_stock | boolean | No | ||||
| data.variants.sizes[].price | number | No | ||||
| data.variants.sizes[].size | string | No | ||||
| data.variants.sizes[].sku | string | No | ||||
| data.variants.sizes[].title | string | No | ||||
| data.variants.sizes[].url | 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?sku=H252013Z+BM&locale=at_de" \
-H "x-api-key: $CRAWLORA_API_KEY"