Zalando API endpoint
Searches a Zalando country storefront by keyword and returns result cards with price, brand, and image. Returns the first page of results plus the upstream total_count; deeper pagination is not yet supported. market is required (there is no default storefront) and accepts 25 country storefronts — see zalando-markets for the full current list with domains.
/zalando/searchSearches a Zalando country storefront by keyword. q and market are both required — there is no default storefront. market accepts at, be, ch, cz, de, dk, ee, es, fi, fr, gb, hr, hu, ie, it, lt, lu, lv, nl, no, pl, ro, se, si, sk (see zalando-markets for the full reference list with domains). The response contains the products Zalando server-renders on the first results page plus total_count, the upstream's full match count for the query; deeper pagination is not yet supported. A zero count with an empty products list is a valid no-results response.
Each product includes price (the amount actually charged) and, when the item is discounted, original_price and discount_percent. condition is NEW for items sold as new and omitted otherwise (used for Zalando's pre-owned listings). sku is the product's Zalando article number — pass it to zalando-product (with the same market) for full detail.
| Field | Filled in, of 24 checked | Values in the sample |
|---|---|---|
| sku | 24 | |
| name | 24 | “NIKE VOMERO 18 - Road running shoes - black/bright crimson/…” and 23 other values |
| brand | 24 | “Nike Performance” and 8 other values |
| url | 24 | en.zalando.de |
| image | 24 | img01.ztat.net |
| silhouette | 24 | LOW_SHOE in all 24 |
| price | 24 | 28.79 to 179.95, median 79.99 |
| original_price | 14 | 31.99 to 200, median 119.95 |
| discount_percent | 14 | 3 to 60, median 24 |
| currency | 24 | EUR in all 24 |
| condition | 3 | “NEW” |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | Product search keyword | running shoes | |
| market | string | Yes | Zalando country storefront Allowed values: at, be, ch, cz, de, dk, ee, es, fi, fr, gb, hr, hu, ie, it, lt, lu, lv, nl, no, pl, ro, se, si, sk. | at | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/zalando/search?q=running+shoes&market=at" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "running shoes",
"market": "de",
"count": 24,
"total_count": 4911,
"source_url": "https://en.zalando.de/catalogue/?q=running+shoes",
"fetched_at": "2026-08-04T12:00:00Z",
"products": [
{
"sku": "N1241A1HR-I11",
"name": "PEGASUS 42 SE - Road running shoes",
"brand": "Nike Performance",
"url": "https://en.zalando.de/nike-performance-pegasus-42-se-road-running-shoes-n1241a1hr-i11.html",
"image": "https://img01.ztat.net/article/spp-media-p1/example.jpg?imwidth=400",
"silhouette": "LOW_SHOE",
"price": 97.95,
"original_price": 149.95,
"discount_percent": 52,
"currency": "EUR"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/zalando.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | zalando.SearchResponse | No | ||||
| data.count | integer | No | 24 | |||
| data.fetched_at | string | No | ||||
| data.market | string | No | de | |||
| data.products | array | No | ||||
| data.products[].brand | string | No | On | |||
| data.products[].condition | string | No | NEW | |||
| data.products[].currency | string | No | EUR | |||
| data.products[].discount_percent | integer | No | 20 | |||
| data.products[].image | string | No | ||||
| data.products[].name | string | No | CLOUD 6 - Trainers - white white | |||
| data.products[].original_price | number | No | 199.95 | |||
| data.products[].price | number | No | 160 | |||
| data.products[].silhouette | string | No | LOW_SHOE | |||
| data.products[].sku | string | No | ONM11A03W-A12 | |||
| data.products[].url | string | No | https://en.zalando.de/on-cloud-trainers-white-white-onm11a03w-a12.html | |||
| data.query | string | No | running shoes | |||
| data.source_url | string | No | ||||
| data.total_count | integer | No | 4911 | |||
| 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/zalando/search?q=running+shoes&market=at" \
-H "x-api-key: $CRAWLORA_API_KEY"