IKEA Product Search Scraper
Pricing
from $0.80 / 1,000 results
IKEA Product Search Scraper
Scrape IKEA's full product catalog by keyword across 30+ markets. Returns name, price, ratings, images, category path, online availability per result; optional per-product detail + per-store stock enrichment via IKEA's public APIs.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
A fast, cheap Apify actor that scrapes IKEA's product catalog by keyword across 30+ markets. Hits IKEA's public search API directly (no headless browser, no Akamai games), returns structured product data with prices, ratings, images, category paths, and online availability per result. Optional enrichment pulls full product details and per-store stock from IKEA's product APIs.
Pay per item. No actor-start fee. $0.0008 per product, which is 20% under the cheapest competitor and 60% under the most-used one.
What it does
For every search query you pass in, the IKEA Product Search Scraper:
- Hits IKEA's SIK ("Search In Kontext") search API at
sik.search.blue.cdtapps.com/{country}/{lang}/searchwith the keyword you provide. - Walks the paginated result set up to your per-query cap (or until IKEA runs out of hits).
- Optionally enriches each product with the full "communications" record (child SKUs, assembly instructions, care instructions, package dimensions) and a per-store stock summary.
- Writes one row per product to the dataset.
No login. No cookies. No proxy required (datacenter IPs work). The actor refreshes IKEA's public client keys from a product page once per run so it stays resilient to silent key rotation.
Inputs
| Field | Type | Default | Notes |
|---|---|---|---|
queries | array of strings | required | One or more keyword queries. Each runs independently. |
country | string | us | Two-letter IKEA market code: us, gb, de, fr, se, ca, au, it, nl, jp, kr, and so on. |
language | string | en | Two-letter language matching the market. |
maxItemsPerQuery | integer | 0 (no cap) | Per-query cap. IKEA returns up to ~1000 hits per query depending on category. |
maxItems | integer | 0 (no cap) | Global cap across every query. |
includeProductDetails | boolean | false | Adds the full communications record per product (child items, assembly steps, care, compliance, packaging). Roughly one extra HTTP call per 50 products. |
includeAvailability | boolean | false | Adds a stock summary per product (cash-and-carry quantity, message type, stores with stock). Roughly one extra HTTP call per 50 products. |
proxyConfiguration | object | Apify proxy AUTO | Datacenter IPs are sufficient. Residential is supported but not required for IKEA's data APIs. |
Output
Each row is one product. Guaranteed fields are present on every record returned by IKEA's search. Optional fields appear only when the corresponding enrichment flag is set.
Guaranteed
id- IKEA item number (sometimes prefixedsfor SPR-style products; treat as a string key).itemNoGlobal- Cross-market product identifier.itemType-SPR(sales product) orART(article / component).name- Product name as shown on IKEA (e.g.MORABO,KALLAX).typeName- Product type label (e.g.Sofa,Bookcase,Table and 4 chairs).url- Direct link to the product page.price-{currency, currentPrice, formattedPrice, previousPrice, formattedPreviousPrice, discount, formattedDiscountAmount, isBreathTaking}.rating-{average, count}.images-{main, contextual, all: [{type, url}]}with IKEA's image role typing (MAIN_PRODUCT_IMAGE,CONTEXT_PRODUCT_IMAGE,QUALITY_PRODUCT_IMAGE, etc.).details-{designText, isOnlineSellable, badge, lastChance, colors, measurementText, gprDescription, quickFacts}.categoryPath- Array of{name, key}from the top-level category to the leaf.businessStructure- IKEA's internal home-furnishing-business / product-area hierarchy.availability- Summary string embedded in the SIK result.query,country,language- Echoed back per row.
Optional (when includeProductDetails: true)
productDetails- Full IKEA communications record: child items, assembly time and instruction PDF URLs, care instructions, compliance information, package dimensions, design materials.
Optional (when includeAvailability: true)
stock-{availableForCashCarry, availableForClickCollect, homeDeliveryInRange, cashCarryQuantity, cashCarryMessageType, cashCarryUpdateDateTime, storesWithStock}.
Pricing
| Event | Price |
|---|---|
| Product result (one row in the dataset) | $0.0008 |
No actor-start fee. No tier ladder. Flat $0.0008 per product.
Worked examples:
- 100 products: $0.08
- 1,000 products: $0.80
- 10,000 products: $8.00
- 100,000 products: $80.00
For reference, the cheapest current IKEA scraper on Apify charges $0.001 per result plus a per-run fee, and the most-used one charges $0.002 per result plus a per-run fee. This actor is cheaper than both and skips the per-run charge entirely.
How it works
The actor talks to three IKEA API endpoints, all public:
POST sik.search.blue.cdtapps.com/{country}/{lang}/search- full search-result payload with prices, ratings, images, and filters.GET api.ingka.ikea.com/salesitem/communications/ru/{country}- per-product detail (used only whenincludeProductDetailsis on).GET api.salesitem.ingka.com/availabilities/ru/{country}- per-store stock (used only whenincludeAvailabilityis on).
The two enrichment endpoints want a public client key in the X-Client-Id / X-Client-ID header. Those keys ship in plain HTML on every IKEA product page. The actor refreshes them at the start of every run from https://www.ikea.com/{country}/{language}/p/..., so silent key rotations do not break it.
Limits
- IKEA's search caps each result page at about 120 items regardless of what you ask for. The actor pages with offsets and stops automatically at the total hit count.
- Single-query result counts vary from ~50 to ~1000 depending on the category. There is no public way to push beyond IKEA's own ceiling.
- The
gb/de/frand other non-US markets work the same way. Make sure thecountryandlanguagecodes match a real IKEA market.
FAQ
Why is this cheaper than the other IKEA scrapers? It hits IKEA's data APIs directly with bare HTTP. No headless Chrome, no residential proxies, no parsing HTML. That makes both the per-result compute cost and the dev-time investment a fraction of a browser-based approach, and the savings are passed through.
Do I need an Apify proxy? No. The IKEA endpoints have no anti-bot on the data plane. Datacenter Apify proxy (the default) is fine. Residential is supported if you want to be cautious.
Will this work for non-US markets?
Yes. Pass country and language (e.g. de/de, gb/en, fr/fr, se/sv). The same APIs serve every IKEA market.
Can I just dump every IKEA product?
Pass a list of broad queries (furniture, kitchen, lighting, ...) and a large maxItems. For a cleaner enumeration use IKEA's category pages; a future version of the actor may take category keys directly.
Does it return real-time data?
Search results and prices are near-real-time. Stock with includeAvailability returns per-store snapshot data with an updateDateTime per store; trust that field over local caching.
Changelog
0.1- Initial release. SIK search + optional communications + optional availabilities enrichment.