Hermes API endpoint
Browses one Hermès product category and returns a page of products (SKU, title, price with currency, colour, size, stock, images) plus the facet groups Hermès offers for that category, and the category's own title and description. The category parameter takes a category code from hermes-categories, which is the discovery endpoint for every accepted value. Page size is fixed at 48 by Hermès and cannot be changed. Prices are returned with the ISO-4217 currency for the selected market, since Hermès itself publishes bare numbers.
/hermes/categoryQuery parameters:
category (required) — Hermès category code, e.g. WOMEN_SHOES_SNEAKERS.
Call /api/v1/hermes/categories for every accepted value. A code Hermès
does not serve for the selected market returns 400.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.sort (optional) — result order. One of relevance (default), priceasc,
pricedsc. Any other value returns 400 before any upstream request is
made. Non-default sorts are best-effort: Hermès serves them only to a
clean egress address, so a sorted request can fail where the default
ordering succeeds.page (optional) — one-based result page, default 1.Notable response behavior:
page_size
always reports 48. total is the full result count, so the last page may
hold fewer than 48 products and a page past the end returns an empty
products array with the real total still reported.price is a bare number as Hermès publishes it; currency is the
ISO-4217 code for the selected market, so prices from different markets
are not silently comparable.in_stock is online availability; in_store reports that Hermès shows
the item as available in its physical stores. Many Hermès pieces are
listed but not purchasable online.size is empty for items Hermès marks as having no size.filters are the facet groups Hermès itself offers for this category.
They are informational — this endpoint does not currently accept facet
filters as inputs.| Field | Filled in, of 48 checked | Values in the sample |
|---|---|---|
| sku | 48 | |
| title | 48 | “Jet sneaker” and 10 other values |
| url | 48 | hermes.com |
| slug | 48 | |
| price | 48 | 1,125 to 1,900, median 1,275 |
| currency | 48 | USD in all 48 |
| price_type | 48 | fixed in all 48 |
| color | 48 | “Blue” and 8 other values |
| colorless | 48 | true in 0 of 48 |
| more_colors | 48 | true in 0 of 48 |
| size | 48 | 34 to 40.5, median 36 |
| product_code | 48 | |
| department_code | 48 | |
| family_code | 48 | |
| division_code | 48 | |
| in_stock | 48 | true in 48 of 48 |
| in_store | 48 | true in 0 of 48 |
| personalizable | 48 | true in 0 of 48 |
| images | 48 | median 6 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| category | string | Yes | Hermès category code, from hermes-categories | WOMEN_SHOES_SNEAKERS | |
| sort | string | No | Result order. One of: relevance, priceasc, pricedsc. Non-default sorts are best-effort Allowed values: relevance, priceasc, pricedsc. | ||
| 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. | ||
| page | integer | No | One-based result page; page size is fixed at 48. Page 1 is fully validated; pages beyond 1 are best-effort and provisional Minimum: 1. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/hermes/category?category=WOMEN_SHOES_SNEAKERS&sort=relevance&locale=at_de&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "ok",
"data": {
"locale": "us_en",
"code": "WOMEN_SHOES_SNEAKERS",
"name": "Sneakers",
"title": "Women's leather sneakers & trainers",
"description": "Explore all styles of women's sneakers...",
"path": "/us/en/category/women/shoes/sneakers/",
"url": "https://www.hermes.com/us/en/category/women/shoes/sneakers/",
"total": 100,
"page": 1,
"page_size": 48,
"products": [
{
"sku": "H252013Z BM360",
"title": "Jet sneaker",
"url": "https://www.hermes.com/us/en/product/jet-sneaker-H252013ZvBM/",
"slug": "jet-sneaker",
"price": 1300,
"currency": "USD",
"price_type": "fixed",
"color": "Blue",
"colorless": false,
"more_colors": false,
"size": "36",
"product_code": "Z857",
"department_code": "Z",
"family_code": "Z01",
"division_code": "02",
"in_stock": true,
"in_store": false,
"personalizable": false,
"images": [
"https://assets.hermes.com/is/image/hermesproduct/252013Z%20BM_front_wm_1"
]
}
],
"filters": [
{
"name": "Line",
"attribute": "display_name",
"values": [
{
"name": "Jet",
"value": "jet",
"count": 20
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/hermes.categoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | hermes.CategoryResponse | No | ||||
| data.code | string | No | ||||
| data.description | string | No | ||||
| data.filters | array | No | Filter record, 6 fields: attribute, name, values. Described under Hermès search API. | |||
| data.locale | string | No | ||||
| data.name | string | No | ||||
| data.page | integer | No | ||||
| data.page_size | integer | No | ||||
| data.path | string | No | ||||
| data.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.sort | string | No | ||||
| data.title | string | No | ||||
| data.total | integer | No | ||||
| data.url | string | No | ||||
| msg | string | No | ok |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/category?category=WOMEN_SHOES_SNEAKERS&sort=relevance&locale=at_de&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"