Chrono24 API endpoint
Fetches every value Chrono24 accepts for one of chrono24-search's advanced-search filter params, each with its own live listing count: the discovery endpoint for condition, used_or_new, case_material, dial_color, bracelet_material, movement_type, gender, watch_type and stock_info.
/chrono24/facetsQuery parameters:
group (required) — which filter to list values for. One of:
condition, usedOrNew, caseMaterial, dialColor,
braceletMaterial, movementType, gender, watchType, stockInfo.
This is Chrono24's own internal id for the filter; the response's
param field names the matching chrono24-search query param.Notable response behavior:
group returns 400 before any upstream request is
made.count on each value is Chrono24's own live listing count carrying that
value, across all brands (not scoped to any one search).chrono24-search call always applies filters against Chrono24's
live inventory regardless of this cache.Example response (group=caseMaterial):
{
"code": 200,
"msg": "OK",
"data": {
"group": "caseMaterial",
"label": "Case material",
"param": "case_material",
"count": 20,
"values": [
{ "label": "Steel", "value": "steel", "count": 412873 },
{ "label": "Yellow gold", "value": "yellow_gold", "count": 48213 },
{ "label": "White gold", "value": "white_gold", "count": 15942 },
{ "label": "Titanium", "value": "titanium", "count": 9021 }
]
}
}
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| label | 20 | “Aluminum” and 19 other values |
| value | 20 | 0 to 21, median 10 |
| count | 20 | 114 to 382,978, median 4,550 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| group | string | Yes | Filter to list values for Allowed values: condition, usedOrNew, caseMaterial, dialColor, braceletMaterial, movementType, gender, watchType, stockInfo. | condition | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/chrono24/facets?group=condition" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"group": "caseMaterial",
"label": "Case material",
"param": "case_material",
"count": 20,
"values": [
{
"label": "Steel",
"value": "steel",
"count": 412873
},
{
"label": "Yellow gold",
"value": "yellow_gold",
"count": 48213
},
{
"label": "White gold",
"value": "white_gold",
"count": 15942
},
{
"label": "Titanium",
"value": "titanium",
"count": 9021
}
]
}
}Request schema
No body schema
Response schema
#/definitions/chrono24.facetsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | chrono24.FacetsResponse | No | ||||
| data.count | integer | No | ||||
| data.group | string | No | Group echoes the requested group id. | |||
| data.label | string | No | Label is Chrono24's own display name for this filter, e.g. "Case material". | |||
| data.param | string | No | Param is the Chrono24Search query param this group's values feed, e.g. "case_material". | |||
| data.values | array | No | ||||
| data.values[].count | integer | No | Count is Chrono24's own live listing count carrying this value, across all brands (not scoped to any one search). | |||
| data.values[].label | string | No | Label is Chrono24's own human-readable label, e.g. "Steel". | |||
| data.values[].value | string | No | Value is exactly what Chrono24Search's matching param (FacetsResponse .Param) accepts for this value. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 500 | Internal Server Error | #/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/chrono24/facets?group=condition" \
-H "x-api-key: $CRAWLORA_API_KEY"