# Zalando Price Monitoring API

> Monitor Zalando prices per size and colour: price, retailPrice, priceSaving and seller for every article on zalando.de and zalando.co.uk, on your schedule.

- URL: https://everydata.io/zalando-price-monitoring-api
- Updated: 2026-09-20
- Publisher: everydata.io (https://everydata.io)

Fashion pricing on Zalando does not move the way electronics pricing does. Articles launch at full price, sit for a season, then get marked down in steps – often with individual sizes reduced deeper than the header price, and sometimes with a Partner Program seller undercutting Zalando's own offer on the same article number. Monitoring that requires reading the article page at size level, not just scraping a headline price. The everydata.io Zalando Price Monitoring API gives you exactly that page as JSON, so you can re-poll a watch list of article URLs and build a markdown history that is granular enough for merchandising decisions.

## Key facts

- Platform: [Zalando API](https://everydata.io/apis/zalando) (live)
- Main endpoint: `GET /zal/zalando-lookup-product`
- Quota: A call to the Zalando API counts as 2 requests against the monthly quota.
- Pricing: 100 free requests a month; paid plans from €30 a month for 5,000 requests (€1.00–€6.00 per 1,000 requests). One quota is shared across all 35 platforms; failed requests (5xx, blocked pages) are not counted.

## What you get

Every poll returns the current price, the original retailPrice and priceSaving – the absolute reduction Zalando displays – together with soldBy and sellerId. Those two seller fields matter for Zalando in particular: an article that suddenly gets cheaper may simply have switched from Zalando retail to a partner offer, and your alerting should say so.

Below the header, the variations block carries a price and retailPrice for every size of the current colourway and an available flag for each, plus the list of sibling colourways with their own article numbers. That is enough to answer the merchandising questions that a single number cannot: which sizes are being cleared, whether the reduction applies to the whole run, and whether one colour is discounted while another is not.

- price, retailPrice and priceSaving per article, plus currency and domainCode
- Per-size price, retailPrice and stock flag in the size dimension of variations
- Sibling colourways with their article numbers so you can watch a whole style
- soldBy and sellerId to attribute price changes to Zalando or a Partner Program seller
- warehouseAvailability and shippingPrice for the complete landed-cost picture
- cacheTtl to blend cheap cached reads for slow movers with realtime reads for hot articles

## How it works

There is no separate history endpoint for Zalando – monitoring is done by re-polling GET /zal/zalando-lookup-product for each article URL on your list and storing the fields you care about with a timestamp. The response below is the same one the product-data page describes, trimmed to the pricing fields.

```bash
curl -s "https://api.everydata.io/zal/zalando-lookup-product?url=https%3A%2F%2Fwww.zalando.de%2Fjack-wolfskin-everquest-texapore-mid-hikingschuh-dusty-olive-ja442c00s-n11.html&cacheTtl=3600" \
  -H "x-api-key: YOUR_API_KEY"
```

Response (shortened):

```json
{
  "responseStatus": "PRODUCT_FOUND_RESPONSE",
  "productTitle": "EVERQUEST TEXAPORE MID - Hikingschuh - dusty olive",
  "manufacturer": "Jack Wolfskin",
  "productId": "JA442C00S-N11",
  "soldBy": "JACK WOLFSKIN Retail GmbH",
  "sellerId": "3c6ec366-fc04-4982-9243-c505022297a2",
  "warehouseAvailability": "Auf Lager.",
  "retailPrice": 119.95,
  "price": 104.97,
  "priceSaving": 14.98,
  "shippingPrice": 0,
  "currency": "EUR",
  "domainCode": "de",
  "variations": [
    {
      "variationName": "color",
      "values": [
        {
          "value": "dark navy",
          "asin": "JA442C00S-K11",
          "available": true,
          "price": 150,
          "retailPrice": 150
        },
        {
          "value": "dusty olive",
          "asin": "JA442C00S-N11",
          "available": true,
          "price": 104.97,
          "selected": true
        }
      ]
    },
    {
      "variationName": "size",
      "values": [
        {
          "value": "39.5",
          "asin": "JA442C00S-N110060000",
          "available": false,
          "price": 104.97,
          "retailPrice": 119.95
        },
        {
          "value": "40",
          "asin": "JA442C00S-N110065000",
          "available": false,
          "price": 104.97,
          "retailPrice": 119.95
        }
      ]
    }
  ]
}
```

To build history, write one row per poll and per size SKU: observed_at, article number, size asin, price, retailPrice, available, soldBy. A daily poll of a 500-article watch list produces a table from which you can derive first-markdown date, markdown depth per step and sell-through by size. Store the header-level priceSaving separately so you can reconcile it against Zalando's display later.

Choose your cadence by article velocity. Zalando typically changes prices overnight and at the start of sale phases, so one poll per day at a fixed time catches most steps; for articles you expect to be cleared, poll twice a day. cacheTtl=3600 is a good default for the long tail because it lets several customers share a fresh page, while cacheTtl=0 forces a live fetch for the articles you alert on.

Treat a 404 as "article removed" rather than as a data error – on Zalando that usually means the last size sold out and the page was taken down, which is itself a signal worth recording.

## What teams build with this

### Markdown-phase detection for brands

Detect the day Zalando or a partner first reduces one of your styles, and how deep, so your own channels can react before margins erode across the market.

### Size-level clearance tracking

Follow which sizes of a colourway are cut deeper and which sell out first – input for next season's size curve and for buying decisions with the platform.

### Seller switch alerts

Alert when soldBy changes on a watched article number. A partner replacing Zalando's retail offer often comes with a different price and delivery promise.

### Cross-storefront price comparison

Poll the same style on zalando.de and zalando.co.uk to compare EUR and GBP pricing and spot storefronts where the markdown arrives earlier.

## Pricing

A monitoring poll is one request (2 quota units) per article URL, regardless of how many sizes the response contains. Starter (5,000 units, €30) supports a daily poll of about 80 articles; Production (50,000 units, €80) covers roughly 800 articles daily or 400 twice a day. Cached hits via cacheTtl count as requests too, but 5xx errors from Zalando are never billed.

## FAQ

### Is there a price-history endpoint for Zalando?

No. Price monitoring on Zalando works by re-polling the product endpoint and storing each observation yourself. The response is stable and flat, so a few columns per size are enough to build a complete history.

### Does the API tell me when a price changed?

It returns the current state on every call. Compare the new price and priceSaving with your last stored observation to detect changes and trigger alerts.

### Can I monitor individual sizes?

Yes. Every size in the variations block has its own price, retailPrice and available flag, and its own SKU-level identifier, so you can track one size independently of the article header.

### Why did the price change without a markdown?

Check soldBy and sellerId. On Zalando, a different Partner Program seller may have taken over the offer at a different price. Both fields are returned on every poll so you can attribute the change.

### How often should I poll?

Daily is enough for most fashion articles because Zalando changes prices in steps rather than continuously. Poll twice a day during sale periods, and use cacheTtl to lower the load on articles that rarely move.

## Related use cases

- [Zalando Product Data API](https://everydata.io/zalando-product-data-api)
- [Zalando Search API](https://everydata.io/zalando-search-api)
- [ASOS Price Monitoring API](https://everydata.io/asos-price-monitoring-api)
- [Otto Price Monitoring API](https://everydata.io/otto-price-monitoring-api)

## More

- [All platforms](https://everydata.io/apis) · [Pricing](https://everydata.io/pricing) · [API reference](https://everydata.io/docs) · [Getting started](https://everydata.io/docs/getting-started) · [MCP server](https://everydata.io/docs/mcp) · [Status](https://everydata.io/status)
- Machine-readable: [llms.txt](https://everydata.io/llms.txt), [llms-full.txt](https://everydata.io/llms-full.txt), [OpenAPI](https://api.everydata.io/openapi.json)
