Hermes API endpoint
Returns Hermès' own search-box autocomplete for a partial term: matching categories with the number of items behind each, and matching products. The category codes returned are the same codes hermes-category accepts, so a suggestion feeds straight into a category browse. An empty query is supported and returns Hermès' default suggestions rather than an error.
/hermes/suggestQuery parameters:
query (optional) — partial search term, e.g. bel. May be empty, which
returns Hermès' default suggestions rather than an error — the same thing
its own search box shows before you type.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:
categories[].code is the same category code hermes-category accepts,
so a suggestion feeds straight into a category browse without a lookup.categories[].results is how many items Hermès has behind that category
for the term.products[].sku can be passed to hermes-product. Note that belt and
strap combinations carry a longer composite sku
(U_BELT_38_HOMME-H081675CP2K-H081779CAAA120).| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| label | 10 | Tube H belt buckle & Reversible… (2), Tete de Cheval belt buckle & Re… (2), Constance belt buckle & Reversi… (2) and 2 more |
| sku | 10 | |
| url | 10 | hermes.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| query | string | No | Partial search term; may be empty for Hermès' default suggestions | bel | |
| 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/suggest?query=coffee&locale=at_de" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "ok",
"data": {
"locale": "us_en",
"query": "bel",
"categories": [
{
"label": "Belts in Women collection",
"code": "WOMEN_BELTS",
"results": 293
},
{
"label": "Belts in Men collection",
"code": "MEN_BELTS",
"results": 193
}
],
"products": [
{
"label": "Tube H belt buckle & Reversible leather strap 38 mm",
"sku": "U_BELT_38_HOMME-H081675CP2K-H081779CAAA120",
"url": "https://www.hermes.com/us/en/product/tube-h-belt-buckle-reversible-leather-strap-38-mm-U_BELT_38_HOMME/",
"image": "https://assets.hermes.com/is/image/hermesproduct/081675CP_front_1"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/hermes.suggestResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | hermes.SuggestResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].code | string | No | ||||
| data.categories[].label | string | No | ||||
| data.categories[].results | integer | No | ||||
| data.locale | string | No | ||||
| data.products | array | No | ||||
| data.products[].image | string | No | ||||
| data.products[].label | string | No | ||||
| data.products[].sku | string | No | ||||
| data.products[].url | string | No | ||||
| data.query | 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/suggest?query=coffee&locale=at_de" \
-H "x-api-key: $CRAWLORA_API_KEY"