IKEA Scraper
Pricing
from $3.00 / 1,000 results
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
Maintained by CommunityActor stats
8
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
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,brandprice(amount + currency)rating,ratingCountmainImageUrl,imageUrls[]color,material,measurements(height, width, depth, weight)categoryPath[]— full breadcrumb (withenrichFromPDP)variants[]— other colours / sizes of the same product, each with price + imagebadges[],isBestseller,isNewArrivalstockStatus—in_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
Search
{"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
| Filter | Effect |
|---|---|
minPrice / maxPrice | Price range in storefront currency |
inStockOnly | Exclude out_of_stock / not-online-sellable |
containsKeyword | Post-filter on name, type, description, color, category |
minRating | Exclude products rated below this value (0–5) |
enrichFromPDP | Fetch 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
enrichFromPDPand 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.