# Zalando API — EU fashion product search, category browse, product detail, sizes & reviews (zalando.de/.co.uk/.fr + 6 more)

> Search Zalando by keyword — returns product cards with name, brand, SKU, price, color, images and product URL. Filterable by brand, price range and category; paginated.
> ReefAPI engine `zalando` · 12 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/zalando/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed or blocked calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http, `Authorization: Bearer <key>`) and your assistant can call these actions directly.

## Endpoints

### POST /zalando/v1/search — 1 credit
Search Zalando by keyword — returns product cards with name, brand, SKU, price, color, images and product URL. Filterable by brand, price range and category; paginated.

**Parameters:**
- `q` (string, required) — Search keyword.
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.
- `category` (string, optional) — Optional category slug to scope the search to.
- `order` (enum, optional) — Sort order. [one of: popularity, price, price_desc, newest, sale]
- `brand` (string, optional) — Filter by brand (slugified), e.g. nike-sportswear.
- `min_price` (number, optional) — Minimum price (store currency).
- `max_price` (number, optional) — Maximum price (store currency).

**Returns:** results[] (name, brand, sku, price, color, images, url), page, total, has_more, next_page

**Example request body:**
```json
{
  "q": "nike",
  "country": "de"
}
```

### POST /zalando/v1/category — 1 credit
Browse Zalando products by category (e.g. herrenschuhe-sneaker) — returns listing cards with name, brand, price and images. Filterable and paginated.

**Parameters:**
- `category` (string, required) — Zalando category slug, e.g. herrenschuhe-sneaker (discover via the categories action).
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.
- `order` (enum, optional) — Sort order. [one of: popularity, price, price_desc, newest, sale]
- `brand` (string, optional) — Filter by brand (slugified), e.g. nike-sportswear.
- `min_price` (number, optional) — Minimum price (store currency).
- `max_price` (number, optional) — Maximum price (store currency).

**Returns:** results[] listing cards, category, page, total, has_more, next_page

**Example request body:**
```json
{
  "category": "herrenschuhe-sneaker",
  "country": "de"
}
```

### POST /zalando/v1/sale — 1 credit
On-sale / discounted Zalando products — the outlet grid with original price, current price and discount percent. Scope to a category, otherwise lands on the country's sale/outlet section. Paginated.

**Parameters:**
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]
- `category` (string, optional) — Optional category slug to limit the sale to (e.g. herrenschuhe-sneaker). Omit for the whole sale section.
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.
- `brand` (string, optional) — Filter by brand (slugified), e.g. nike-sportswear.
- `min_price` (number, optional) — Minimum price (store currency).
- `max_price` (number, optional) — Maximum price (store currency).

**Returns:** results[] (name, brand, sku, price, original_price, discount_percent, on_sale, url), category, page, total, has_more, next_page

### POST /zalando/v1/new_arrivals — 1 credit
Newest Zalando products in a category, sorted newest-first. Scope to a category (e.g. damenschuhe-sneaker), otherwise lands on the country's primary section. Paginated.

**Parameters:**
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]
- `category` (string, optional) — Optional category slug (e.g. damenschuhe-sneaker). Omit for the country's primary section.
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.
- `brand` (string, optional) — Filter by brand (slugified), e.g. nike-sportswear.
- `min_price` (number, optional) — Minimum price (store currency).
- `max_price` (number, optional) — Maximum price (store currency).

**Returns:** results[] listing cards (newest first), category, page, total, has_more, next_page

### POST /zalando/v1/product — 1 credit
Full Zalando product detail by URL or SKU — name, brand, price, color, gallery images, available sizes, rating and attributes.

**Parameters:**
- `url` (string, optional) — Full Zalando product URL (.html). (product needs url OR sku.)
- `sku` (string, optional) — Zalando SKU, e.g. NI112N022-A11 (resolved from url when omitted).
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]

**Returns:** product{} — name, brand, sku, price, color, images, sizes, rating, attributes

**Example request body:**
```json
{
  "url": "https://www.zalando.de/nike-sportswear-air-force-1-07-sneaker-low-white-ni112n022-a11.html",
  "country": "de"
}
```

### POST /zalando/v1/similar — 1 credit
Products similar to a given Zalando item — pulled from the product page recommendation cards.

**Parameters:**
- `url` (string, optional) — Full Zalando product URL (.html). (product needs url OR sku.)
- `sku` (string, optional) — Zalando SKU, e.g. NI112N022-A11 (resolved from url when omitted).
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]

**Returns:** results[] related products (name, brand, price, url), sku

### POST /zalando/v1/variants — 1 credit
All size variants for a Zalando product with in-stock flags — useful for monitoring stock availability.

**Parameters:**
- `url` (string, optional) — Full Zalando product URL (.html). (product needs url OR sku.)
- `sku` (string, optional) — Zalando SKU, e.g. NI112N022-A11 (resolved from url when omitted).
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]

**Returns:** variants[] {size, sku, in_stock}, sku

### POST /zalando/v1/brands — 1 credit
Distinct brands present in a given Zalando listing — the brands found across the product cards of the supplied category or keyword search (one listing page, not Zalando's full brand directory). Useful for building brand filter chips for that listing. Pass category or q; defaults to the country's primary section.

**Parameters:**
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]
- `category` (string, optional) — Category slug to collect brands from (e.g. herrenschuhe-sneaker). Defaults to the country's primary section.
- `q` (string, optional) — Keyword to collect brands from instead of a category.
- `page` (integer, optional, default 1) — Result page (1-based). Page forward with meta.next_page.

**Returns:** brands[] {name, slug}, source (category|query), scope

### POST /zalando/v1/categories — 1 credit
Top-level Zalando category links for a country, live-discovered from that TLD's own localized homepage navigation — so each country returns its real localized paths (fr: femme/homme/enfant, it: donna/uomo/bambini, es: mujer/hombre, nl: dames/heren, pl: kobiety/mezczyzni …), feed these paths to the category / sale / new_arrivals actions.

**Parameters:**
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]
- `gender` (string, optional) — Optional gender to filter seeds (e.g. women, men, kids).

**Returns:** categories[] {name, path, url}

### POST /zalando/v1/filters — 1 credit
Discover which sort and filter options are available for Zalando listings, including price range, brand and sort order.

**Parameters:**
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]
- `category` (string, optional) — Category to live-probe sort behaviour against.
- `q` (string, optional) — Keyword context (optional).

**Returns:** sort_options[], supported_query_params, live_probe, notes

### POST /zalando/v1/reviews — 1 credit
Customer reviews and overall rating summary for a Zalando product (when reviews are embedded on the product page).

**Parameters:**
- `url` (string, optional) — Full Zalando product URL (.html). (product needs url OR sku.)
- `sku` (string, optional) — Zalando SKU, e.g. NI112N022-A11 (resolved from url when omitted).
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]

**Returns:** reviews[], rating{average, count}, reviews_count, available

### POST /zalando/v1/attributes — 1 credit
Product attribute clusters for a Zalando item — material composition, care instructions and other structured attributes from the product page.

**Parameters:**
- `url` (string, optional) — Full Zalando product URL (.html). (product needs url OR sku.)
- `sku` (string, optional) — Zalando SKU, e.g. NI112N022-A11 (resolved from url when omitted).
- `country` (enum, optional, default "de") — Zalando country edition (TLD) — sets language and currency. [one of: de, uk, gb, fr, nl, it, es, pl]

**Returns:** attribute_categories[] {category_name, attributes[{key,value}]}, available

## More
- Try it live, no code: https://reefapi.com/playground?engine=zalando
- Human docs page: https://reefapi.com/docs/zalando
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
