Żeby pobrać ceny IKEA Polska przez API, wyślij POST na /api/v1/ikea/search w Scavio ze słowem kluczowym i "country": "pl": każdy produkt wraca z 8-cyfrowym numerem artykułu, ceną w złotych, poprzednią ceną, etykietą "Nowa, niższa cena" i datami jej obowiązywania. Z tym numerem /api/v1/ikea/items wycenia 100 artykułów za 1 kredyt, a /api/v1/ikea/compare ten sam artykuł w maksymalnie 10 krajach, 1 kredyt za kraj.
Wszystkie odpowiedzi poniżej to prawdziwe zapisy z 13 listopada 2026 roku, skrócone dla czytelności (mniej pól i elementów, bez zdjęć), bez zmiany żadnej wartości. Ceny to liczby w walucie rynku: 149 z "currency": "PLN" to 149 zł z polskim VAT. W IKEA Polska działają wszystkie 12 endpointów IKEA API, każdy po 1 kredycie poza compare.
Krok 1: Wyszukaj w IKEA Polska
curl -s https://api.scavio.dev/api/v1/ikea/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "kallax", "country": "pl", "language": "pl"}'IKEA Polska zwróciła 100 wyników w niecałą sekundę. Dwa pierwsze:
{
"query": "kallax",
"total": 100,
"page": 1,
"page_size": 24,
"total_pages": 5,
"count": 24,
"items": [
{
"item_no": "30372188",
"item_no_global": "30372188",
"is_combination": false,
"name": "KALLAX",
"type_name": "Regał",
"design": "biały",
"measure_text": "42x112 cm",
"url": "https://www.ikea.com/pl/pl/p/kallax-regal-bialy-30372188/",
"price": 149,
"previous_price": 179,
"price_tag": "new_lower_price",
"price_tag_text": "Nowa, niższa cena",
"price_valid_from": "2026-11-02",
"price_valid_to": "2027-08-31",
"rating": 4.9,
"rating_count": 148,
"online_sellable": true
},
{
"item_no": "80275887",
"item_no_global": "80275887",
"is_combination": false,
"name": "KALLAX",
"type_name": "Regał",
"design": "biały",
"measure_text": "77x147 cm",
"url": "https://www.ikea.com/pl/pl/p/kallax-regal-bialy-80275887/",
"price": 279,
"previous_price": null,
"price_tag": "lower_price_in_store",
"price_tag_text": null,
"price_valid_from": null,
"price_valid_to": null,
"rating": 4.9,
"rating_count": 1057,
"online_sellable": true
}
],
"country": "pl",
"language": "pl",
"currency": "PLN"
}Wśród pierwszych 24 było 17 z new_lower_price (obniżki KALLAX od 2 lub 9 listopada 2026, ważne do 31 sierpnia 2027) i 2 z lower_price_in_store. item_no to numer artykułu (na metce 303.721.88, w adresie URL na końcu). Wyszukiwanie przyjmuje page i page_size do 100, siedem sortowań, filtry koloru, przedziału cen, kategorii, nowości, ostatniej szansy, ceny IKEA Family i bestsellerów oraz facets dla reszty: w tym wyszukiwaniu 20 grup, m.in. wymiary, liczba przegródek i drzwi. 1 kredyt. Do pola wyszukiwania z podpowiedziami /api/v1/ikea/suggestions z {"query": "kall", "country": "pl"} zwraca frazy, kategorie i produkty, też za 1 kredyt.
Krok 2: Odczytaj kartę produktu
curl -s https://api.scavio.dev/api/v1/ikea/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_no": "30372188", "country": "pl", "language": "pl"}'Regał KALLAX 42x112 w IKEA Polska, bez opisu, zdjęć i pielęgnacji:
{
"item_no": "30372188",
"article_number": "303.721.88",
"name": "KALLAX",
"full_name": "KALLAX Regał - biały 42x112 cm",
"price": 149,
"previous_price": 179,
"price_valid_from": "2026-11-02",
"price_valid_to": "2027-08-31",
"family_price": null,
"currency": "PLN",
"dimensions": {"width": "41.5 cm", "depth": "39 cm", "height": "111.5 cm", "weight": null},
"rating": 4.9,
"rating_count": 148,
"availability_online": "in_stock",
"price_tag": "new_lower_price",
"price_note": "Nowa, niższa cena",
"measurements": [{"name": "Szerokość", "value": "41.5 cm"}, {"name": "Obciążenie półki", "value": "13 kg"}],
"packaging": {
"number_of_packages": 1,
"packages": [
{
"item_no": "30372188",
"dimensions": {
"width": {"text": "41 cm", "value": 41},
"height": {"text": "14 cm", "value": 14},
"length": {"text": "108 cm", "value": 108}
},
"weight": {"text": "12.25 kg", "value": 12.25},
"quantity": 1
}
]
},
"assembly_pdfs": [
{
"label": "KALLAX Regał",
"url": "https://www.ikea.com/pl/pl/assembly_instructions/kallax-regal-bialy__AA-2731067-1-2.pdf",
"article_number": "303.721.88"
}
],
"designer": null,
"secondary_ratings": [
{"id": "appearance", "label": "Wygląd", "value": 4.9},
{"id": "ease_of_assembly", "label": "Łatwość montażu/instalacji", "value": 4.9}
],
"reviews_preview": [
{
"title": "polecam",
"text": "idealny regał, jest super",
"rating": 5,
"date": "2026-08-03T18:12:25Z",
"author": "Aneta",
"country": null
}
],
"return_policy_days": 365,
"detail_level": "full",
"country": "pl",
"language": "pl"
}Karta zawiera też materiały, pielęgnację, uwagi o bezpieczeństwie, warianty z numerami, pięć ocen szczegółowych (tu: wygląd 4,9, montaż 4,9, jakość 4,8, wart swojej ceny 4,8, spełnia oczekiwania 4,9) i 3 najnowsze opinie. Zamiast item_no przyjmuje url produktu. Ta odpowiedź przyszła po 6,0 sekundy, ale karta może się ładować do około 100, więc ustaw w kliencie timeout 120 sekund. 1 kredyt.
Krok 3: Ten sam artykuł w innych krajach
curl -s https://api.scavio.dev/api/v1/ikea/compare \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_no": "80275887", "countries": ["de", "fr", "se", "nl", "es", "it"]}'To wywołanie z 13 listopada porównało sześć krajów; trzy z nich:
{
"item_no": "80275887",
"count": 6,
"found_count": 6,
"markets": [
{
"country": "es",
"language": "es",
"currency": "EUR",
"found": true,
"name": "KALLAX",
"type_name": "Estantería",
"design": "blanco",
"price": 54.99,
"previous_price": 59.99,
"price_tag": "new_lower_price",
"url": "https://www.ikea.com/es/es/p/kallax-estanteria-blanco-80275887/"
},
{
"country": "de",
"language": "de",
"currency": "EUR",
"found": true,
"name": "KALLAX",
"type_name": "Regal",
"design": "weiß",
"price": 49.99,
"previous_price": 59.99,
"price_tag": "new_lower_price",
"url": "https://www.ikea.com/de/de/p/kallax-regal-weiss-80275887/"
},
{
"country": "se",
"language": "sv",
"currency": "SEK",
"found": true,
"name": "KALLAX",
"type_name": "Hylla",
"design": "vit",
"price": 599,
"previous_price": null,
"price_tag": "none",
"url": "https://www.ikea.com/se/sv/p/kallax-hylla-vit-80275887/"
}
],
"errors": [],
"note": "Prices are in each market's own currency and are not converted. Some markets (us, ca, jp, au, kr, in, my, sg, ph ...) sell the same product under a different article number, so found is false there."
}Pozostałe trzy: Francja 59,99 EUR (wcześniej 74,99), Holandia 49,99 (wcześniej 69,99) i Włochy 55,00 (wcześniej 69,95). Dodaj do listy "pl" i "cz", a dostaniesz Polskę i Czechy w tej samej odpowiedzi: tego dnia wyszukiwanie w Polsce pokazywało ten regał za 279 PLN, a w Czechach za 1490 CZK. Compare przyjmuje od 2 do 10 z 50 krajów ikea.com i kosztuje 1 kredyt za każdy kraj, który odpowiedział, łącznie z found: false; kraj, który trafi do errors, nie jest liczony. To wywołanie kosztowało 6 kredytów. Waluty nigdy nie są przeliczane.
Krok 4: 100 numerów artykułów w jednym wywołaniu
Przy koszyku jedno wywołanie items na kraj opłaca się bardziej niż compare dla każdego produktu:
curl -s https://api.scavio.dev/api/v1/ikea/items \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_nos": ["30372188", "80275887", "90301555", "10409932"], "country": "pl"}'item_nos przyjmuje od 1 do 100 numerów jako listę albo po przecinku, z kropkami lub bez (303.721.88). Każdy artykuł wraca z price, previous_price, price_tag, price_valid_from, price_valid_to, oceną i dostępnością online, a numery, których IKEA Polska nie sprzedaje, trafiają do not_found. Kosztuje 1 kredyt, niezależnie od tego, czy pytasz o 4, czy o 100 artykułów.
Krok 5: Promocje IKEA Polska
curl -s https://api.scavio.dev/api/v1/ikea/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "new_lower_price", "country": "pl", "page_size": 100}'type wybiera listę: new_lower_price ("Nowa, niższa cena"), family_price, last_chance, new_products, top_seller, lowest_price, limited_edition, time_restricted, in_store_price_only albo reduced_price_offer. Każdy artykuł ma cenę, poprzednią cenę i daty. Uwaga na family_price: tam price to cena dla członków IKEA Family, a previous_price to cena dla wszystkich. API zwraca cenę z chwili zapytania, więc historię budujesz sam, zapisując każde odpytanie. 1 kredyt za stronę.
Krok 6: Sklepy i dostępność w sklepie
curl -s https://api.scavio.dev/api/v1/ikea/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "pl"}'IKEA Polska zwraca 13 sklepów, w tym dwa małe (Białystok, Bielsko-Biała). Jeden, z godzinami skróconymi do jednego dnia:
{
"total": 13,
"count": 13,
"country": "pl",
"stores": [
{
"store_id": "429",
"name": "IKEA Bydgoszcz",
"display_name": "Bydgoszcz",
"type": "store",
"address": {"street": "ul. Skandynawska 1", "city": "Bydgoszcz", "zip": "85-776", "timezone": "Europe/Warsaw"},
"latitude": 53.1324,
"longitude": 18.1194,
"hours": {
"normal": [{"day": "MON", "open": "10:00", "close": "20:00"}],
"closed": [{"date": "2026-12-24", "reason": null}]
},
"restaurant_hours": [{"day": "MON", "open": "09:30", "close": "20:00"}]
}
]
}Ze store_id sprawdzisz dostępność do 100 artykułów w tym sklepie:
curl -s https://api.scavio.dev/api/v1/ikea/stock \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_nos": ["30372188", "80275887"], "store_id": "429", "country": "pl"}'Każdy artykuł wraca z store_availability.status (in_stock_high, in_stock_low albo out_of_stock) i tekstem ze strony. To poziom, nie liczba sztuk: IKEA nie publikuje ilości. Dodaj zip, żeby sprawdzić dostawę do domu. store_id działa też jako filtr w wyszukiwaniu, kategorii i promocjach. 1 kredyt za wywołanie.
Krok 7: Opinie
curl -s https://api.scavio.dev/api/v1/ikea/reviews \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_no": "80275887", "country": "pl"}'Zwraca ocenę, liczbę ocen, pięć ocen szczegółowych i 20 najnowszych opinii z karty produktu, z tytułem, treścią, gwiazdkami, datą i autorem. Nie ma stronicowania, sortowania ani filtra gwiazdek. Liczby są z danego rynku: w Polsce regał 80275887 miał 4,9 z 1057 ocen, a w Niemczech i Hiszpanii 4,7 z 8241, bo Polska ma własną pulę ocen. 1 kredyt.
Krok 8: Kategorie
/api/v1/ikea/categories z {"country": "pl"} zwraca drzewo kategorii rynku z id, nazwą, url i podkategoriami albo jedno poddrzewo przez parent_id. /api/v1/ikea/category z category_id albo url kategorii wypisuje jej produkty z tymi samymi sortowaniami, filtrami i facets co wyszukiwanie. Karta KALLAX 30372188 umieszcza go w kategorii "Regały modułowe". 1 kredyt za każde.
Krok 9: Oferty As-is w sklepie
curl -s https://api.scavio.dev/api/v1/ikea/as-is \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"store_id": "429", "country": "pl", "page_size": 5}'IKEA Bydgoszcz miała 314 ofert As-is: produkty z ekspozycji, zwroty i wycofane z oferty, w obniżonej cenie. Pierwsza:
{
"store_id": "429",
"total": 314,
"page": 1,
"page_size": 5,
"total_pages": 63,
"currency": "PLN",
"offers": [
{
"title": "HOLMSTA",
"description": "fotel, wykonano ręcznie beżowy",
"article_numbers": ["90508551"],
"currency": "PLN",
"original_price": 799,
"min_price": 499.99,
"max_price": 499.99,
"offers": [
{
"offer_id": "117229290829476398",
"additional_info": null,
"price": 499.99,
"condition_code": "AS_NEW",
"condition": "Jak nowy",
"in_box": false,
"reason_discount": "Zwrot od klienta"
}
]
}
]
}As-is działa na 13 rynkach, w tym w Polsce (nie w Czechach ani na Słowacji), do 48 ofert na stronę. 1 kredyt.
Krok 10: Cotygodniowa tabela cen
import requests, datetime, json
API = "https://api.scavio.dev/api/v1/ikea"
HEADERS = {"Authorization": "Bearer YOUR_SCAVIO_API_KEY"}
ARTYKULY = ["30372188", "80275887", "90301555", "10409932", "70301537"]
KRAJE = ["pl", "cz", "de", "sk"]
def cena_regularna(it):
# family_price: price to cena dla IKEA Family, previous_price dla wszystkich
if it["price_tag"] == "family_price" and it["previous_price"]:
return it["previous_price"]
return it["price"]
dzis = datetime.date.today().isoformat()
wiersze = []
for c in KRAJE: # jedno zapytanie naraz, 1 kredyt każde
d = requests.post(f"{API}/items", headers=HEADERS, timeout=120,
json={"item_nos": ARTYKULY, "country": c}).json()["data"]
for it in d["items"]:
wiersze.append({"data": dzis, "kraj": c, "waluta": d["currency"],
"item_no": it["item_no"], "cena": cena_regularna(it),
"poprzednia_cena": it["previous_price"], "etykieta": it["price_tag"]})
for no in d["not_found"]:
wiersze.append({"data": dzis, "kraj": c, "item_no": no, "cena": None})
with open(f"ceny-ikea-{dzis}.json", "w") as f:
json.dump(wiersze, f, ensure_ascii=False)Cztery kraje to 4 kredyty na przebieg, czy śledzisz 5 artykułów, czy 100. Uruchamiaj co tydzień i zachowuj każdy plik: poprzednia cena widnieje tylko w czasie obniżki, więc to Twoja własna historia pokazuje, kiedy cena się zmieniła. Waluty zostają osobno (PLN, CZK, EUR). Ponów 502 po przerwie; nieudane wywołania nie są liczone, a "nie znaleziono" jest.
Wszystkie endpointy IKEA w Polsce
| Endpoint | Co zwraca | Kredyty | Koszt 1000 wywołań w Growth |
|---|---|---|---|
/api/v1/ikea/search | Produkty dla słowa kluczowego, sortowania, filtry, facets | 1 | 1 USD |
/api/v1/ikea/product | Karta produktu: cena, wymiary, paczki, PDF montażu, warianty | 1 | 1 USD |
/api/v1/ikea/compare | Jeden artykuł w 2 do 10 z 50 krajów | 1 za kraj | 1 USD za kraj |
/api/v1/ikea/items | Do 100 numerów artykułów na jednym rynku | 1 | 1 USD |
/api/v1/ikea/deals | Jedna z 10 list promocji | 1 | 1 USD |
/api/v1/ikea/category | Produkty jednej kategorii | 1 | 1 USD |
/api/v1/ikea/categories | Drzewo kategorii albo poddrzewo | 1 | 1 USD |
/api/v1/ikea/suggestions | Podpowiedzi wyszukiwania dla fragmentu frazy | 1 | 1 USD |
/api/v1/ikea/stores | Sklepy z godzinami i dniami zamknięcia | 1 | 1 USD |
/api/v1/ikea/stock | Poziom dostępności do 100 artykułów w sklepie | 1 | 1 USD |
/api/v1/ikea/reviews | Ocena, oceny szczegółowe i 20 najnowszych opinii | 1 | 1 USD |
/api/v1/ikea/as-is | Oferty As-is jednego sklepu | 1 | 1 USD |
Błędy po stronie źródła nie są liczone; "nie znaleziono" jest. Rynek spoza listy danego endpointu dostaje 400, zanim cokolwiek zostanie naliczone. Growth kosztuje 1 USD za 1000 kredytów; Hobby 15 USD miesięcznie za 3000 kredytów.
Jak zacząć
- Załóż konto w Scavio: 50 darmowych kredytów bez karty, wystarczy na 50 wywołań items po maksymalnie 100 artykułów.
- Znajdź interesujące Cię artykuły wyszukiwaniem albo skopiuj numer z końca adresu URL w IKEA.
- Wyceniaj je jednym wywołaniem items na kraj albo compare dla pojedynczego produktu.
- Zapisuj każdy przebieg z datą i czytaj
price_tagorazprevious_price, żeby widzieć obniżki IKEA. - Każde wywołanie przetestuj najpierw w playgroundzie.
Linki: IKEA API Polska · wyszukiwanie · karta produktu · ceny w różnych krajach · dostępność · As-is · najlepsze API do cen IKEA · How to get IKEA prices by country (po angielsku)
Frequently asked questions
Czy IKEA ma API?
IKEA nie publikuje publicznego API ani programu kluczy do katalogu, cen czy stanów, a lokalny interfejs huba DIRIGERA służy do urządzeń smart home. IKEA API od Scavio zwraca wyszukiwanie, karty produktów, ceny w różnych krajach, promocje, dostępność w sklepie, opinie i oferty As-is IKEA Polska w JSON, po 1 kredycie za wywołanie.
Które endpointy działają w IKEA Polska?
Wszystkie 12: wyszukiwanie, produkt, ceny w różnych krajach, wycena artykułów, promocje, kategoria, drzewo kategorii, podpowiedzi, sklepy, dostępność, opinie i As-is. Wystarczy "country": "pl"; dane wracają po polsku i w złotych.
Czy API podaje liczbę sztuk w sklepie?
Nie. /api/v1/ikea/stock zwraca poziom, który pokazuje strona (in_stock_high, in_stock_low albo out_of_stock), dla maksymalnie 100 numerów artykułów w jednym sklepie, z tekstem ze strony. IKEA nie publikuje liczby sztuk ani dat dostaw, więc API też ich nie zwraca.
Czy mogę porównać ceny IKEA Polska i IKEA Czechy?
Tak, tym samym numerem artykułu: compare z "pl" i "cz" kosztuje 2 kredyty, a items wycenia do 100 artykułów na rynek za 1 kredyt. Waluty zostają jednak osobno, bo API nigdy nie przelicza: 13 listopada 2026 roku regał KALLAX 80275887 kosztował 279 PLN w Polsce i 1490 CZK w Czechach. Do porównania zastosuj własny kurs z datą.
Co mówią warunki IKEA o automatycznym zbieraniu danych?
Warunki IKEA USA (Terms and Conditions, obowiązują od 2 września 2026) mówią, że użytkownicy "may not use any robot, spider, other automatic device, or manual process to monitor, copy or scrape any of our web pages or the content contained herein, without the prior express written consent from an authorized executive of IKEA". Każdy rynek publikuje własne warunki. To nie jest porada prawna.