IKEA
IKEA Category API
One IKEA category's products by category id or category URL, with the same sorts and filters as search: article number, name, type, design, price and previous price in the market's currency, price tag, rating, variants and category path for each product, plus the category (id, name, url, parents), total and facets. On the 50 ikea.com markets and China (ikea.cn). Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsoncategory_idstringA category id: categories[].id of the categories endpoint, or a category_path / facets id of a search, e.g. 10382 = bookcases, fu003 = sofas. Send category_id or url.
Example: 10382
urlstringAn IKEA category page, as an alternative to category_id.
Example: https://www.ikea.com/us/en/cat/bookcases-10382/
countrystringdefault:usThe IKEA market, as a lowercase code. This endpoint serves 51 markets: the 50 ikea.com markets and China (ikea.cn). Names, descriptions and labels come back in the market's language and prices in its currency, never converted; the answer echoes country, language and currency. A market outside this list answers 400 before anything is charged.
Example: us
us— United States, USD, languages en, es. The default.ca— Canada, CAD, languages en, fr.gb— United Kingdom, GBP, language en.ie— Ireland, EUR, language en.de— Germany, EUR, languages de, en.at— Austria, EUR, languages de, en.ch— Switzerland, CHF, languages de, fr, it, en.fr— France, EUR, language fr.be— Belgium, EUR, languages nl, fr, en.nl— Netherlands, EUR, languages nl, en.dk— Denmark, DKK, language da.se— Sweden, SEK, languages sv, en.no— Norway, NOK, languages no, en.fi— Finland, EUR, languages fi, sv, en.ee— Estonia, EUR, languages et, ru, en.lv— Latvia, EUR, languages lv, ru, en.lt— Lithuania, EUR, languages lt, ru, en.pl— Poland, PLN, language pl.cz— Czech Republic, CZK, languages cs, en.sk— Slovakia, EUR, language sk.hu— Hungary, HUF, language hu.hr— Croatia, EUR, language hr.si— Slovenia, EUR, language sl.rs— Serbia, RSD, language sr.ro— Romania, RON, language ro.pt— Portugal, EUR, languages pt, en.es— Spain, EUR, languages es, en, ca, eu, gl.it— Italy, EUR, language it.il— Israel, ILS, language he.ae— United Arab Emirates, AED, languages ar, en.sa— Saudi Arabia, SAR, languages ar, en.kw— Kuwait, KWD, languages ar, en.qa— Qatar, QAR, languages ar, en.bh— Bahrain, BHD, languages ar, en.om— Oman, OMR, languages ar, en.jo— Jordan, JOD, languages ar, en.eg— Egypt, EGP, languages ar, en.ma— Morocco, MAD, languages ar, fr, en.in— India, INR, language en.my— Malaysia, MYR, languages ms, en.sg— Singapore, SGD, language en.ph— Philippines, PHP, language en.th— Thailand, THB, languages th, en.jp— Japan, JPY, languages ja, en.kr— South Korea, KRW, languages ko, en.au— Australia, AUD, language en.nz— New Zealand, NZD, language en.mx— Mexico, MXN, languages es, en.cl— Chile, CLP, language es.co— Colombia, COP, language es.cn— China (ikea.cn), CNY, languages zh, en.
languagestringThe answer's language, one the market's site serves; the default is the market's first (en on us, de on de, fr on fr). Multi-language markets: us en/es, ca en/fr, de and at de/en, ch de/fr/it/en, be nl/fr/en, nl nl/en, se sv/en, no no/en, fi fi/sv/en, ee et/ru/en, lv lv/ru/en, lt lt/ru/en, cz cs/en, pt pt/en, es es/en/ca/eu/gl, the Gulf and Arab markets ar/en (ma ar/fr/en), my ms/en, th th/en, jp ja/en, kr ko/en, mx es/en, cn zh/en, pr en/es, do and es_islands es/en, is en/is. Every other market has one language. Another code answers 400.
Example: fr
pageintegerdefault:1Results page, 1-based. IKEA serves the first 2,000 results of a list plus one page, so (page - 1) x page_size may not exceed 2,000.
Example: 2
page_sizeintegerdefault:24Products per page, 1-100.
Example: 48
sortenum<string>default:relevanceResult order.
Example: price_asc
relevance— The site's own order. The default.price_asc— Cheapest first.price_desc— Most expensive first.newest— Newest products first.rating— Best rated first.name_asc— Name A to Z.most_popular— Most popular first.
colorstring | string[]Color id(s) from the facets (parameter f-colors), e.g. 10156 = white.
Example: 10156
price_bucketstringA price range id from the facets (parameter f-price-buckets), e.g. PRICE_0_5000 = 0 to 49.99 in the market's currency.
Example: PRICE_0_5000
new_onlybooleanOnly new products.
Example: true
last_chancebooleanOnly last-chance products (being discontinued).
Example: true
family_pricebooleanOnly products with an IKEA Family member price.
Example: true
top_sellerbooleanOnly best sellers.
Example: true
store_idstring | integerA store id (stores[].store_id of the stores endpoint). Adds each product's availability at that store (stock level, home delivery) and enables availability.
Example: 399
availabilityenum<string>With store_id: in_store (in stock at the store, the default), click_collect or online.
Example: in_store
in_store— In stock at the store.click_collect— Available for click and collect at the store.online— Available online.
filtersobjectAny other facet, keyed by facets[].parameter, e.g. {"f-materials": ["47350"]}. Boolean facets take true.
Example: {"f-materials": ["47350"]}
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Bookcases in the US, cheapest first, 48 a page.
r = client.ikea.category(category_id="10382", country="us", sort="price_asc", page_size=48)["data"]
print(r["category"]["name"], r["total"])
for i in r["items"]:
print(i["item_no"], i["name"], i["type_name"], i["price"])Response