IKEA API
Live read-only access to IKEA's US public product catalog. Search products, browse category listings, and retrieve product details, measurements, and customer reviews by article number or URL.
Endpoint health
Loading verification…
Connect your agent
Connect through MCP so your agent can find this API, read its docs, and call its endpoints.
Add the server from your terminal.
claude mcp add --transport http agent-data https://agent-data.motie.dev/mcpIn Claude Code, run /mcp, select agent-data, then Authenticate. Sign in to your agent-data account in the browser.
Then ask your agent to use the IKEA API for your task.
Call it over HTTP
Get an API keySign up free, generate an API key, and set it as AGENT_DATA_API_KEY in your environment. Your first 100 calls each month are free.
curl --request GET --get 'https://api.agent-data.dev/ikea-com/v1/search/products' \
--header "Authorization: Bearer $AGENT_DATA_API_KEY" \
--data-urlencode 'query=KALLAX'Endpoints
Inputs and response fields for every endpoint in this API.
GETSearch products/v1/search/products
Search Products
Input
queryRequiredQuery · stringFull-text search keyword.
Example: KALLAX
limitOptionalQuery · integer, min: 1, max: 100, default: 24Maximum products to return.
Example: 24
offsetOptionalQuery · integer, min: 0, default: 0Zero-based result offset.
Example: 0
Response
totalintegerproductsobject[]products[].idstringproducts[].urlstringproducts[].namestringproducts[].type?string | nullproducts[].price?string | number | nullproducts[].images?string[]products[].currency?string, default: USDproducts[].measurements?string | nullFields marked ? are optional.
GETProduct details/v1/products/details
Get Product Details
Input
product_idOptionalQuery · string | nullEight-digit IKEA article number; use this or product_url.
Example: 20631663
product_urlOptionalQuery · string | nullCanonical IKEA US product page URL; use this or product_id.
Example: https://www.ikea.com/us/en/p/kallax-shelf-unit-white-20631663/
Response
idstringnamestringprice?string | nullimages?string[]rating?number | nullcurrency?string, default: USDwarranty?string | nullmaterials?string | nullpackaging?unknown | nullhighlights?string[]description?string | nullreview_count?integer, default: 0Fields marked ? are optional.
GETProduct measurements/v1/products/measurements
Get Product Measurements
Input
product_idOptionalQuery · string | nullEight-digit IKEA article number; use this or product_url.
Example: 20631663
product_urlOptionalQuery · string | nullCanonical IKEA US product page URL; use this or product_id.
Example: https://www.ikea.com/us/en/p/kallax-shelf-unit-white-20631663/
Response
measurementsobjectGETProduct reviews/v1/products/reviews
Get Product Reviews
Input
product_idOptionalQuery · string | nullEight-digit IKEA article number; use this or product_url.
Example: 20631663
product_urlOptionalQuery · string | nullCanonical IKEA US product page URL; use this or product_id.
Example: https://www.ikea.com/us/en/p/kallax-shelf-unit-white-20631663/
Response
scope?string, default: product_familyreviewsobject[]reviews[].body?string | nullreviews[].date?string | nullreviews[].title?string | nullreviews[].author?string | nullreviews[].rating?integer | number | nulltotal_resultsintegerrating_distributionobjectFields marked ? are optional.
GETCategory listing/v1/categories/products
Get Category Listing
Input
category_idRequiredQuery · stringIKEA category ID, such as 700640 or st001.
Example: 700640
limitOptionalQuery · integer, min: 1, max: 100, default: 24Maximum products to return.
Example: 24
offsetOptionalQuery · integer, min: 0, default: 0Zero-based result offset.
Example: 0
Response
totalintegerproductsobject[]products[].idstringproducts[].urlstringproducts[].namestringproducts[].type?string | nullproducts[].price?string | number | nullproducts[].images?string[]products[].currency?string, default: USDproducts[].measurements?string | nullFields marked ? are optional.
Don’t see the endpoint you need?
Ask agent-data to add an endpoint or return more fields. Extensions are free and keep existing endpoints working.
An account is required to submit an extension. Prepare your request, then sign in to build.