Pour récupérer les prix IKEA, appelez l'API IKEA de Scavio avec "country": "fr". POST /api/v1/ikea/search renvoie les produits d'ikea.com/fr en euros avec l'ancien prix, l'étiquette Prix baissé et ses dates de validité, pour 1 crédit. POST /api/v1/ikea/compare chiffre le même numéro d'article à 8 chiffres sur 2 à 10 pays en un appel, à 1 crédit par pays, et POST /api/v1/ikea/items chiffre 100 articles sur un pays pour 1 crédit.
Chaque marché IKEA fixe ses prix, et depuis le 1er septembre 2026 IKEA les baisse en Europe, la sélection et l'ampleur variant d'un marché à l'autre (Ingka Group). Toutes les réponses ci-dessous sont des captures réelles du 13 novembre 2026, raccourcies mais jamais modifiées : la recherche, la fiche et le compare viennent des exemples du playground capturés ce jour-là, les promos et l'As-is d'appels réels le même jour. Les prix sont des nombres dans la devise du marché : 59.99 avec "currency": "EUR" signifie 59,99 €. Les images sont retirées de chaque exemple.
Étape 1 : trouver le numéro d'article
Le numéro d'article, ce sont les 8 chiffres à la fin de l'URL du produit (.../kallax-etagere-blanc-80275887/), affichés sur l'étiquette sous la forme 802.758.87. Pour le trouver par le nom, cherchez sur la France :
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": "fr", "language": "fr"}'IKEA France a renvoyé 141 résultats en 0,9 seconde. Le premier :
{
"query": "kallax",
"total": 141,
"page": 1,
"count": 24,
"country": "fr",
"language": "fr",
"currency": "EUR",
"items": [
{
"item_no": "80275887",
"item_no_global": "80275887",
"is_combination": false,
"name": "KALLAX",
"type_name": "Étagère",
"design": "blanc",
"measure_text": "77x147 cm",
"url": "https://www.ikea.com/fr/fr/p/kallax-etagere-blanc-80275887/",
"price": 59.99,
"previous_price": 74.99,
"price_tag": "new_lower_price",
"price_tag_text": "Prix baissé",
"price_valid_from": "2026-09-01",
"price_valid_to": "2027-08-31",
"rating": 4.7,
"rating_count": 2760,
"online_sellable": true
}
]
}14 des 24 premiers résultats portaient l'étiquette Prix baissé : six baisses valables depuis le 1er septembre 2026, six depuis le 9 novembre. La recherche prend query en français, country, language sur les marchés multilingues (Belgique, Suisse, Canada et Maroc acceptent "language": "fr"), page et page_size jusqu'à 100, sept tris et des filtres couleur, tranche de prix, catégorie, nouveauté, dernière chance, prix IKEA Family et meilleures ventes, plus les facets. 1 crédit. Pour une barre de recherche, POST /api/v1/ikea/suggestions avec {"query": "kall", "country": "fr"} renvoie les complétions d'IKEA, 1 crédit aussi.
Étape 2 : chiffrer un article dans plusieurs pays
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"]}'KALLAX dans six pays, trois d'entre eux montrés :
{
"item_no": "80275887",
"count": 6,
"found_count": 6,
"markets": [
{
"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": "fr",
"language": "fr",
"currency": "EUR",
"found": true,
"name": "KALLAX",
"type_name": "Étagère",
"design": "blanc",
"price": 59.99,
"previous_price": 74.99,
"price_tag": "new_lower_price",
"url": "https://www.ikea.com/fr/fr/p/kallax-etagere-blanc-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."
}Les trois autres : 49,99 € aux Pays-Bas (avant 69,99), 54,99 € en Espagne (avant 59,99) et 55 € en Italie (avant 69,95). La France était la plus chère des cinq pays de l'euro, 10 € au-dessus de l'Allemagne. Compare prend 2 à 10 des 50 pays d'ikea.com et coûte 1 crédit par pays qui répond, found: false compris ; un pays listé dans errors n'est pas facturé. Cet appel a coûté 6 crédits. IKEA États-Unis vend la même étagère sous un autre numéro, d'où found: false là-bas.
Étape 3 : chiffrer 100 articles sur un pays
Pour un panier, un appel items par pays vaut mieux qu'un compare par produit :
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", "10409932"], "country": "fr", "language": "fr"}'item_nos prend 1 à 100 numéros, en liste ou en chaîne séparée par des virgules ; les points sont acceptés (802.758.87). Chaque article revient avec les mêmes champs que la recherche, et les numéros que le marché ne vend pas vont dans not_found. Dans notre relevé du 13 novembre 2026, la France vendait 81 des 100 meilleures ventes d'IKEA Allemagne sous le même numéro ; certains marchés, comme les États-Unis ou le Japon, numérotent le même produit autrement. 1 crédit par appel, quel que soit le nombre d'articles.
Étape 4 : lire la fiche produit
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": "fr", "language": "fr"}'KALLAX sur IKEA France, sans la description, les images, l'entretien, les documents ni les variantes :
{
"item_no": "80275887",
"article_number": "802.758.87",
"name": "KALLAX",
"full_name": "KALLAX Étagère - blanc 77x147 cm",
"price": 59.99,
"previous_price": 74.99,
"price_valid_from": "2026-09-01",
"price_valid_to": "2027-08-31",
"family_price": null,
"currency": "EUR",
"dimensions": {"width": "76.5 cm", "depth": "39 cm", "height": "146.5 cm", "weight": null},
"rating": 4.7,
"rating_count": 2760,
"availability_online": "in_stock",
"price_tag": "new_lower_price",
"measurements": [{"name": "Largeur", "value": "76.5 cm"}, {"name": "Profondeur", "value": "39 cm"}],
"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 Étagère",
"url": "https://www.ikea.com/fr/fr/assembly_instructions/kallax-etagere-blanc__AA-2703433-1-101.pdf",
"article_number": "802.758.87"
}
],
"secondary_ratings": [
{"id": "appearance", "label": "Apparence", "value": 4.7},
{"id": "ease_of_assembly", "label": "Simplicité de montage/d’installation", "value": 4.7}
],
"designer": "Tord Björklund",
"return_policy_days": 365,
"detail_level": "full",
"country": "fr",
"language": "fr"
}La fiche renvoie aussi matériaux, entretien, consignes de sécurité, variantes avec leur prix, les cinq notes détaillées et les 3 avis les plus récents, et accepte une url produit à la place d'item_no. Elle a mis 11,8 secondes ici et peut aller jusqu'à environ 100 : prévoyez un délai d'attente long. Sur la Belgique en français ("country": "be", "language": "fr"), la bibliothèque BILLY 00263850 coûtait 49,99 € sans baisse. 1 crédit.
Étape 5 : suivre les promos et les baisses de prix
IKEA signale une baisse par une étiquette, et l'API la transmet. POST /api/v1/ikea/deals renvoie l'une des dix listes de promotions d'un marché :
curl -s https://api.scavio.dev/api/v1/ikea/deals \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type": "time_restricted", "country": "fr", "language": "fr"}'La liste des offres à durée limitée d'IKEA France comptait 69 articles. Le 12e de la première page :
{
"type": "time_restricted",
"total": 69,
"page": 1,
"page_size": 24,
"total_pages": 3,
"country": "fr",
"currency": "EUR",
"items": [
{
"item_no": "80512087",
"name": "STEFAN",
"type_name": "Chaise",
"design": "brun noir/Knisa gris/beige",
"measure_text": null,
"price": 39,
"previous_price": 59.99,
"price_tag": "discontinued",
"price_tag_text": null,
"price_valid_from": "2026-11-04",
"price_valid_to": "2027-02-02",
"rating": 4.4,
"rating_count": 22
}
]
}Les 24 articles de cette page étaient des fins de série (price_tag: "discontinued") à prix réduit jusqu'au 2 février 2027. price_tag vaut new_lower_price (baisse, avec previous_price), time_restricted_offer (prix réduit pour une durée limitée), family_price (price est alors le prix membre IKEA Family et previous_price le prix pour tous), lower_price_in_store, new_product, discontinued ou none. Les autres listes : new_lower_price, new_products, family_price, last_chance, lowest_price, top_seller, limited_edition, in_store_price_only et reduced_price_offer. 1 crédit.
Étape 6 : trouver un magasin et vérifier le stock
POST /api/v1/ikea/stores avec {"country": "fr"} liste les magasins et points de retrait d'IKEA France avec store_id, adresse, coordonnées, horaires et fermetures exceptionnelles. Puis le stock de 100 articles au plus dans un magasin :
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", "00263850"], "store_id": "018", "country": "fr", "language": "fr"}'Chaque article revient avec store_availability.status (in_stock_high, in_stock_low, out_of_stock) et le texte du site. C'est un niveau, pas une quantité : IKEA ne publie pas de nombre d'exemplaires. Ajoutez zip pour la livraison à domicile. store_id sert aussi de filtre sur la recherche, la catégorie et les promos. 1 crédit chacun.
Étape 7 : lire les avis
POST /api/v1/ikea/reviews avec {"item_no": "80275887", "country": "fr"} renvoie la note, le nombre de notes, cinq notes détaillées et les 20 avis les plus récents, sans pagination ni filtre par étoiles. La fiche française du KALLAX portait déjà ces notes détaillées et les derniers avis :
{
"secondary_ratings": [
{"id": "appearance", "label": "Apparence", "value": 4.7},
{"id": "ease_of_assembly", "label": "Simplicité de montage/d’installation", "value": 4.7},
{"id": "product_quality", "label": "Qualité du produit", "value": 4.5},
{"id": "value_for_money", "label": "Rapport qualité-prix", "value": 4.5},
{"id": "works_as_expected", "label": "Fonctionne comme prévu", "value": 4.8}
],
"reviews_preview": [
{
"title": "Ravie",
"text": "Facile à assembler, bien conçu, de qualité, moderne et pratique",
"rating": 5,
"date": "2026-11-10T02:14:02Z",
"author": "Nicole",
"country": null
}
]
}Les notes sont celles de chaque site : 2 760 pour KALLAX en France, 1 887 en Italie, 8 241 en Allemagne, en Espagne et en Suède, qui partagent un même compteur. 1 crédit.
Étape 8 : parcourir une catégorie et l'arborescence
POST /api/v1/ikea/category avec un category_id ou une url de catégorie renvoie ses produits avec les tris et filtres de la recherche. POST /api/v1/ikea/categories renvoie toute l'arborescence du marché avec id, nom, URL et sous-catégories, ou un seul sous-arbre avec parent_id. 1 crédit chacun.
Étape 9 : lister les offres As-is d'un magasin
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": "018", "country": "fr", "language": "fr", "page_size": 5}'Le magasin 018 avait 122 offres As-is : articles d'exposition, retours et fins de série à prix réduit. La première :
{
"store_id": "018",
"total": 122,
"total_pages": 25,
"offers": [
{
"title": "KOMPLEMENT",
"description": "tiroir, 100x35 cm, blanc",
"article_numbers": ["70246758"],
"currency": "EUR",
"original_price": 25,
"min_price": 17.5,
"max_price": 17.5,
"offers": [
{
"offer_id": "117608995651024515",
"price": 17.5,
"condition_code": "GOOD",
"condition": "Bon état",
"in_box": false,
"reason_discount": "Retour client"
}
]
}
]
}As-is couvre 13 pays, dont la France et la Suisse parmi les marchés francophones, jusqu'à 48 offres par page. 1 crédit.
Étape 10 : construire un relevé de prix hebdomadaire
import requests, datetime, json
API = "https://api.scavio.dev/api/v1/ikea"
HEADERS = {"Authorization": "Bearer YOUR_SCAVIO_API_KEY"}
ARTICLES = ["80275887", "20275814", "00275848", "10409932", "30275861"]
PAYS = ["fr", "be", "de", "nl", "es", "it", "pt", "at", "fi", "se"]
def prix_pour_tous(it):
# family_price : price est le prix membre, previous_price celui de tous
if it["price_tag"] == "family_price" and it["previous_price"]:
return it["previous_price"]
return it["price"]
jour = datetime.date.today().isoformat()
lignes = []
for pays in PAYS: # une requête à la fois, 1 crédit chacune
d = requests.post(f"{API}/items", headers=HEADERS, timeout=120,
json={"item_nos": ARTICLES, "country": pays}).json()["data"]
for it in d["items"]:
lignes.append({"date": jour, "pays": pays, "devise": d["currency"],
"item_no": it["item_no"], "prix": prix_pour_tous(it),
"ancien_prix": it["previous_price"], "price_tag": it["price_tag"]})
for no in d["not_found"]:
lignes.append({"date": jour, "pays": pays, "item_no": no, "prix": None})
with open(f"prix-ikea-{jour}.json", "w") as f:
json.dump(lignes, f, ensure_ascii=False)Dix pays font 10 crédits par passage, que vous suiviez 5 articles ou 100. Lancez-le chaque semaine et gardez chaque fichier : l'ancien prix n'apparaît que tant que la baisse est en cours, c'est donc votre propre historique qui dit quand un prix a bougé. Réessayez un 502 après une pause ; les appels en échec ne sont pas facturés, un article introuvable l'est.
Tous les endpoints IKEA sur la France
| Endpoint | Ce qu'il renvoie | Crédits | Coût pour 1 000 appels sur Growth |
|---|---|---|---|
/api/v1/ikea/search | Produits pour un mot-clé, tris, filtres, facettes | 1 | 1,00 $ |
/api/v1/ikea/product | Une fiche : prix, dimensions, colis, notices, variantes | 1 | 1,00 $ |
/api/v1/ikea/compare | Un numéro d'article sur 2 à 10 des 50 pays | 1 par pays | 1,00 $ par pays |
/api/v1/ikea/items | Jusqu'à 100 numéros d'article sur un marché | 1 | 1,00 $ |
/api/v1/ikea/deals | L'une des 10 listes de promotions | 1 | 1,00 $ |
/api/v1/ikea/category | Les produits d'une catégorie, avec tris et filtres | 1 | 1,00 $ |
/api/v1/ikea/categories | L'arborescence du marché ou un sous-arbre | 1 | 1,00 $ |
/api/v1/ikea/suggestions | Les suggestions de la barre de recherche | 1 | 1,00 $ |
/api/v1/ikea/stores | Magasins et horaires | 1 | 1,00 $ |
/api/v1/ikea/stock | Niveau de stock de 100 articles dans un magasin | 1 | 1,00 $ |
/api/v1/ikea/reviews | Note, notes détaillées et les 20 avis les plus récents | 1 | 1,00 $ |
/api/v1/ikea/as-is | Les offres As-is d'un magasin | 1 | 1,00 $ |
Les appels en échec ne sont pas facturés ; un article introuvable l'est. Un marché hors de la liste d'un endpoint répond 400 avant toute facturation.
Et une API IKEA officielle ?
Il n'y en a pas à laquelle s'inscrire. IKEA ne publie ni portail développeur ni programme de clés pour son catalogue. Les hubs domotiques DIRIGERA et TRADFRI ont une interface locale pour les appareils, pas pour les produits, et la bibliothèque open source vrslev/ikea-api-client a été archivée par son auteur le 3 octobre 2024.
Pour commencer
- Créez un compte Scavio : 50 crédits offerts, sans carte, de quoi lancer 50 appels items de 100 articles chacun. Ensuite, le forfait Hobby donne 3 000 crédits pour 15 $ par mois, et Growth revient à 1 $ les 1 000 crédits.
- Trouvez vos numéros d'article avec la recherche, ou relevez-les dans les URL d'ikea.com/fr.
- Chiffrez-les avec un appel items par pays, ou un compare par produit.
- Enregistrez chaque passage avec sa date, et lisez
price_tagetprevious_pricepour les baisses d'IKEA. - Testez chaque appel d'abord dans le playground.
Références : l'API IKEA en français · docs compare · docs items · docs fiche · docs stock · les meilleures API de prix IKEA · how to get IKEA prices by country (English)
Frequently asked questions
IKEA a-t-il une API ?
IKEA ne publie pas d'API développeur ni de programme de clés pour son catalogue, ses prix ou ses stocks, et l'interface locale des hubs domotiques IKEA sert aux appareils, pas aux produits. L'API IKEA de Scavio renvoie recherche, fiches, prix par pays, promos, stock en magasin, avis et offres As-is en JSON, à 1 crédit par appel.
Où trouver le numéro d'article IKEA ?
Ce sont les 8 chiffres à la fin de chaque URL produit d'ikea.com, par exemple kallax-etagere-blanc-80275887, affichés sur l'étiquette sous la forme 802.758.87. L'API accepte les deux formes, et la recherche renvoie le numéro de chaque produit dans item_no.
L'API convertit-elle les prix dans une seule devise ?
Non. Chaque réponse porte la devise du marché et son prix TVA locale comprise, jamais converti : 59,99 EUR en France, 599 SEK en Suède pour la même étagère KALLAX le 13 novembre 2026. Comparez directement les pays de la zone euro et appliquez votre propre taux de change, daté, pour les autres.
Quels marchés francophones l'API couvre-t-elle ?
La France (les 12 endpoints, As-is compris), la Belgique, la Suisse, le Canada et le Maroc avec language fr. La Suisse a aussi As-is ; la Belgique, le Canada et le Maroc ont les 11 autres. Au total, la même clé couvre 55 sites IKEA.