For at hente IKEA priser via API sender du et søgeord eller varenummer med "country": "dk" til Scavios IKEA API. POST /api/v1/ikea/search giver hvert produkt fra IKEA Danmark med pris, førpris, prismærke og gyldighedsdatoer i DKK, POST /api/v1/ikea/items prissætter op til 100 varenumre i ét kald, og POST /api/v1/ikea/compare prissætter ét nummer i op til 10 lande. Hvert kald koster 1 kredit (compare 1 pr. land), 1 USD pr. 1.000 forespørgsler på Growth-planen.
Siden 1. september 2026 har IKEA sænket priser i Europa, og hvilke produkter og hvor meget "will differ from market to market" (Ingka Group). Trinene nedenfor henter netop det: prisen, førprisen og datoen, hvor den nye pris udløber. Hvert svar er en forkortet optagelse fra 13. november 2026; værdierne er uændrede, billeder og lange felter er fjernet. Priser er tal i markedets valuta: 449 med "currency": "DKK" er 449 kr. IKEA Danmark (dk, dansk) virker på 11 af de 12 endpoints; As-is tilbydes ikke i Danmark.
Trin 1: Find varenummeret
Varenummeret er de 8 cifre i slutningen af hver IKEA-produkt-URL (.../kallax-reol-hvid-80275887/), på prisskiltet 802.758.87. Efter navn finder du det med en søgning:
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": "dk"}'IKEA Danmark gav 127 resultater, 24 pr. side. Det første, uden billeder, varianter og kategoristi:
{
"query": "kallax",
"total": 127,
"page": 1,
"page_size": 24,
"total_pages": 6,
"count": 24,
"country": "dk",
"language": "da",
"currency": "DKK",
"items": [
{
"item_no": "80275887",
"item_no_global": "80275887",
"is_combination": false,
"name": "KALLAX",
"type_name": "Reol",
"design": "hvid",
"measure_text": "77x147 cm",
"url": "https://www.ikea.com/dk/da/p/kallax-reol-hvid-80275887/",
"price": 449,
"previous_price": 499,
"price_tag": "new_lower_price",
"price_tag_text": "Ny lavere pris",
"price_valid_from": "2026-09-01",
"price_valid_to": "2026-11-29",
"rating": 4.7,
"rating_count": 8241,
"online_sellable": true
}
]
}19 af de 24 resultater havde en ny lavere pris, og 18 af dem gjaldt til 29. november 2026. Search tager query, country, page og page_size op til 100, syv sorteringer og filtre for farve, prisinterval, kategori, nyhed, sidste chance, IKEA Family-pris og bestseller, plus facets (20 på denne søgning, fx Størrelse, Farve og Pris). Svaret kom på 0,7 sekunder. 1 kredit. Til et søgefelt giver POST /api/v1/ikea/suggestions med {"query": "kall", "country": "dk"} søgefeltets forslag, også 1 kredit.
Trin 2: Læs ét produkt
curl -s https://api.scavio.dev/api/v1/ikea/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_no": "80275887", "country": "dk"}'KALLAX hos IKEA Danmark, uden beskrivelse, billeder, vedligeholdelse og dokumenter:
{
"item_no": "80275887",
"article_number": "802.758.87",
"name": "KALLAX",
"full_name": "KALLAX Reol - hvid 77x147 cm",
"price": 449,
"previous_price": 499,
"price_valid_from": "2026-09-01",
"price_valid_to": "2026-11-29",
"family_price": null,
"currency": "DKK",
"dimensions": { "width": "76.5 cm", "depth": "39 cm", "height": "146.5 cm", "weight": null },
"rating": 4.7,
"rating_count": 8246,
"availability_online": "in_stock",
"price_tag": "new_lower_price",
"price_note": "Ny lavere pris",
"measurements": [
{ "name": "Bredde", "value": "76.5 cm" },
{ "name": "Maks. belastning/hylde", "value": "13 kg" }
],
"packaging": {
"number_of_packages": 1,
"packages": [
{
"item_no": "80275887",
"dimensions": { "width": { "text": "41 cm", "value": 41 }, "height": { "text": "16 cm", "value": 16 }, "length": { "text": "150 cm", "value": 150 } },
"weight": { "text": "20.30 kg", "value": 20.3 },
"quantity": 1
}
]
},
"assembly_pdfs": [
{ "label": "KALLAX Reol", "url": "https://www.ikea.com/dk/da/assembly_instructions/kallax-reol-hvid__AA-2703433-1-2.pdf", "article_number": "802.758.87" }
],
"designer": "Tord Björklund",
"return_policy_days": 365,
"country": "dk",
"language": "da"
}Produktsiden viste 8.246 bedømmelser, søgningen lidt tidligere 8.241: tallet er det, siden viser på kaldets tidspunkt. Product giver også materialer, vedligeholdelse, sikkerhed, varianter, delbedømmelser og de 3 nyeste anmeldelser, og tager en produkt-url i stedet for item_no. Siden svarede på 4,4 sekunder; et produktkald kan tage op til ca. 100 sekunder, så sæt en timeout på 120 sekunder. 1 kredit.
Trin 3: Prissæt ét varenummer i op til 10 lande
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": ["dk", "se", "no", "fi", "de", "nl"]}'Hvert marked svarer med country, language, currency, found, lokalt name, type_name og design, price, previous_price, price_tag og url. Samme dag gav separate optagelser af det samme varenummer disse værdier:
| Marked | Lokalt navn | Pris | Førpris | Prismærke |
|---|---|---|---|---|
| dk Danmark | KALLAX Reol, hvid | 449 DKK | 499 DKK | new_lower_price |
| se Sverige | KALLAX Hylla, vit | 599 SEK | ingen | none |
| no Norge | KALLAX Hylle, hvit | 795 NOK | 995 NOK | new_lower_price |
| fi Finland | KALLAX Hylly, valkoinen | 49 EUR | 69,99 EUR | new_lower_price |
| de Tyskland | KALLAX Regal, weiß | 49,99 EUR | 59,99 EUR | new_lower_price |
| nl Holland | KALLAX Open kast, wit | 49,99 EUR | 69,99 EUR | new_lower_price |
Compare tager 2 til 10 af de 50 ikea.com-lande og koster 1 kredit pr. land, der svarer, found: false medregnet; et land i errors trækkes ikke. Dette kald er 6 kreditter. Nogle markeder (us, ca, jp, au, kr, in, my, sg, ph ...) sælger samme produkt under et andet nummer og svarer derfor found: false. Priserne omregnes aldrig.
Trin 4: Prissæt 100 varenumre på ét marked
Til en ønskeliste er ét items-kald pr. land billigere end ét compare-kald pr. produkt:
curl -s https://api.scavio.dev/api/v1/ikea/items \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_nos": ["80275887", "20275814", "00275848"], "country": "dk"}'Hver vare kommer tilbage med de samme prisfelter som i søgningen (price, previous_price, price_tag, price_valid_from, price_valid_to, rating), og numre, markedet ikke sælger, ligger i not_found. item_nos tager 1 til 100 numre som liste eller kommasepareret; punktummer er tilladt (802.758.87). Et komplet svar står i dokumentationen. 1 kredit, uanset om du sender 3 eller 100 numre.
Trin 5: Læs IKEA tilbud og prismærker
IKEA markerer en pris med et mærke, og API'et sender det videre. POST /api/v1/ikea/deals giver én af ti tilbudslister for et marked:
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": "dk", "page_size": 100}'type er én af new_lower_price, new_products, family_price, last_chance, lowest_price, top_seller, limited_edition, time_restricted, in_store_price_only og reduced_price_offer. price_tag er new_lower_price (en nedsættelse, med previous_price), time_restricted_offer, family_price, lower_price_in_store, new_product, discontinued eller none. Ved family_price er price IKEA Family-prisen og previous_price prisen for alle. Læs slutdatoen med: i søgningen efter kallax gjaldt de nye lavere priser til 29. november 2026, så den næste forespørgsel efter den dato viser, hvad prisen bliver. 1 kredit for op til 100 varer pr. side.
Trin 6: Find varehuse og tjek lagerstatus
curl -s https://api.scavio.dev/api/v1/ikea/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "dk"}'Stores giver hvert dansk varehus med store_id, adresse, koordinater, åbningstider pr. ugedag, helligdagsundtagelser og tider for restaurant og Småland; med query filtrerer du på tekst. Med store_id tjekker du derefter lageret for op til 100 varenumre:
curl -s https://api.scavio.dev/api/v1/ikea/stock \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_nos": ["80275887", "20275814"], "store_id": "STORE_ID", "country": "dk"}'Hver vare kommer med store_availability.status (in_stock_high, in_stock_low eller out_of_stock) og sidens tekst; med zip også levering til hjemmet. Det er et niveau, ikke et antal. Komplette svar står i dokumentationen for varehuse og lagerstatus. Hver 1 kredit; store_id filtrerer også search, category og deals på ét varehus.
Trin 7: Læs anmeldelser
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": "dk"}'Reviews giver bedømmelse, antal, fem delbedømmelser og de 20 nyeste anmeldelser, produktsiden viser, uden sideinddeling, sortering eller stjernefilter. Det samme produktsvar fra trin 2 havde allerede de danske delbedømmelser og en anmeldelse:
{
"rating": 4.7,
"rating_count": 8246,
"secondary_ratings": [
{ "id": "ease_of_assembly", "label": "Nem montering/installation", "value": 4.7 },
{ "id": "value_for_money", "label": "Værdi for pengene", "value": 4.6 }
],
"reviews_preview": [
{
"title": "Flot reol",
"text": "Flot og meget billig reol. God plads og passer perfekt til ikea s kurve.",
"rating": 5,
"date": "2026-07-04T21:10:31Z",
"author": "Anna Marie",
"country": null
}
]
}Antallet gælder pr. marked: mange markeder deler én pulje (KALLAX: 8.246 i Danmark, Norge og Finland samme dag), andre har deres egen (Holland 418). 1 kredit.
Trin 8: Gennemse kategorier
POST /api/v1/ikea/category med et category_id eller en kategori-url og "country": "dk" giver produkterne i én kategori med søgningens sorteringer, filtre og facetter. POST /api/v1/ikea/categories giver markedets hele kategoritræ med id, navn, url og underkategorier, eller et deltræ med parent_id. Hver 1 kredit.
Trin 9: Byg en ugentlig pristabel
import requests, datetime, json
API = "https://api.scavio.dev/api/v1/ikea"
HEADERS = {"Authorization": "Bearer YOUR_SCAVIO_API_KEY"}
ITEMS = ["80275887", "20275814", "00275848", "10409932", "30275861"]
COUNTRIES = ["dk", "se", "no", "fi"]
def regular(it):
# family_price: price er medlemsprisen, previous_price prisen for alle
if it["price_tag"] == "family_price" and it["previous_price"]:
return it["previous_price"]
return it["price"]
today = datetime.date.today().isoformat()
rows = []
for c in COUNTRIES: # ét kald ad gangen, 1 kredit hver
d = requests.post(f"{API}/items", headers=HEADERS, timeout=120,
json={"item_nos": ITEMS, "country": c}).json()["data"]
for it in d["items"]:
rows.append({"date": today, "country": c, "currency": d["currency"],
"item_no": it["item_no"], "price": regular(it),
"previous_price": it["previous_price"], "price_tag": it["price_tag"],
"price_valid_to": it["price_valid_to"]})
for no in d["not_found"]:
rows.append({"date": today, "country": c, "item_no": no, "price": None})
with open(f"ikea-priser-{today}.json", "w") as f:
json.dump(rows, f, ensure_ascii=False)Fire lande er 4 kreditter pr. kørsel, uanset om du følger 5 eller 100 varenumre. Gem hver fil: førprisen vises kun, mens en nedsættelse gælder, og først din egen historik viser, hvornår en pris har flyttet sig. Gentag et 502 efter en pause; mislykkede kald trækkes ikke, et ikke-fundet trækkes.
Alle IKEA-endpoints for Danmark
| Endpoint | Hvad det giver | Kreditter | Pris pr. 1.000 kald (Growth) |
|---|---|---|---|
/api/v1/ikea/search | Produkter for et søgeord, sorteringer, filtre, facetter | 1 | 1 USD |
/api/v1/ikea/product | Ét produkt: pris, mål, pakker, samlevejledninger, varianter | 1 | 1 USD |
/api/v1/ikea/compare | Ét varenummer i 2 til 10 af 50 lande | 1 pr. land | 1 USD pr. land |
/api/v1/ikea/items | Op til 100 varenumre på ét marked | 1 | 1 USD |
/api/v1/ikea/deals | Én af 10 tilbudslister | 1 | 1 USD |
/api/v1/ikea/category | Produkterne i en kategori | 1 | 1 USD |
/api/v1/ikea/categories | Kategoritræet eller et deltræ | 1 | 1 USD |
/api/v1/ikea/suggestions | Søgeforslag til en påbegyndt søgning | 1 | 1 USD |
/api/v1/ikea/stores | Varehuse med åbningstider | 1 | 1 USD |
/api/v1/ikea/stock | Lagerstatus for op til 100 varenumre i ét varehus | 1 | 1 USD |
/api/v1/ikea/reviews | Bedømmelse, delbedømmelser og de 20 nyeste anmeldelser | 1 | 1 USD |
As-is findes ikke for Danmark: et kald med "country": "dk" svarer 400, før noget trækkes. Mislykkede kald trækkes ikke; et ikke-fundet trækkes.
Og IKEAs officielle API?
Der findes ikke et, man kan tilmelde sig. IKEA offentliggør ingen udviklerportal og intet nøgleprogram for sortimentet, og IKEAs amerikanske vilkår licenserer sidens indhold "for non-commercial personal use only". IKEAs eget lagertjek er en side for kunder med valg af varehus. DIRIGERA- og TRADFRI-hubbene har en lokal grænseflade til enheder, ikke produktdata.
Kom i gang
- Opret en Scavio-konto: 50 gratis kreditter, uden betalingskort, nok til 50 items-kald med op til 100 varenumre hver.
- Find varenumrene med search, eller tag dem fra produkt-URL'erne.
- Prissæt dem med ét items-kald pr. land eller ét compare-kald pr. produkt.
- Gem hver kørsel med dato, og læs
price_tag,previous_priceogprice_valid_tofor IKEAs egne nedsættelser. - Test hvert kald først i playgrounden.
Referencer: IKEA API Danmark · dokumentation søgning · priser pr. land · vareopslag · tilbud · lagerstatus · De bedste API'er til IKEA priser · engelsk version
Frequently asked questions
Hvor finder jeg IKEAs varenummer?
Varenummeret er de 8 cifre i slutningen af hver IKEA-produkt-URL, fx 80275887 i .../kallax-reol-hvid-80275887/, og på prisskiltet står det som 802.758.87. API'et tager begge skrivemåder. Efter navn finder du det med en søgning: hvert resultat har item_no.
Viser API'et antal på lager i varehuset?
Nej. Stock-endpointet i Scavios IKEA API giver den lagerstatus, siden viser for et varehus: in_stock_high, in_stock_low eller out_of_stock, med sidens egen tekst, for op til 100 varenumre pr. kald. IKEA offentliggør ikke stykantal.
Kan jeg hente IKEA As-is-tilbud i Danmark?
Nej, ikke i dag. As-is-endpointet (udstillingsmodeller, returvarer og brugte varer pr. varehus) dækker 13 markeder, blandt dem Sverige, men ikke Danmark. Et kald med country dk svarer 400 og trækkes ikke.
Omregnes IKEA priser?
Nej. Hvert svar har markedets valuta og prisen inklusive markedets moms, aldrig omregnet. Danske, svenske og norske kroner holdes adskilt; brug din egen kurs med dato, hvis du vil sammenligne dem.
Hvad koster et IKEA-kald?
1 kredit pr. kald på alle endpoints, compare 1 kredit pr. land. På Growth koster 1.000 kreditter 1 USD; Hobby koster 15 USD om måneden for 3.000 kreditter, og nye konti får 50 kreditter én gang, uden betalingskort. Mislykkede kald trækkes ikke, et ikke-fundet trækkes.