IKEA API für ikea.com/de: Preise, Preissenkungen und Bestand je Einrichtungshaus als JSON
Abgefragt wird der deutsche IKEA-Onlineshop, und zurück kommt, was auf ikea.com/de steht: Artikelname, Preis in Euro, ob ein Preis gesenkt wurde und seit wann, den IKEA Family-Preis getrennt vom regulären Preis, Maße, Pakete, Bewertungen und die Stückzahl in jedem Einrichtungshaus. Die meisten Artikel tragen in allen Länder-Shops dieselbe Artikelnummer. Wer Preise mit den Niederlanden oder Österreich vergleichen will, stellt dieselbe Anfrage mit `country` nl oder at und bekommt den dortigen Preis. Für Lieferanten oder Geschäftskunden, die mit IKEA-Systemen arbeiten oder bestellen wollen, ist die API nicht gebaut: Sie liest das öffentliche Sortiment mit Preisen und Beständen, eine Bestellung lässt sich darüber nicht auslösen.
Endpunkte
| endpoint | Was zurückkommt | Pflicht |
|---|---|---|
| search | Suche im deutschen Sortiment nach Begriff, Serienname (BILLY, PAX) oder Artikelnummer: Preis in Euro, Preistyp (regulär, dauerhaft gesenkt, befristetes Angebot, Auslaufartikel), alter Preis mit Gültigkeitszeitraum, IKEA Family-Preis im eigenen Feld, Bewertung, Farben und Kategoriepfad. Filter und Sortierungen sind die von IKEA; welche eine Trefferliste zulässt, steht in `filters_available` und `sort_options`. | query |
| category | Alle Artikel einer Kategorie, seitenweise, etwa `19053` (Kleiderschränke). Zeilen und Filter entsprechen denen von `search`. | category_id |
| categories | Das Sortiment als Baum, eine Ebene pro Aufruf, jeweils mit Artikelanzahl. Ohne `category_id` beginnt er bei den Abteilungen. | alle optional |
| product/detail | Das Produktblatt eines Artikels, abgerufen über Artikelnummer oder Produkt-URL: alle Preise getrennt, Beschreibung, Designer, Maße, jedes Paket mit Maßen und Gewicht, Materialien, Pflege- und Sicherheitshinweise, Montageanleitung als PDF-Link und die Rückgabefrist in Tagen. | product_id |
| product/availability | Bestand von bis zu 10 Artikeln in allen deutschen Einrichtungshäusern oder in einem: Stückzahl, Status, angekündigte Nachlieferung mit Zeitfenster und Menge, Regal und Fach in der SB-Halle (`aisle`, `bin`) sowie ob Lieferung und Click & Collect möglich sind. | alle optional |
| product/reviews | Kundenbewertungen seitenweise: Sterne, Teilnoten (Qualität, Preis-Leistung, Montage …), verifizierter Kauf und die Antwort von IKEA. Standardmäßig nur Bewertungen aus Deutschland; `scope: "other_markets"` liefert die aus anderen Ländern. | product_id |
| stores | Die deutschen Einrichtungshäuser mit id, Name und Koordinaten. Die id ist der Wert, den `product/availability` als `store_id` erwartet. | alle optional |
| suggest | Was das IKEA-Suchfeld beim Tippen vorschlägt: Suchbegriffe, Kategorien und Produkte. | query |
Jeder Aufruf wird in Credits abgerechnet. Fehlgeschlagene und blockierte Aufrufe sind kostenlos.
Funktionierendes Beispiel
Sechs der zwölf Treffer für „Kleiderschrank“ hatten am 28. Oktober 2026 einen dauerhaft gesenkten Preis (`price_type` new_lower_price), alle gültig bis zum 31. August 2027. Der dreitürige BRIMNES kostet seit dem 1. Oktober 129 € statt 149 €. Derselbe Artikel 40407922 mit `country` nl kostete 169 €, mit `country` at 179 €, beide Male als regulärer Preis. `lowest_previous_price`, also der niedrigste Preis der 30 Tage vor einer Reduzierung, war bei allen sechs gesenkten Schränken null. Den alten Preis liefert hier `original_price`, den Zeitraum `price_valid_from` und `price_valid_to`.
curl -X POST https://api.reefapi.com/ikea/v1/search \
-H "x-api-key: IHR_API_SCHLUESSEL" \
-H "content-type: application/json" \
-d '{"query": "Kleiderschrank", "country": "de", "page_size": 12}'{
"ok": true,
"data": {
"results": [
{
"item_no": "40407922",
"item_type": "ART",
"title": "BRIMNES Kleiderschrank 3-türig, weiß, 117x50x190 cm",
"url": "https://www.ikea.com/de/de/p/brimnes-kleiderschrank-3-tuerig-weiss-40407922/",
"price": 129.0,
"currency": "EUR",
"price_type": "new_lower_price",
"original_price": 149.0,
"discount_percent": 13,
"member_price": null,
"lowest_previous_price": null,
"price_valid_from": "2026-10-01",
"price_valid_to": "2027-08-31",
"price_basis": "per_item",
"online_sellable": true,
"top_seller": true,
"rating": 4.4,
"rating_count": 4036,
"category_path": [
{ "key": "st001", "name": "Aufbewahrung & Schränke" },
{ "key": "19053", "name": "Kleiderschränke" },
{ "key": "43631", "name": "Einzelschränke" }
],
...
},
{
"item_no": "00441758",
"title": "KLEPPSTAD Kleiderschrank mit 3 Türen, weiß, 117x55x176 cm",
"price": 99.99,
"currency": "EUR",
"price_type": "new_lower_price",
"original_price": 119.0,
"discount_percent": 16,
"price_valid_from": "2026-09-01",
"price_valid_to": "2027-08-31",
"rating": 4.3,
"rating_count": 1879,
...
},
...
],
"count": 12,
"total_results": 685,
"page_count": 58,
"country": "de",
"language": "de",
"currency": "EUR"
},
"meta": { "record_count": 12, "country": "de", "language": "de", "charged_credits": 1, "cache_hit": false, "mode": "live" }
}ikea.com/de selbst auslesen: vier Stellen, an denen ein Skript plausibel falsch liegt
Die Artikelnummer gilt nicht überall. Das amerikanische BILLY-Regal 20522046, in Deutschland abgefragt, wirkt im Bestand, als sei es in sämtlichen Häusern ausverkauft. IKEA Deutschland führt BILLY aber unter 00263850, und beim Bau der Engine lag es in 54 Häusern auf Lager. Solche Nummern stehen hier in `not_sold_here`, nicht als ausverkauft in der Liste.
Die Bestandsabfrage von IKEA nennt für Deutschland 70 Standorte, die öffentliche Liste der Einrichtungshäuser nur 55. Standorte, die einen Artikel gar nicht im Sortiment haben, trugen beim Bau nie eine Stückzahl (0 von 182 Zeilen aus Deutschland und den USA). Sie werden aussortiert und nur gezählt, damit sie nicht als leere Häuser in einer Auswertung landen.
Neben dem Preis druckt IKEA eine Einheit, die Verschiedenes bedeutet. „6 Stück“ heißt, dass der Preis für die ganze Packung gilt; „0,4 kg“ bei Lebensmitteln ist der Packungsinhalt, mit deutschem Dezimalkomma; „St.“ ist ein gewöhnlicher Stückpreis. Die API legt das in `price_basis`, `pack_quantity`, `quantity` und `unit` ab, statt eine einzige Zahl zu speichern.
Dazu kommen Umbauten der Seite. Irgendwann nach dem 5. Oktober 2026, dem letzten fehlerfreien Abruf, legte IKEA die Daten der Produktseiten in eine neue Struktur, und `product/detail` antwortete für jedes Produkt mit NOT_FOUND, obwohl die Seiten selbst mit HTTP 200 luden. Die Korrektur stammt vom 18. Oktober; im Kontrolllauf dazu kamen 13 von 13 Produktblättern aus sechs Ländern zurück, Deutschland eingeschlossen.
Keiner dieser Fälle bricht ein Skript ab. Jeder liefert stattdessen Zahlen, die stimmen könnten: ausverkauft, wo Ware steht, oder ein Packungspreis, der wie ein Stückpreis aussieht.
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
- Zara API — Preise Deutschland
- Cardmarket API — Dokumentation
- AliExpress API — Dokumentation
- Vinted API — Dokumentation
- Catawiki API — Dokumentation
- eBay API für ebay.de
- Temu API — Preise für Deutschland
- Autodoc API — Ersatzteile und Preise
- ricardo.ch API — Schnittstelle
- markt.de API — Dokumentation
- gebrauchtwagen.at API — Dokumentation
- autolina.ch API — Schnittstelle
Grenzen und ehrliche Hinweise
- Die Schnittstelle ist kein Angebot von IKEA. Wir lesen ikea.com/de von außen, ohne Vertrag und ohne Partnerschaft mit IKEA.
- Ohne Angabe fragt jeder der acht Endpunkte den US-Shop ab und liefert Dollarpreise. Euro-Preise von ikea.com/de gibt es nur mit `"country": "de"`.
- Geliefert werden die Online-Preise von ikea.com/de. Ein Preis, der nur im Einrichtungshaus gilt, steht getrennt in `in_store_offer`; Lieferkosten nennt die API nicht.
- Bei dauerhaft gesenkten Preisen blieb `lowest_previous_price` leer (6 von 6 in unserer Suche). Wer Preissenkungen auswertet, liest `original_price` und den Gültigkeitszeitraum.
- Der Bestandsstatus kennt neben high_in_stock, low_in_stock und out_of_stock auch medium_in_stock: In unserer Abfrage für zwei Kleiderschränke kam der Wert in 5 von 108 Zeilen vor. Eine Prüfung auf feste Werte sollte ihn einschließen.
- Nachlieferungen kommen so, wie IKEA sie ankündigt, als Zeitfenster. KLEPPSTAD stand am 28. Oktober in Hannover-Messe, Karlsruhe und Ulm bei 0 Stück, jeweils mit einer Nachlieferung zwischen dem 30. Oktober und dem 6. November 2026.
- Die Bewertungszahl eines Produkts umfasst alle Länder, `product/reviews` zeigt standardmäßig nur die deutschen. Beim Bau stand das VIMLE-Sofa bei 156 Bewertungen insgesamt und 17 aus Deutschland.
- Eine EAN/GTIN veröffentlicht IKEA nicht, sie fehlt in jeder Antwort.
- Abgerechnet werden 2 Credits für `product/detail` und 1 Credit für jeden anderen Endpunkt. Ein Aufruf von `product/availability` deckt bis zu 10 Artikel ab.