Skip to content
Scrappa Get API key
Zalando API 1 credit/request

Zalando Search API Documentation

GET https://scrappa.co/api/zalando/search

Zalando Search API searches or browses Zalando fashion and returns 84 products per page with name, brand, SKU, link, full size images, price as numbers with currency (current, original, discount percent and amount), sizes, condition, flags such as sale, deal or designer, and the target group. on_sale is true when the price is lowered against a promotion price or against the earlier price Zalando shows; original is that crossed-out price. Page one also carries the filter facets (brands, sizes, colors, materials, prices, sale and more) and the category tree with result counts.

Filters are honoured: a filter, category, sort or page that Zalando did not apply is never returned. An unknown brand, size, color, facet or category answers 422 and is not billed. Pages after the first carry the products and the page data only, without facets.

Pre-owned: condition=pre_owned browses the Zalando pre-owned shop, which has one seller (Zalando) and one size per item. There is no listing date, seller list or sold price. Total: Zalando stops counting at 450,000 results, total_results_capped says so. Cost: 1 credit per successful request. Failed requests are not billed.

Zalando Search API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/zalando/search
Auth header
x-api-key
Cost
1 credit/request
Response preview
200 OK
{
    "data": {
        "sort": "popularity",
        "facets": [
            {
                "key": "brands",
                "type": "discrete",
                "label": "Marke",
                "options": [
                    {
                        "key": "ADID",
                        "label": "adidas",
                        "selected": false
                    }
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

This endpoint has no required query parameters.

14 optional filters available.

query string Optional

Search text, 2 to 100 characters. Example: sneaker. Send query or category, not both. Without both the whole catalog is browsed.

Example value coffee shops
category string Optional

url_key of a category from the categories route of the same country, for example mens-shoes-trainers. An unknown key answers 422.

Example value example
country string Optional

Country store: de (default), at, ch, nl, be, fr, it, es, pl, uk, ie, se, cz, dk, no or fi. SKUs are the same in every country, categories and brand keys are per country.

Example value US
page integer Optional

One-based page number, 1 to 50 (default 1). The page you ask for is the page you get.

Example value 1
sort string Optional

popularity (default), price_asc, price_desc, new_in or sale.

Example value relevance
brand string Optional

Brand keys from the brands route, comma separated (OR). Example: ADID.

Example value example
size string Optional

Sizes exactly as the facets of a search answer list them, comma separated. Example: M or 42.

Example value example
color string Optional

Color keys from the facets of a search answer, comma separated. Example: BLACK.

Example value example
price_min integer Optional

Lowest price in whole units of the country currency. Zalando rounds prices to whole units for this filter, so 19.99 can match 20.

Example value 10
price_max integer Optional

Highest price in whole units of the country currency. Zalando rounds prices to whole units for this filter.

Example value 10
sale boolean Optional

true returns only items in the Zalando sale view. A few items may show the full price when only some sizes are reduced.

Example value true
filters string Optional

Any other facet of a search answer as facet:option,option pairs separated by |. Example: upper_materials:cotton|heel_forms:flat.

Example value example
condition string Optional

new (default) or pre_owned. pre_owned browses the Zalando pre-owned shop (de, at, nl, be, fr, it, es, pl, se; other countries answer 422) and cannot be combined with query or category.

Example value example
gender string Optional

women (default) or men. Only with condition=pre_owned.

Example value example

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "sort": "popularity",
        "facets": [
            {
                "key": "brands",
                "type": "discrete",
                "label": "Marke",
                "options": [
                    {
                        "key": "ADID",
                        "label": "adidas",
                        "selected": false
                    }
                ],
                "selected": false
            },
            {
                "key": "sales",
                "type": "toggle",
                "label": "Angebote",
                "selected": false
            }
        ],
        "country": "de",
        "currency": "EUR",
        "products": [
            {
                "sku": "NI112N022-A11",
                "url": "https://www.zalando.de/nike-sportswear-air-force-1-07-sneaker-low-white-ni112n022-a11.html",
                "name": "AIR FORCE 1 07 - Low-Top-Sneaker - white",
                "brand": {
                    "id": "NI1",
                    "name": "Nike Sportswear"
                },
                "flags": [
                    {
                        "kind": "top_rated",
                        "label": "Top bewertet"
                    },
                    {
                        "kind": "deal",
                        "label": "Deal"
                    }
                ],
                "image": "https://img01.ztat.net/article/spp-media-p1/ee262a4679a847f9bc32bf3433bb8cad/d43ed158aec14def8d94397b24152911.jpg?imwidth=780&filter=packshot",
                "model": "AIR FORCE 1 07",
                "price": {
                    "current": 107.95,
                    "on_sale": true,
                    "currency": "EUR",
                    "original": 119.95,
                    "prior_price": 71.95,
                    "discount_amount": 12,
                    "discount_percent": 10
                },
                "sizes": [
                    {
                        "sku": "NI112N022-A110060000",
                        "size": "38.5"
                    },
                    {
                        "sku": "NI112N022-A110065000",
                        "size": "39"
                    }
                ],
                "images": [
                    "https://img01.ztat.net/article/spp-media-p1/ee262a4679a847f9bc32bf3433bb8cad/d43ed158aec14def8d94397b24152911.jpg?imwidth=780&filter=packshot"
                ],
                "condition": null,
                "silhouette": "sneaker",
                "is_designer": false,
                "target_group": "men",
                "delivery_highlights": []
            }
        ],
        "categories": [
            {
                "key": "damen",
                "name": "Damen",
                "results": 36535,
                "children": []
            }
        ],
        "pagination": {
            "page": 1,
            "per_page": 84,
            "total_pages": 428,
            "has_next_page": true,
            "total_results": 53187,
            "total_results_capped": false
        },
        "category_path": []
    },
    "meta": {
        "credits": 1,
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

A parameter is missing or invalid, a filter or category is unknown for the country, or the answer did not match the request. This response is not billable.

{
    "errors": {
        "country": [
            "The country must be one of de, at, ch, nl, be, fr, it, es, pl, uk, ie, se, cz, dk, no or fi."
        ]
    },
    "message": "The request validation failed"
}
503

Upstream Unavailable

Zalando could not be reached or returned data that does not match the request (another page, another sort). This response is not billable and is retryable.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "search"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "Zalando could not be reached. Please retry shortly."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.