Zara API für den deutschen Shop: Preise, Größen und Bestand als JSON
Zara bietet keinen Datenzugang für Entwickler an. Diese API fragt den Shop zara.com/de so ab, wie ihn Kundinnen und Kunden sehen, und liefert Preis in Euro, reduzierten Preis, Farben, Größen mit Lagerstatus und die Zusammensetzung des Stoffs als JSON. Welcher Länder-Shop gelesen wird, entscheidet allein `market`: Mit `"market": "de"` kommen deutsche Preise, unabhängig davon, von wo die Anfrage gestellt wird. Für Lieferanten, Franchisepartner oder Bestellungen bei Inditex ist sie ausdrücklich nicht gedacht.
Endpunkte
| endpoint | Was zurückkommt | Pflicht |
|---|---|---|
| search | Suche im Katalog des gewählten Länder-Shops: Produkt-ID, Name, Preis mit Streichpreis und Rabatt, Verfügbarkeit, Farbe mit Hex-Code, weitere Farben, Bilder und Abteilung. Filter für Abteilung, Größe, Farbe, Marke; Sortierung nur nach Preis. Jede Antwort nennt in `filters_available`, welche Filterwerte die Suche tatsächlich kennt. | query |
| product_detail | Ein Artikel vollständig, über Produkt-ID oder zara.com-URL: Beschreibung, Referenz vom Etikett, jede Farbe und darin jede Größe mit eigener SKU, eigenem Preis und Lagerstatus, Bildergalerie, Materialanteile je Teil, Pflege, Herkunftsland, Datum, seit dem der Artikel im Shop sichtbar ist. | alle optional |
| price | Nur Preis und Verfügbarkeit eines Artikels, mit einer einzigen leichten Abfrage statt der drei von `product_detail`. Gedacht für die tägliche Preisbeobachtung. | alle optional |
Jeder Aufruf wird in Credits abgerechnet. Fehlgeschlagene und blockierte Aufrufe sind kostenlos.
Funktionierendes Beispiel
Die API liest den deutschen Shop in seiner englischen Sprachfassung (`locale` en_GB, Adresse zara.com/de/en): Preise und Sortiment sind deutsch, Produktnamen und Beschreibungen englisch. Ein deutsches Suchwort trifft deshalb keine Namen und landet in Zaras semantischer Ersatzsuche — `match.type` meldet SEMANTIC_FALLBACK, 273 Treffer. Mit „wool coat“ war es EXACT bei 111 Treffern. Auch „WOOL BLEND“ im Namen sagt wenig über den Anteil: Die Außenseite des ersten Mantels besteht laut `product_detail` zu 50 % aus Wolle.
curl -X POST https://api.reefapi.com/zara/v1/search \
-H "x-api-key: IHR_API_KEY" \
-H "content-type: application/json" \
-d '{"query": "Wollmantel", "market": "de", "max_results": 20}'{
"ok": true,
"data": {
"query": "Wollmantel",
"market": { "code": "de", "store_id": "10705", "locale": "en_GB", "currency": "EUR", "url_base": "https://www.zara.com/de/en" },
"match": { "type": "SEMANTIC_FALLBACK", "provider": "Embeddings", "universe": "WOMAN" },
"results": [
{
"product_id": "605733464",
"name": "LONG WOOL BLEND COAT WITH BELT",
"brand": "zara",
"display_reference": "2745/319",
"price": { "amount": 119, "currency": "EUR", "was": null, "discount_pct": null, "on_sale": false },
"availability": "in_stock",
"section_name": "WOMAN",
"family_name": "ABRIGO",
"color": { "name": "Black", "hex": "#121315", "availability": "in_stock" },
"url": "https://www.zara.com/de/en/long-wool-blend-coat-with-belt-p02745319.html?v1=605733464"
},
...
]
},
"meta": {
"record_count": 20,
"market": "de",
"match_type": "SEMANTIC_FALLBACK",
"pagination": { "page": 1, "page_size": 20, "total_results": 273, "has_more": true },
"cache_hit": false,
"mode": "live"
}
}Zara-Scraper selbst bauen: was 2026 tatsächlich passiert ist
Am 21. August 2026 begann Zaras Such-Endpunkt, jede Anfrage mit dem TLS-Fingerabdruck von Chrome abzuweisen: 403 „Access Denied“, 425 Byte, in allen sieben geprüften Länder-Shops, Deutschland eingeschlossen. Mit den Fingerabdrücken von Firefox und Safari kam in derselben Minute die volle Trefferliste zurück. Ein Skript, das mit dem Standardprofil seiner Bibliothek arbeitet, fällt an so einem Tag komplett aus, ohne dass am eigenen Code etwas geändert wurde.
Sechs Tage später traf es die Produktdaten: Genau ein Pfad, der Detail-Endpunkt, antwortete auf unsere Anfragen nur noch mit 403, gleich mit welchem Header, Profil oder Cookie, während Suche und die übrigen Endpunkte offen blieben. Wir haben den Abruf auf zwei andere, offene Endpunkte umgestellt; Eingabe und Antwort sind gleich geblieben.
Dabei fiel eine stille Falle auf: die kurze Nummer aus der Produkt-URL (…-p02745319.html) steht für das Kleidungsstück, nicht für die Farbe. Wer damit nachschlägt, bekommt in 34 von 64 gemessenen Fällen einen anderen Artikel zurück: gleicher Schnitt, aber andere Produkt-ID und andere Fotos. Diese API arbeitet mit der farbgenauen Referenz und bricht ab, wenn die zurückgegebene ID nicht die angefragte ist.
Ein eigener Zara-Scraper scheitert also selten am ersten Tag, sondern an dem Tag, an dem Zara einen einzelnen Pfad anders behandelt. 2026 traf es zwei Pfade innerhalb von sechs Tagen.
Weitere Dokumentation auf Deutsch
- idealo API — Dokumentation
- AutoScout24 API — Dokumentation
- mobile.de API — Dokumentation
- Kleinanzeigen API — Dokumentation
- Immowelt API — Dokumentation
- OTTO API — Dokumentation
- willhaben API — Dokumentation
- MediaMarkt API — Dokumentation
- Zalando API — Dokumentation
- Amazon API (amazon.de) — Dokumentation
- Cardmarket API — Dokumentation
Grenzen und ehrliche Hinweise
- Inoffiziell: weder Zara noch Inditex stellen diese Schnittstelle bereit, und es besteht keine Partnerschaft.
- Namen, Beschreibungen und Farbnamen kommen auch für `market` de auf Englisch, weil die API die englische Fassung des Shops liest (en_GB); eine Option für die deutsche Sprachfassung gibt es nicht. Für genaue Treffer englische Suchbegriffe verwenden und `match.type` prüfen: Bei SEMANTIC_FALLBACK hat Zara die Wörter nicht gefunden und ähnliche Artikel geliefert.
- Ohne `market` wird der US-Shop gelesen (Standardwert `us`, Preise in USD). Für Deutschland gehört `"market": "de"` in jede Anfrage.
- `family_name` und `subfamily_name` sind Zaras interne, spanische Bezeichnungen (ABRIGO für Mantel), keine übersetzten Kategorien.
- Die Suche läuft über den Inditex-Index des Shops und kann Artikel von Zara Home und Massimo Dutti enthalten. Der Filter `brand` wirkt erst nach dem Abruf, nicht bei Zara selbst.
- Egal welche Gesamtzahl angezeigt wird: Zara liefert pro Suche höchstens knapp 2.000 Artikel, danach kommen keine Treffer mehr. Weiterblättern über `meta.pagination.has_more` steuern, nicht über die Gesamtzahl.
- Für Österreich und die Schweiz gibt es keinen eigenen `market`; angeboten werden die 19 Länder-Shops, die der Parameter auflistet, darunter de.
- `price` und `product_detail` lesen bei jedem Aufruf neu bei Zara. Einen Preisverlauf speichert die API nicht; den baut man aus täglichen `price`-Abfragen selbst auf.