IKEA Products Search API
Search IKEA by keyword or article number, such as kallax. Each product has its name, type, size and colour, price, rating, review count and link.
- 1 credit per call
- Failed calls are free
- Updated
- ikea.products.search
{ "locale": "fr/fr", "total": 114, "items": [ { "name": "KALLAX", "price": 59.99, "rating_value": 4.7, "currency": "EUR", "description": "blanc 77x147 cm", "id": "80275887", "online_sellable": true, "previous_price": 74.99, "rating_count": 2750, "type_name": "Étagère", "url": "https://www.ikea.com/fr/fr/p/kallax-etagere-blanc-80275887/", "categories": [ { "name": "Rangements", "key": "st001" }, { "name": "Bibliothèques et étagères", "key": "st002" } ], "colors": [ "blanc" ] }, { "name": "KALLAX", "price": 34.99, "rating_value": 4.6, "currency": "EUR", "description": "blanc 77x77 cm", "id": "20275814", "online_sellable": true, "previous_price": 39.99, "rating_count": 1795, "type_name": "Étagère", "url": "https://www.ikea.com/fr/fr/p/kallax-etagere-blanc-20275814/", "categories": [ { "name": "Rangements", "key": "st001" }, { "name": "Bibliothèques et étagères", "key": "st002" } ], "colors": [ "blanc" ] } ]}
| # | Name | Type | Size and colour | Price | Currency | Rating | Reviews | Article | Online sellable | Previous price |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | KALLAX | Étagère | blanc 77x147 cm | 59.99 | EUR | 4.7 | 2750 | 80275887 | true | 74.99 |
| 2 | KALLAX | Étagère | blanc 77x77 cm | 34.99 | EUR | 4.6 | 1795 | 20275814 | true | 39.99 |
| 3 | KALLAX | Étagère | blanc 77x41 cm | 29.99 | EUR | 4.8 | 363 | 90301555 | true | 39.99 |
| 4 | KALLAX | Étagère | blanc 42x147 cm | 54.99 | EUR | 4.7 | 1215 | 00275848 | true | 64.99 |
| 5 | LABBSAL | Panier | fait main jacinthe d'eau 32x34x32 cm | 12.99 | EUR | 4.6 | 188 | 80500796 | true | |
| 6 | KALLAX | Étagère | blanc 112x147 cm | 119 | EUR | 4.7 | 689 | 10409932 | true | 129 |
| 7 | KALLAX | Étagère | blanc 182x182 cm | 189 | EUR | 4.7 | 320 | 70301537 | true | 199 |
| 8 | KALLAX | Insert avec 1 étagère | blanc 33x33 cm | 20 | EUR | 4.5 | 33 | 20423720 | true | |
| 9 | KALLAX | Étagère | blanc 147x147 cm | 149 | EUR | 4.6 | 527 | 30275861 | true | 159 |
| 10 | KALLAX | Bloc porte | brun motif noyer 33x33 cm | 20 | EUR | 4.4 | 811 | 80653317 | true |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| query | string | yes | Product words or an article number, such as kallax or 69491265. | kallax |
| cursor | string | no | Pass next_cursor from the last response to get the next page. | |
| limit | integer | no | How many results to read in this call. | |
| locale | string | no | The IKEA country site: fr/fr (France, the default), gb/en, ie/en or de/de. | fr/fr · gb/en · ie/en · de/de |
| max_records | integer | no | The most products to return from this call. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| items[].name | string | The product's name, such as BILLY. | KALLAX |
| items[].type_name | string | What kind of product it is. | Étagère |
| items[].description | string | Colour and size as IKEA describes them. | blanc 77x147 cm |
| items[].price | number | The price in the store's currency. | 59.99 |
| items[].currency | string | The currency of the price. | EUR |
| items[].rating_value | number | The average customer rating. | 4.7 |
| items[].rating_count | integer | How many ratings it has. | 2750 |
| items[].id | string | IKEA's article number; pass it to the product and stock endpoints. | 80275887 |
| items[].categories[].name | string | The category's name. | Rangements |
| items[].categories | array | The categories the product is in. | 3 records |
| items[].categories[].key | string | IKEA's ID for the category. | st001 |
| items[].colors | array | The product's colours. | blanc |
| items[].online_sellable | boolean | Whether it can be bought online. | true |
| items[].previous_price | number | The price before the current reduction. | 74.99 |
| items[].url | string | The product page on IKEA. | https://www.ikea.com/fr/fr/p/kallax-etagere-blanc-80275887/ |
| items | array | The products found. | 22 records |
| locale | string | The IKEA country and language read. | fr/fr |
| total | integer | How many products match in total. | 114 |
Call it from your code, or ask your agent
Set UPSCRAPE_API_KEY to your key and copy a working request.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "ikea.products.search", "input": { "query": "kallax" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "ikea.products.search", "input": { "query": "kallax" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "ikea.products.search", "input": { "query": "kallax" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
https://data.upscrape.com/mcp
Use Upscrape to search IKEA France for kallax and give me a table of each version with size and colour, price, rating and review count.
More from the IKEA API
The same data from other platforms
IKEA Products Search API FAQ
The short answers. The docs have the long ones.
How much does the IKEA Products Search API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Send query. The input fields below list every option with its type and limits.
Do I need an IKEA login?
No. It reads public IKEA data; nothing runs on your account.
Can my AI agent call it?
Yes, over MCP: the agent finds ikea.products.search, checks its price and runs it with the same credits as the REST API.
Your first IKEA call is free.
Up to 100 free credits to start, no card needed.