Para obtener precios de IKEA España por API, envía un POST a /api/v1/ikea/search de Scavio con una palabra clave y "country": "es": cada producto vuelve con su número de artículo de 8 cifras, precio en euros, precio anterior, etiqueta "Hemos bajado el precio" y fechas de validez. Con ese número, /api/v1/ikea/items pone precio a 100 artículos por 1 crédito y /api/v1/ikea/compare al mismo artículo en hasta 10 países, 1 crédito por país.
Todas las respuestas de abajo son capturas reales del 13 de noviembre de 2026, recortadas para que se lean (menos campos y menos elementos, sin imágenes) y sin ningún valor cambiado. Los precios son números en la moneda del mercado: 54.99 con "currency": "EUR" son 54,99 EUR, IVA español incluido. En IKEA España funcionan los 12 endpoints de la API de IKEA, todos a 1 crédito salvo compare.
Paso 1: Busca en IKEA España
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": "es", "language": "es"}'IKEA España devolvió 100 resultados en 3,3 segundos. El primero:
{
"query": "kallax",
"total": 100,
"page": 1,
"page_size": 24,
"total_pages": 5,
"count": 24,
"items": [
{
"item_no": "80275887",
"item_no_global": "80275887",
"is_combination": false,
"name": "KALLAX",
"type_name": "Estantería",
"design": "blanco",
"measure_text": "77x147 cm",
"url": "https://www.ikea.com/es/es/p/kallax-estanteria-blanco-80275887/",
"price": 54.99,
"previous_price": 59.99,
"price_tag": "new_lower_price",
"price_tag_text": "Hemos bajado el precio",
"price_valid_from": "2026-09-01",
"price_valid_to": "2026-12-31",
"rating": 4.7,
"rating_count": 8241,
"online_sellable": true
}
],
"country": "es",
"language": "es",
"currency": "EUR"
}De los primeros 24, 17 llevaban new_lower_price con validez hasta el 31 de diciembre de 2026. item_no es el número de artículo (en la etiqueta, 802.758.87; en la URL, al final). La búsqueda acepta language (es, en, ca, eu, gl), page y page_size hasta 100, siete órdenes, filtros de color, tramo de precio, categoría, novedad, última oportunidad, precio IKEA Family y más vendidos, y facets para el resto: en esta búsqueda, 18 grupos, como medidas, número de huecos o puertas. 1 crédito. Para un buscador con autocompletado, /api/v1/ikea/suggestions con {"query": "kall", "country": "es"} devuelve términos, categorías y productos, también 1 crédito.
Paso 2: Lee la ficha de un producto
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": "es", "language": "es"}'La KALLAX 77x147 en IKEA España, sin descripción, imágenes ni cuidados:
{
"item_no": "80275887",
"article_number": "802.758.87",
"name": "KALLAX",
"full_name": "KALLAX Estantería - blanco 77x147 cm",
"price": 54.99,
"previous_price": 59.99,
"price_valid_from": "2026-09-01",
"price_valid_to": "2026-12-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": 8241,
"availability_online": "in_stock",
"price_tag": "new_lower_price",
"price_note": "Hemos bajado el precio",
"measurements": [{"name": "Ancho", "value": "76.5 cm"}, {"name": "Peso máximo/balda", "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 Estantería",
"url": "https://www.ikea.com/es/es/assembly_instructions/kallax-estanteria-blanco__AA-2703431-1-2.pdf",
"article_number": "802.758.87"
}
],
"designer": "Tord Björklund",
"secondary_ratings": [
{"id": "appearance", "label": "¿Qué te parece su diseño/aspecto?", "value": 4.7},
{"id": "ease_of_assembly", "label": "Facilidad de montaje/instalación", "value": 4.7}
],
"reviews_preview": [
{
"title": "bien todo",
"text": "bien todo",
"rating": 5,
"date": "2026-11-10T16:53:21Z",
"author": "Mayra",
"country": null
}
],
"return_policy_days": 365,
"detail_level": "full",
"country": "es",
"language": "es"
}La ficha trae también materiales, cuidados, avisos de seguridad, manuales, variantes con su número, las cinco valoraciones secundarias (aquí: aspecto 4,7, montaje 4,7, calidad 4,5, relación calidad-precio 4,6, funciona como se espera 4,8) y las 3 opiniones más recientes. Acepta una url de producto en lugar de item_no. Esta respondió en 6,4 segundos, pero una ficha puede tardar hasta unos 100, así que usa un timeout de cliente de 120 segundos. 1 crédito.
Paso 3: El mismo artículo en otros países
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"]}'Seis países, tres de ellos aquí:
{
"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."
}Los otros tres: Francia 59,99 EUR (antes 74,99), Países Bajos 49,99 (antes 69,99) e Italia 55,00 (antes 69,95). Compare acepta de 2 a 10 de los 50 países de ikea.com y cuesta 1 crédito por país que responde, found: false incluido; un país que acaba en errors no se cobra. Esta llamada fueron 6 créditos. Añade "pt" y tendrás Portugal: ese mismo día su búsqueda daba la 80275887 a 49,99 EUR, antes 55.
Paso 4: 100 números de artículo en una llamada
Para una cesta, una llamada a items por país sale mejor que una a compare por producto:
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", "30582445"], "country": "es"}'item_nos acepta de 1 a 100 números en lista o separados por comas, con o sin puntos (802.758.87). Cada artículo vuelve con price, previous_price, price_tag, price_valid_from, price_valid_to, valoración y disponibilidad online, y los que IKEA España no vende con ese número salen en not_found. Cuesta 1 crédito, pidas 4 artículos o 100.
Paso 5: Las ofertas de IKEA España
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": "es", "page_size": 100}'type elige la lista: new_lower_price ("Hemos bajado el precio"), family_price, last_chance, new_products, top_seller, lowest_price, limited_edition, time_restricted, in_store_price_only o reduced_price_offer. Cada artículo trae precio, precio anterior y fechas. Ojo con family_price: ahí price es el precio de socio IKEA Family y previous_price el que paga todo el mundo. La API devuelve el precio del momento, así que para un histórico guarda tú cada consulta. 1 crédito por página.
Paso 6: Tiendas y stock en una tienda
curl -s https://api.scavio.dev/api/v1/ikea/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"country": "es"}'IKEA España lista 32 tiendas y puntos: tiendas grandes, tiendas pequeñas, shops y puntos de planificación y pedido. Una, con el horario recortado a un día:
{
"total": 32,
"count": 32,
"country": "es",
"stores": [
{
"store_id": "502",
"name": "IKEA A Coruña",
"display_name": "IKEA A Coruña",
"type": "store",
"address": {
"street": "C.C. Marineda City Carretera Baños de Arteixo 45 A Grela",
"city": "A Coruña",
"zip": "15008",
"timezone": "Europe/Madrid"
},
"latitude": 43.3483,
"longitude": -8.4228,
"hours": {
"normal": [{"day": "MON", "open": "10:00", "close": "21:00"}],
"closed": [{"date": "2026-12-08", "reason": "Festividad nacional"}]
},
"restaurant_hours": [{"day": "MON", "open": "09:30", "close": "20:30"}]
}
]
}Con el store_id, el stock de hasta 100 artículos en esa tienda:
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": "502", "country": "es"}'Cada artículo vuelve con store_availability.status (in_stock_high, in_stock_low u out_of_stock) y el texto de la propia web. Es un nivel, no unidades: IKEA no publica cantidades. Añade zip para el envío a domicilio. store_id también filtra la búsqueda, la categoría y las ofertas. 1 crédito cada llamada.
Paso 7: Opiniones
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": "es"}'Devuelve la valoración, el número de valoraciones, las cinco valoraciones secundarias y las 20 opiniones más recientes que muestra la ficha, con título, texto, estrellas, fecha y autor. No hay paginación, orden ni filtro por estrellas. Las cifras son las del mercado: en España la KALLAX 80275887 tenía 4,7 con 8.241 valoraciones, las mismas que en Alemania, porque varios mercados comparten valoraciones y otros tienen las suyas. 1 crédito.
Paso 8: Categorías
/api/v1/ikea/categories con {"country": "es"} devuelve el árbol de categorías del mercado con id, nombre, url y subcategorías, o un subárbol con parent_id. /api/v1/ikea/category con un category_id o una url de categoría lista sus productos con los mismos órdenes, filtros y facetas que la búsqueda. La KALLAX 80275887 está en "Muebles de almacenaje", "Estanterías y librerías", "Estanterías" (ids st001, st002 y 11465 en la búsqueda). 1 crédito cada una.
Paso 9: Ofertas As-is de una tienda
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": "502", "country": "es", "page_size": 5}'IKEA A Coruña tenía 365 ofertas As-is: artículos de exposición, devueltos o descatalogados a precio reducido. La primera:
{
"store_id": "502",
"total": 365,
"page": 1,
"page_size": 5,
"total_pages": 73,
"currency": "EUR",
"offers": [
{
"title": "HAVSTORP",
"description": "panel lateral, 62x80 cm, verde oscuro",
"article_numbers": ["60568363"],
"currency": "EUR",
"original_price": 29,
"min_price": 9.99,
"max_price": 9.99,
"offers": [
{
"offer_id": "117207687965995171",
"additional_info": "Descatalogado",
"price": 9.99,
"condition_code": "GOOD",
"condition": "Bueno",
"in_box": false,
"reason_discount": "Devolución del cliente"
}
]
}
]
}As-is funciona en 13 mercados, España incluida (no en México, Chile ni Colombia), hasta 48 por página. 1 crédito.
Paso 10: Una tabla semanal de precios
import requests, datetime, json
API = "https://api.scavio.dev/api/v1/ikea"
HEADERS = {"Authorization": "Bearer YOUR_SCAVIO_API_KEY"}
ARTICULOS = ["80275887", "20275814", "00275848", "10409932", "30582445"]
PAISES = ["es", "pt", "fr", "it"]
def precio_normal(it):
# family_price: price es el precio de socio; previous_price, el de todos
if it["price_tag"] == "family_price" and it["previous_price"]:
return it["previous_price"]
return it["price"]
hoy = datetime.date.today().isoformat()
filas = []
for c in PAISES: # una petición cada vez, 1 crédito cada una
d = requests.post(f"{API}/items", headers=HEADERS, timeout=120,
json={"item_nos": ARTICULOS, "country": c}).json()["data"]
for it in d["items"]:
filas.append({"fecha": hoy, "pais": c, "moneda": d["currency"],
"item_no": it["item_no"], "precio": precio_normal(it),
"precio_anterior": it["previous_price"], "etiqueta": it["price_tag"]})
for no in d["not_found"]:
filas.append({"fecha": hoy, "pais": c, "item_no": no, "precio": None})
with open(f"precios-ikea-{hoy}.json", "w") as f:
json.dump(filas, f, ensure_ascii=False)Cuatro países son 4 créditos por ejecución, sigas 5 artículos o 100. Ejecútalo cada semana y guarda cada fichero: el precio anterior solo aparece mientras dura la rebaja, así que tu propio histórico es lo que te dice cuándo cambió un precio. Reintenta un 502 tras una pausa; los fallos no se cobran y un no encontrado sí.
Todos los endpoints de IKEA en España
| Endpoint | Qué devuelve | Créditos | Coste por 1.000 llamadas en Growth |
|---|---|---|---|
/api/v1/ikea/search | Productos por palabra clave, órdenes, filtros y facetas | 1 | 1 USD |
/api/v1/ikea/product | Una ficha: precio, medidas, bultos, PDF de montaje, variantes | 1 | 1 USD |
/api/v1/ikea/compare | Un artículo en 2 a 10 de 50 países | 1 por país | 1 USD por país |
/api/v1/ikea/items | Hasta 100 números de artículo en un mercado | 1 | 1 USD |
/api/v1/ikea/deals | Una de 10 listas de ofertas | 1 | 1 USD |
/api/v1/ikea/category | Los productos de una categoría | 1 | 1 USD |
/api/v1/ikea/categories | El árbol de categorías o un subárbol | 1 | 1 USD |
/api/v1/ikea/suggestions | Sugerencias del buscador para un texto parcial | 1 | 1 USD |
/api/v1/ikea/stores | Tiendas con horarios y festivos | 1 | 1 USD |
/api/v1/ikea/stock | Nivel de stock de hasta 100 artículos en una tienda | 1 | 1 USD |
/api/v1/ikea/reviews | Valoración, valoraciones secundarias y 20 opiniones recientes | 1 | 1 USD |
/api/v1/ikea/as-is | Las ofertas As-is de una tienda | 1 | 1 USD |
Los fallos de origen no se cobran; un no encontrado sí. Un mercado fuera de la lista de un endpoint responde 400 antes de cobrar nada. Growth cuesta 1 USD por cada 1.000 créditos; Hobby, 15 USD al mes por 3.000 créditos.
Cómo empezar
- Crea una cuenta de Scavio: 50 créditos gratis, sin tarjeta, suficientes para 50 llamadas a items de hasta 100 artículos cada una.
- Busca los artículos que te interesan con search, o copia el número del final de la URL de IKEA.
- Ponles precio con una llamada a items por país, o con compare por producto.
- Guarda cada ejecución con su fecha y lee
price_tagyprevious_pricepara ver las rebajas de IKEA. - Prueba cualquier llamada antes en el playground.
Referencias: API de IKEA España · búsqueda · ficha de producto · precios por país · stock · As-is · las mejores APIs de precios de IKEA · How to get IKEA prices by country (en inglés)
Frequently asked questions
¿IKEA tiene una API?
IKEA no publica una API pública ni un programa de keys para su catálogo, precios o stock, y la interfaz local del hub DIRIGERA es para dispositivos domóticos. La API de IKEA de Scavio devuelve búsqueda, fichas, precios por país, ofertas, stock en tienda, opiniones y ofertas As-is de IKEA España en JSON, a 1 crédito por llamada.
¿Qué endpoints funcionan en IKEA España?
Los 12: búsqueda, producto, precios por país, consulta de artículos, ofertas, categoría, árbol de categorías, sugerencias, tiendas, stock, opiniones y As-is. Se usan con "country": "es" y, si quieres otro idioma, "language": es, en, ca, eu o gl. Canarias y Baleares tienen su propia web (es_islands, con island) y allí solo funcionan búsqueda y producto.
¿La API da unidades en stock?
No. /api/v1/ikea/stock devuelve el nivel que muestra la web (in_stock_high, in_stock_low u out_of_stock) para hasta 100 números de artículo en una tienda, con el texto de la propia web. IKEA no publica unidades ni fechas de reposición, así que la API tampoco.
¿Se convierten los precios a euros?
No hace falta en España, Portugal, Francia o Italia, que ya están en euros. Para Suecia, Polonia o Chequia la API devuelve SEK, PLN o CZK tal cual, con el IVA de cada país, y nunca convierte. Si comparas monedas distintas, aplica tú un tipo de cambio con su fecha.
¿Qué dicen los términos de IKEA sobre la recogida automática de datos?
Los Terms and Conditions de IKEA Estados Unidos (en vigor desde el 2 de septiembre de 2026) dicen que los usuarios "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". Cada mercado publica sus propios términos. Esto no es asesoramiento jurídico.