IKEA USA product data scraping
The full ikea.com/us catalog with article numbers, prices, dimensions, materials and a category tree five levels deep. We have run it end to end and published the result as a free dataset, so you can judge the output before talking to us.
What IKEA USA data scraping returns
Counts from our July 2026 full run. IKEA's range is broad rather than deep — a lot of sections, each moderately sized — which makes complete coverage realistic but the category walk the hard part.
| Section | Products | Section | Products |
|---|---|---|---|
| Storage & organization | 1,687 | Tables & chairs | 449 |
| Beds & mattresses | 923 | Outdoor | 447 |
| Home decor & accessories | 826 | Lighting | 433 |
| Kitchenware & tableware | 810 | Desks & desk chairs | 264 |
| Kitchen, appliances & supplies | 754 | Baby & kids | 232 |
| Bathroom | 529 | Window treatments | 210 |
| Sofas & armchairs | 522 | Rugs & home textiles | 206 |
| 8,855 products in total across 583 distinct category paths, 21 top-level sections | |||
Prices in that run ran from $0 to $999, with a median of $44. The zero-price entries are real: IKEA lists some items as catalog entries without a standalone price, which matters if you plan to average anything without filtering first.
Fields we extract
The seven columns below are the standard catalog export, with fill rates from the live run. The extended set underneath comes from the product page itself and costs more, because it means a visit per product rather than a category walk.
| Field | Example | Coverage |
|---|---|---|
| title | SALTSJÖBADEN Sleeper sofa, Tonerud red-brown | 100% |
| full_category | Sofas & armchairs/Sleeper sofas & sofa beds | 100% |
| url | ikea.com/us/en/p/saltsjoebaden-…-s39578590/ | 100% |
| sku | 395.785.90 | 100% |
| currentPrice | 949 | 100% |
| mainImageLink | …/saltsjoebaden-sleeper-sofa__1421513_pe977710_s5.jpg | 100% |
| colors | Tonerud red-brown, Blekinge white, Tonerud gray… | 40.3% |
Extended fields, from the product page
- Width, depth and height as separate measurement fields
- Material, taken from the structured product data rather than the description
- Rating average and review count
- Full description text and the complete image gallery, not just the primary shot
- Series name — SALTSJÖBADEN, PAX, BESTÅ — as its own field rather than buried in the title
- Availability status and the "New" flag
The reason this split exists: IKEA publishes a Product block in structured data on every product page, containing dimensions, material, rating and offer details in clean typed form. Reading that is far more reliable than parsing rendered HTML, and it is why the extended field set on IKEA is cheaper than the equivalent on most retailers.
Four things that decide whether an IKEA extraction is any good
Two kinds of product live behind one URL pattern
IKEA product URLs end in an identifier, and it comes in two forms. A plain eight-digit
id is a single article — one manufactured item with one article number. An id prefixed
with s is a combination: a product assembled from several articles, such as
a wardrobe with its frame, doors and interior fittings, or a lamp sold with its bulb. In
our run, 2,606 of 8,855 products were combinations. They behave differently — a
combination's price is the sum of its parts and its availability depends on all of them
— so a pipeline that treats both the same will misreport stock on nearly a third of the
catalog.
The article number is the only stable key
IKEA article numbers are formatted 395.785.90 and they are globally unique
and stable across markets. Every product in our run had one, and all 8,855 were distinct.
URL slugs, by contrast, contain the product name and colour, so they change when IKEA
renames a colourway. Key your pipeline on the article number, keep the URL as a
convenience field, and cross-market comparisons become possible almost for free — the
same article number identifies the same item on ikea.de and ikea.co.uk.
The category tree is the real work
583 distinct category paths, up to five levels deep, with paths like
Storage & organization / Storage solution systems / BESTÅ storage system /
BESTÅ all parts & accessories / BESTÅ frames. IKEA's structure mixes rooms,
product types and modular systems in the same tree, and the same product can sit in more
than one branch. Walking it properly is the difference between a complete catalog and a
confident-looking subset; we found 51 titles listed under more than one path.
Colour is a product, not an attribute
SALTSJÖBADEN in our data appears sixteen times: sofa, loveseat, armchair, sleeper sofa and a series of separate covers, each with its own article number and price. The colour list on a listing tells you which covers exist for the series, not which variants of that exact item you can buy. Anyone modelling this as a parent product with colour options will produce a catalog that does not match what IKEA actually sells. We keep the series name as a derived field so you can group when you want to, without pretending the underlying structure is something it is not.
Collection profile
Pages are server-rendered with structured product data embedded, so the standard field set needs no headless browser. There is no location-dependent pricing on the US site, which removes the zip-code problem that complicates grocery and home-improvement retailers. A full-catalog pass runs in a few hours at a conservative request rate; the practical constraint is soft rate limiting rather than bot challenges.
One product, extended field set
A live capture of the product below, with the extended fields enabled. Dimensions, material and rating all come from the structured data block on the page rather than from scraped markup.
{
"article_number": "195.785.86",
"series": "SALTSJÖBADEN",
"name": "Sleeper sofa",
"color": "Tonerud gray",
"url": "https://www.ikea.com/us/en/p/saltsjoebaden-sleeper-sofa-tonerud-gray-s19578586/",
"product_type": "combination",
"category_path": ["Sofas & armchairs", "Sleeper sofas & sofa beds", "Loveseat sleepers"],
"price": { "current": 949.00, "currency": "USD" },
"availability": "InStock",
"is_new": true,
"measurements": {
"width": "72 7/8 \"",
"depth": "41 3/8 \"",
"height": null
},
"material": "Fabric",
"rating": { "average": 4.6, "count": 8 },
"cover_options": [
"Blekinge white", "Tonerud gray", "Tonerud red-brown",
"Fridtuna dark gray-blue", "Fridtuna light beige"
],
"images": [
"…/saltsjoebaden-sleeper-sofa-tonerud-gray__1421513_pe977710_s5.jpg",
"…/saltsjoebaden-sleeper-sofa-tonerud-gray__1421523_pe977719_s5.jpg"
],
"collected_at": "2026-09-12T09:10:00Z"
}
The full run, published
Open it, check the category paths, look at how the combinations are handled. That is a faster way to evaluate us than a sales call.
What this data answers
Furniture price benchmarking
IKEA is the reference point most furniture buyers price against. A full catalog with a $44 median and a clean category tree gives you the baseline in one file.
Dimension-based matching
Width, depth and height as typed fields let you match against your own range on size rather than on product names, which never agree between retailers.
New product monitoring
IKEA flags new arrivals on the page and retires lines quietly. Repeat runs keyed on article number surface both without any announcement to wait for.
Cross-market comparison
Because article numbers are global, the same run repeated on another IKEA market produces a directly comparable file. Few retailers make this so easy.
Timing, formats and cost
A full catalog export is delivered within two working days of an agreed spec. A single section — Sofas & armchairs, or Lighting — is usually same-day. Recurring runs are scheduled weekly or monthly, with a change report between runs so you receive new articles, delisted ones and price moves rather than a fresh 8,800-row file every time.
Output as CSV, JSON, Excel, Google Sheets, SQL or an API endpoint.
IKEA sits at the accessible end of our range: server-rendered, structured data on every product page, no location-dependent pricing. A one-off full-catalog export starts at $200; recurring monitoring is quoted per interval.
What we collect, and what we leave alone
Everything above is visible to any visitor browsing ikea.com/us without an account. We do not collect customer data, we do not touch anything behind a login, and we do not republish review text or rehost product images — image URLs only. Rating averages and counts are numeric aggregates, not customer content.
Scraping IKEA, in practice
Can you cover other IKEA markets besides the US?
Yes, and it is one of the cheaper extensions we do. IKEA runs the same site structure per country and the same article numbers globally, so a parser built for the US adapts to Germany, the UK or Poland with little rework. Prices, currency and local availability differ, which is usually the whole point of asking.
Why do some products have no colour listed?
Because roughly 40% of the catalog is items where colour is not a purchasing choice — a mattress sold in one finish, a kitchen fitting, a food item. Where a series does offer cover or finish options, the field is populated. We leave it empty rather than inventing a value, so you can filter on it reliably.
Can you get stock levels per store?
Store-level availability is a different collection job from the catalog walk, and it multiplies the request volume by the number of stores you care about. We quote it separately. For most pricing and range work the national-level availability flag is enough.
Do you collect assembly instructions and manuals?
We can collect the document URLs. We do not extract or redistribute the contents, since those are IKEA's published materials rather than product facts.
How often does the parser break?
IKEA's URL scheme and structured data block have been stable across our runs, which makes it one of the lower-maintenance sources we run. On a recurring feed we monitor for shape changes and rewrite as needed; that upkeep is included rather than billed as a change request.
Can you scrape just one section?
Yes, and it is often the better brief. Sofas & armchairs is 522 products, Lighting is 433 — small enough to deliver same-day and to set against the equivalent category at two or three other retailers, which usually answers more than a full catalog does.
Other sites and services
Start with the dataset, not a sales call
Open the free IKEA USA catalog, check whether the fields fit your analysis, and come back with a brief if they do.