IKEA Stores API
List the IKEA stores in a country with address, coordinates and opening hours, and the store IDs the stock endpoint uses.
- 1 credit per call
- Failed calls are free
- Updated
- ikea.stores.list
{ "locale": "fr/fr", "stores": [ { "name": "IKEA Annecy - Seynod", "display_name": "Annecy", "id": "1315", "latitude": 45.8779, "longitude": 6.0952, "treat_as_store": true, "type": "PAOP", "url": "https://www.ikea.com/fr/fr/stores/annecy/", "address": { "city": "Seynod", "display": "71 Boulevard Costa de Beauregard, Seynod", "postal_code": "74600", "street": "71 Boulevard Costa de Beauregard", "timezone": "Europe/Paris" }, "opening_hours": [ { "close": "19:00", "day": "MON", "open": "10:00" }, { "close": "19:00", "day": "TUE", "open": "10:00" } ] }, { "name": "IKEA Avignon", "display_name": "Avignon", "id": "018", "latitude": 43.97830544461172, "longitude": 4.891127345993009, "treat_as_store": false, "type": "STORE", "url": "https://www.ikea.com/fr/fr/stores/avignon/", "address": { "city": "Vedene", "display": "100 Chemin du Pont Blanc, Vedene", "postal_code": "84270", "street": "100 Chemin du Pont Blanc", "timezone": "Europe/Paris" }, "opening_hours": [ { "close": "20:00", "day": "MON", "open": "10:00" }, { "close": "20:00", "day": "TUE", "open": "10:00" } ] } ]}
| # | Store | Address | Latitude | Longitude | Store ID | Display name | Treat as store | Type | Url |
|---|---|---|---|---|---|---|---|---|---|
| 1 | IKEA Annecy - Seynod | 71 Boulevard Costa de Beauregard, Seynod | 45.88 | 6.1 | 1315 | Annecy | true | PAOP | https://www.ikea.com/fr/fr/stores/annecy/ |
| 2 | IKEA Avignon | 100 Chemin du Pont Blanc, Vedene | 43.98 | 4.89 | 018 | Avignon | false | STORE | https://www.ikea.com/fr/fr/stores/avignon/ |
| 3 | IKEA Bayonne | 2-4 Avenue du Portou, Saint-Pierre-d'Irube | 43.48 | -1.44 | 310 | Bayonne | false | STORE | https://www.ikea.com/fr/fr/stores/bayonne-ametzondo/ |
| 4 | IKEA Bordeaux | Avenue des 40 Journaux, Bordeaux-Lac | 44.89 | -0.57 | 134 | Bordeaux | false | STORE | https://www.ikea.com/fr/fr/stores/bordeaux/ |
| 5 | IKEA Brest | Les Champs de Coataudon - Le Froutven, Guipavas | 48.42 | -4.44 | 060 | Brest | false | STORE | https://www.ikea.com/fr/fr/stores/brest/ |
| 6 | IKEA Caen | 970 Avenue de Suisse Normande, Fleury-sur-Orne | 49.15 | -0.36 | 199 | Caen | false | STORE | https://www.ikea.com/fr/fr/stores/caen-fleury-sur-orne/ |
| 7 | IKEA Clermont - Ferrand | 19 Boulevard Louis Chartoire, Clermont-Ferrand | 45.8 | 3.14 | 345 | Clermont-Ferrand | false | STORE | https://www.ikea.com/fr/fr/stores/clermont-ferrand/ |
| 8 | IKEA Dijon | 1 Rue de Cracovie, Dijon | 47.34 | 5.06 | 086 | Dijon | false | STORE | https://www.ikea.com/fr/fr/stores/dijon/ |
| 9 | IKEA Epinal - ZAC | ZAC Av. des Terres Saint Jean, Epinal | 48.19 | 6.47 | 1314 | Epinal | true | PAOP | https://www.ikea.com/fr/fr/stores/epinal/ |
| 10 | IKEA Paris - Franconville | 337/339 Rue du Général Leclerc, Franconville | 48.99 | 2.21 | 389 | Franconville | false | STORE | https://www.ikea.com/fr/fr/stores/paris-franconville/ |
What you send
The input
object of the request, with every field the endpoint accepts.
| Field | Type | Required | What it does | Example |
|---|---|---|---|---|
| locale | string | no | The IKEA country site: fr/fr, gb/en, ie/en or de/de. | fr/fr · gb/en · ie/en · de/de |
| max_records | integer | no | The most stores to return. |
Fields it returns
What each record in the response holds, with the values from the sample above.
| Field | Type | What it is | Example |
|---|---|---|---|
| stores[].name | string | The store's full name. | IKEA Annecy - Seynod |
| stores[].address.display | string | The address on one line. | 71 Boulevard Costa de Beauregard, Seynod |
| stores[].latitude | number | The store's latitude. | 45.88 |
| stores[].longitude | number | The store's longitude. | 6.1 |
| stores[].id | string | IKEA's ID for the store; pass it to the stock endpoint. | 1315 |
| stores[].display_name | string | The store's short name. | Annecy |
| stores[].address.city | string | The city. | Seynod |
| stores[].address | object | The store's address. | 5 fields |
| stores[].address.postal_code | string | The postal code. | 74600 |
| stores[].address.street | string | The street address. | 71 Boulevard Costa de Beauregard |
| stores[].address.timezone | string | The store's time zone. | Europe/Paris |
| stores[].opening_hours | array | Opening hours by day. | 6 records |
| stores[].opening_hours[].close | string | 19:00 | |
| stores[].opening_hours[].day | string | MON | |
| stores[].opening_hours[].open | string | 10:00 | |
| stores[].treat_as_store | boolean | true | |
| stores[].type | string | PAOP | |
| stores[].url | string | The store's page on IKEA. | https://www.ikea.com/fr/fr/stores/annecy/ |
| locale | string | The IKEA country and language read. | fr/fr |
| stores | array | The stores. | 44 records |
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.stores.list", "input": {}}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "ikea.stores.list", "input": {}}''')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.stores.list", "input": {}}),});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
With Upscrape, list every IKEA store in France with its address and opening hours.
More from the IKEA API
The same data from other platforms
IKEA Stores API FAQ
The short answers. The docs have the long ones.
How much does the IKEA Stores API cost?
1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.
What do I send?
Every input is optional; the input fields below list what each one does.
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.stores.list, 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.