IKEA Scraper avatar

IKEA Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
IKEA Scraper

IKEA Scraper

Scrape IKEA products worldwide with prices, stock status, measurements, ratings, images, variants. Search by keyword, lookup by product ID, fetch from URL, or browse a category. Multi-country, multi-language.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(8)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

8

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Extract product data from IKEA storefronts across 50+ countries — prices, stock status, customer ratings, measurements, variants, images, and category paths. No login, cookies, or paid proxy required.

What you get

For every product:

  • productId, name, typeName (e.g. "Bookcase"), description, brand
  • price (amount + currency)
  • rating, ratingCount
  • mainImageUrl, imageUrls[]
  • color, material, measurements (height, width, depth, weight)
  • categoryPath[] — full breadcrumb (with enrichFromPDP)
  • variants[] — other colours / sizes of the same product, each with price + image
  • badges[], isBestseller, isNewArrival
  • stockStatusin_stock, low_stock, out_of_stock, etc. (PDP mode)
  • productUrl, country, language, scrapedAt

Every field is omit-empty: a record never contains null, "", [], or {}.

How to use

{
"mode": "search",
"searchQuery": "BILLY bookcase",
"country": "us",
"language": "en",
"sortBy": "PRICE_LOW_TO_HIGH",
"maxItems": 25
}

Lookup by product ID

{
"mode": "byProductIds",
"productIds": ["20522046", "10522037", "00263850"],
"country": "us",
"language": "en"
}

Article numbers print on IKEA labels as 205.220.46 — dots and spaces are accepted and normalized automatically.

Fetch from product URLs

{
"mode": "byUrls",
"productUrls": [
"https://www.ikea.com/us/en/p/billy-bookcase-white-20522046/",
"https://www.ikea.com/de/de/p/billy-buecherregal-weiss-20522046/"
]
}

Country and language are inferred from each URL.

Browse a category

{
"mode": "byCategory",
"category": "bookcases-shelving-units-st002",
"country": "us",
"language": "en",
"sortBy": "MOST_POPULAR",
"maxItems": 100
}

Filters

FilterEffect
minPrice / maxPricePrice range in storefront currency
inStockOnlyExclude out_of_stock / not-online-sellable
containsKeywordPost-filter on name, type, description, color, category
minRatingExclude products rated below this value (0–5)
enrichFromPDPFetch each PDP for richer fields (descriptions, measurements, breadcrumbs). Slower.

Supported markets

50 countries covering all major IKEA storefronts: United States, United Kingdom, Germany, France, Italy, Spain, Netherlands, Belgium, Austria, Switzerland, Sweden, Norway, Denmark, Finland, Poland, Czech Republic, Canada, Australia, Japan, South Korea, China, UAE, Saudi Arabia, India, Singapore, and more.

Each country's language list is validated. Picking an invalid language for a country falls back automatically to that country's primary language.

Sort orders

Best match • Price: low → high • Price: high → low • Newest • Customer rating • Most popular • Name (A → Z) • Width / Height / Depth

FAQ

Do I need cookies or a paid proxy? No. The actor scrapes IKEA's public storefront via the official search-results API plus the public product pages. No authentication. The free Apify datacenter proxy is sufficient (optional).

Can I scrape every product on IKEA's site? Yes — combine mode=byCategory with category=products-products. IKEA's search API caps category browses at a few thousand products per call; for larger sweeps, iterate sub-categories.

Does it work for any country? Yes. The 50 supported storefronts cover every active IKEA online market. Each has the same field shape — only the currency, language and product mix change.

Will productUrl work? Yes — every productUrl is the canonical PDP that 200s in a clean browser.

Are variants real? Yes — variants[] lists every colour/configuration of the same SKU family, each with its own productId, price, and image. These are real product IDs you can re-query via byProductIds.

What does enrichFromPDP add? Description, measurements (height/width/depth/weight), the full category breadcrumb, and rich stockStatus from schema.org Offers. Cost: one extra HTTP request per product (~0.3 s).

What is the recordType? Every record carries recordType: "product" for easy filtering downstream.

Limitations

  • Inventory at store-level (which IKEA store has the item) requires the IKEA app's geo-gated API and isn't exposed here.
  • Customer reviews are returned only via enrichFromPDP and capped to the 5 most-recent reviews JSON-LD exposes.
  • Assembly / shipping cost isn't on the public product schema.

Data source

The actor calls IKEA's official public search-result-page API (sik.search.blue.cdtapps.com/{cc}/{lang}/search-result-page) for listings, and the public product detail pages (www.ikea.com/{cc}/{lang}/p/...) for enrichment. Both are openly readable from any IP and serve schema.org-formatted data designed for indexing.