IKEA API endpoint
Returns one IKEA item's full detail: name, price, rating, every product image, quick facts, and category breadcrumb path. item_no is IKEA's own item number (8 digits, optionally prefixed with "s" for a combination/set article), taken from a search result's item_no field or an ikea.com product page's own URL.
/ikea/productReturns one IKEA item's full detail. item_no is required: IKEA's own item number, 8 digits optionally prefixed with s for a combination/set article (e.g. 80213074, s69416817), taken from an ikea_search result's item_no field or an ikea.com product page's own URL. country and language select IKEA's per-country site and default to us/en.
A parent product's item number and any of its own variant item numbers all resolve independently — looking up a variant's item number returns that variant's own full detail, not the parent's. An unknown item number returns 404.
The response includes product identity, price (with any current discount/IKEA Family price detail), aggregate rating, every product image (main, context, functional, quality), quick facts (e.g. mattress material, firmness, when present for the product type), color swatches, other purchasable variants, and the category breadcrumb path.
| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| key | 3 | |
| name | 3 | “Desks & desk chairs” and 2 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| item_no | string | Yes | IKEA item number | 80213074 | |
| country | string | No | Lowercase 2-letter IKEA site country code | ||
| language | string | No | Lowercase 2-letter IKEA site language code | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/ikea/product?item_no=80213074&country=us&language=en" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"product": {
"item_no": "80213074",
"name": "MICKE",
"type_name": "Desk",
"measure_text": "41 3/8x19 5/8 \"",
"valid_design": "white",
"filter_class": "desks",
"image_url": "https://www.ikea.com/us/en/images/products/micke-desk-white__0736018_pe740345_s5.jpg",
"product_url": "https://www.ikea.com/us/en/p/micke-desk-white-80213074/",
"price": {
"current": 99.99,
"formatted": "$99.99",
"currency_code": "USD"
},
"rating": {
"value": 4.5,
"count": 6367
},
"colors": [
{
"name": "white",
"id": "10156",
"hex": "ffffff"
}
],
"variant_count": 3,
"images": [
{
"type": "MAIN_PRODUCT_IMAGE",
"url": "https://www.ikea.com/us/en/images/products/micke-desk-white__0736018_pe740345_s5.jpg"
}
],
"category_path": [
{
"key": "fu004",
"name": "Desks & desk chairs"
},
{
"key": "20649",
"name": "Desks & computer desks"
}
]
}
}
}Request schema
No body schema
Response schema
#/definitions/ikea.productResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | ikea.ProductResponse | No | ||||
| data.fetched_at | string | No | ||||
| data.product | ikea.Product | No | ||||
| data.product.category_path | array | No | ||||
| data.product.category_path[].key | string | No | 20649 | |||
| data.product.category_path[].name | string | No | Desks & computer desks | |||
| data.product.colors | array | No | ||||
| data.product.colors[].hex | string | No | ffffff | |||
| data.product.colors[].id | string | No | 10156 | |||
| data.product.colors[].name | string | No | white | |||
| data.product.filter_class | string | No | desks | FilterClass is IKEA's own product-type slug, e.g. "desks" -- usable as a coarse category signal, though it is not currently accepted back as a category-browse filter by this endpoint (see this package's doc comment). | ||
| data.product.image_url | string | No | ||||
| data.product.images | array | No | ||||
| data.product.images[].alt_text | string | No | ||||
| data.product.images[].type | string | No | MAIN_PRODUCT_IMAGE | |||
| data.product.images[].url | string | No | ||||
| data.product.item_no | string | No | 80213074 | |||
| data.product.measure_text | string | No | 41 3/8x19 5/8 " | |||
| data.product.name | string | No | MICKE | |||
| data.product.price | ikea.Price | No | Price record, 11 fields: currency_code, current, discount_amount, discount_percentage, formatted, previous, previous_formatted, tag, tag_text, valid_from, valid_to. Described under Search IKEA products API. | |||
| data.product.product_url | string | No | ||||
| data.product.quick_facts | array | No | ||||
| data.product.quick_facts[].name | string | No | Firm | |||
| data.product.quick_facts[].type_name | string | No | Firmness | |||
| data.product.rating | ikea.Rating | No | ||||
| data.product.rating.count | integer | No | 6367 | |||
| data.product.rating.value | number | No | 4.5 | |||
| data.product.type_name | string | No | Desk | |||
| data.product.valid_design | string | No | white | ValidDesign is IKEA's own color/finish descriptor for this exact item, e.g. "white" or "black-brown" -- the design this specific item number represents, as opposed to Colors below (every color swatch shown for the product family). | ||
| data.product.variant_count | integer | No | 3 | VariantCount is the total number of other purchasable size/color/design options this product has, which may exceed len(Variants) -- the search endpoint's own gprDescription block does not always enumerate every variant. | ||
| data.product.variants | array | No | Variant record, 21 fields: image_url, item_no, name, price, product_url, rating, type_name, valid_design. Described under Search IKEA products API. | |||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/ikea/product?item_no=80213074&country=us&language=en" \
-H "x-api-key: $CRAWLORA_API_KEY"