IKEA API: ceny, zásoby a výrobky z ikea.com/cz v JSON
IKEA nemá veřejné API pro vývojáře. Tohle rozhraní čte český obchod ikea.com/cz tak, jak ho vidí zákazník — název, cenu v Kč, akční a členské ceny, rozměry, hodnocení a hlavně počet kusů v jednotlivých obchodních domech — a vrací to jako JSON. Není to napojení pro dodavatele IKEA ani pro správu objednávek: čte se jen veřejný katalog a dostupnost zboží.
Endpointy
| endpoint | Co se vrací | Povinné |
|---|---|---|
| search | Vyhledávání podle slova, názvu série (BILLY) nebo čísla zboží: cena, cena IKEA Family zvlášť, předchozí cena u akce, hodnocení, barvy a kategorie. Řazení a filtry jsou ty, které nabízí sama IKEA. | query |
| category | Všechny výrobky jedné kategorie, stránkované, se stejnými řádky a filtry jako vyhledávání. | category_id |
| categories | Strom kategorií po jedné úrovni, s počtem výrobků v každé kategorii. | vše volitelné |
| product/detail | Kompletní karta výrobku: všechny ceny odděleně (běžná, IKEA Family, předchozí, nejnižší za 30 dní), rozměry, balení, materiály, návody k montáži, záruka a designér. | product_id |
| product/availability | Zásoby až 10 výrobků ve všech obchodních domech v Česku: počet kusů, stav, ulička a regál v samoobslužném skladu, termín a množství doplnění, Click & Collect a doručení domů. | vše volitelné |
| product/reviews | Recenze zákazníků po stránkách: hvězdičky, dílčí hodnocení (kvalita, montáž…), ověřený nákup a odpověď IKEA. | product_id |
| stores | Obchodní domy IKEA v Česku s id pro product/availability a souřadnicemi. | vše volitelné |
| suggest | Našeptávač z vyhledávacího pole: návrhy hledání, kategorie a výrobky. | query |
Každé volání se účtuje v kreditech. Neúspěšná a blokovaná volání jsou zdarma.
Funkční příklad
U výrobku s nízkou zásobou přijde i ohlášené doplnění. Pohovka GLOSTAD měla na Zličíně 1 kus a doplnění 16 kusů mezi 25. 10. a 1. 11., na Černém Mostě 29 kusů. Než pošlete zákazníka do konkrétního obchodního domu, podívejte se na quantity a restocks, ne jen na status.
curl -X POST https://api.reefapi.com/ikea/v1/product/availability \
-H "x-api-key: VAS_KLIC" \
-H "content-type: application/json" \
-d '{"product_id": "50489012", "country": "cz"}'{
"ok": true,
"data": {
"items": [
{
"item_no": "50489012",
"online": { "home_delivery_available": true, "click_collect_available": true },
"stores": [
{
"store_id": "408",
"store_name": "IKEA Praha - Cerny Most",
"quantity": 29,
"status": "high_in_stock",
"sales_locations": [{ "type": "AISLE_AND_BIN", "aisle": "09", "bin": "00" }]
},
{
"store_id": "178",
"store_name": "IKEA Praha - Zlicin",
"quantity": 1,
"status": "low_in_stock",
"restocks": [{ "earliest_date": "2026-10-25", "latest_date": "2026-11-01", "quantity": 16 }]
},
...
],
"store_count": 4,
"in_stock_store_count": 4
}
],
"country": "cz"
},
"meta": { "record_count": 1, "cache_hit": false, "mode": "live" }
}Vlastní scraper na IKEA: kde to drhne
Stránka výrobku na ikea.com nese data ve skriptu, ne v HTML, a IKEA formát toho skriptu mění bez ohlášení. V říjnu 2026 se změnil klíč, pod kterým data leží, a parser, který hledal ten původní, začal u každého výrobku ve všech zemích hlásit „nenalezeno“ — bez jediné chyby, která by napověděla proč. Stalo se to i nám a opravili jsme to.
Druhá past je cena. U akcí IKEA Family stojí v datech na místě ceny členská cena a běžná cena je až jako „předchozí“. Skript, který vezme první číslo, uloží cenu, kterou zaplatí jen členové. Tady jsou běžná cena, cena IKEA Family, předchozí cena a nejnižší cena za 30 dní samostatná pole.
Když sortiment potřebujete stáhnout jednou, vlastní skript stačí. Jakmile má běžet denně, rozhoduje hlavně to, kdo si včas všimne, že se zdroj změnil.
Další dokumentace v češtině
Omezení a poctivé poznámky
- Tohle není oficiální API IKEA a s IKEA nemáme žádné partnerství.
- Souhrnné hodnocení výrobku započítává recenze ze všech zemí, kdežto product/reviews vrací ve výchozím stavu jen recenze z Česka (parametr scope).
- Čísla zboží jsou většinou globální, ale ne vše se v Česku prodává. Zboží mimo český sortiment se v dostupnosti vrátí v not_sold_here, ne jako „vyprodáno“.
- Názvy obchodních domů přicházejí tak, jak je IKEA posílá ve svých datech o zásobách, tedy bez diakritiky (Praha - Cerny Most).
- Výchozí země je us: bez country: "cz" se dotaz pošle do amerického obchodu a ceny přijdou v dolarech.
- Cenu u ikea.com filtrujete přes cenová pásma IKEA (filters, f-price-buckets); parametry min_price a max_price platí jen pro IKEA Türkiye.
- Nic se neukládá do cache: zásoby i ceny se čtou z IKEA při každém volání znovu.