IKEA Sales Item API (0.1.0)

Download OpenAPI specification:

Unofficial API for fetching IKEA product availability information and packaging information

This is an unofficial OpenAPI specification for the IKEA Sales Item API. Get information for items in different contexts.

FAQ

Q: Why is this API called Sales Item?

A: That is what the API endpoint is called api.salesitem.ingka.com and what is being used in other API resources that were found.

Authentication

This API requires authentication, make sure to provide the required headers.

Swagger UI

This API can be tested using swagger-ui at ./swagger-ui.html as long as the CORS header Access-Control-Allow-Origin are configured as *. At the moment of writing this is only the case for the IKEA Search API.

⚠️ Disclaimer

  • This project is based on publicly available information and analysis of network requests.
  • It is not affiliated with, endorsed by, or supported by IKEA.
  • Endpoints, schemas, and behaviors may change at any time and may not reflect official or supported APIs.
  • Use this specification at your own risk.

See also

This section lists resources used during the creation of these APIs to exent and check validity of the API. These are not in any special order but useful as references.

Availability

Everything about Availability

Get product availability with child items

Returns availability information including child items and packages

Authorizations:
X-Client-ID
path Parameters
classUnitType
required
string
Enum: "ru" "sto"
Example: ru

classUnitType must be a Retail Unit (ru). Or Store (sto). It is used together with classUnitCode to give context when invoking the AvailabilityClassifications API.

Unit Type:

  • ru - Retail Unit - Retail Unit must be combined with a valid classUnitCode. For example, SE for Sweden or DE for Germany. A list of valid Retail Units can be found in CBD (requires VPN or internal network).
  • sto - Store - The store availability for a given store
classUnitCode
required
string [ 2 .. 5 ] characters
Examples:
  • gb - Lower Case GB
  • GB - Upper Case GB
  • de - Lower Case DE
  • DE - Upper Case DE
  • 066 - Store ID for Berlin

classUnitCode is the unique identifier of a Class Unit when combined with a classUnitType.

A valid classUnitCode always has a pattern like ^([A-Z]|[0-9]){2,5}$. Note that the Selling Range APIs are case insensitive when it comes to the classUnitCode path parameter and lower case is always internally converted to upper case.

This can either be a:

  • Retail Unit - Retail Unit must be combined with a valid classUnitCode. For example, SE for Sweden or DE for Germany. A list of valid Class Units can be found in CBD (requires VPN or internal network).
  • Store ID - The 3-digit store ID. E.g. 066.
query Parameters
itemNos
required
Array of strings (productId) non-empty
Example: itemNos=00263850

Product identifier(s)

expand
Array of strings (expandOption) >= 0 items
Items Enum: "ChildItems" "Restocks" "StoresList" "SalesLocations" "DeliveryPrice" "CollectPrice" "DisplayLocations" "DeliveryTime" "FoodAvailabilities"
Example: expand=ChildItems,SalesLocations

List of expandOption(s), see expandOption for values.

Responses

Response samples

Content type
application/json
{
  • "availabilities": [
    ],
  • "salesLocations": [
    ],
  • "errors": [
    ],
  • "timestamp": "2025-09-10T14:23:33.956Z",
  • "traceId": "4119683959736817039"
}