We extract furniture catalogues, complex variant matrices, store inventory levels, and campaign pricing from Ilva.dk. Delivered as clean JSON, CSV, or Parquet to your data warehouse.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Product Specifications objects from ilva.dk. All fields typed and schema-versioned.
"product_id": "1048291", "name": "Catania Sofa", "category_path": "Stue > Sofaer > 3-personers sofaer", "base_price": 8999.0, "height_cm": 85.0, "width_cm": 220.0, "depth_cm": 92.0, "primary_material": "Tekstil", "assembly_required": true
| # | product_id | name | category_path | brand | base_price | height_cm |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Variant Pricing objects from ilva.dk. All fields typed and schema-versioned.
"variant_id": "1048291-02", "parent_id": "1048291", "colour": "Mørkegrå", "fabric_type": "Velour", "price": 7499.0, "original_price": 8999.0, "discount_pct": 16.6, "stock_status": "in_stock", "delivery_days": 14
| # | variant_id | parent_id | colour | fabric_type | leg_material | price |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Store Inventory objects from ilva.dk. All fields typed and schema-versioned.
"product_id": "1048291", "variant_id": "1048291-02", "store_id": "ILV-04", "store_name": "Ilva Ishøj", "stock_level": 3, "display_model_available": true, "click_and_collect": true, "pickup_hours": "10:00-19:00", "last_updated": "2026-05-12T08:14:00Z"
| # | product_id | variant_id | store_id | store_name | city | stock_level |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Campaigns & Offers objects from ilva.dk. All fields typed and schema-versioned.
"campaign_id": "CMP-26-WKD", "campaign_title": "Weekend Tilbud - Spar 20% på alle sofaer", "start_date": "2026-05-15", "end_date": "2026-05-17", "discount_type": "percentage", "discount_value": 20.0, "applicable_categories": "['Sofaer', 'Sovesofaer']", "excluded_brands": "['Fritz Hansen']"
| # | campaign_id | campaign_title | start_date | end_date | discount_type | discount_value |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Reviews objects from ilva.dk. All fields typed and schema-versioned.
"review_id": "REV-99281", "product_id": "1048291", "rating": 4, "author_name": "Jens P.", "review_date": "2026-04-10", "review_text": "Rigtig god sofa til prisen. Lidt hård i starten.", "verified_buyer": true, "helpful_votes": 12
| # | review_id | product_id | rating | author_name | review_date | review_text |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Ilva.dk relies on complex frontend state to manage thousands of variant combinations per product. Our infrastructure executes the necessary JavaScript, traverses the variant matrices, and normalises the resulting catalogue data.
Sofas and beds have hundreds of fabric, colour, and leg combinations. We iterate through the frontend state to extract discrete pricing and SKUs for every variant.
Extract and standardise height, width, depth, and weight specifications across all product categories into queryable numeric fields.
Query physical stock levels and display-model availability across all Ilva retail locations in Denmark.
Track base prices against active campaign discounts, calculating exact markdown percentages and validity periods.
Capture dynamic lead times and shipping costs based on product dimensions and current warehouse stock status.
Extract high-resolution image URLs, assembly manuals (PDFs), and material swatches associated with specific variants.
Preserve Ilva's exact taxonomy and breadcrumb structure to maintain accurate product categorisation in your database.
Track price adjustments and stock changes daily, delivering only the modified records to reduce processing overhead.
Strict type checking on dimensions, prices, and stock booleans before data is written to your warehouse.
Brief in. Clean data out.
Specify target categories, required fields, and extraction frequency. We map the Ilva.dk schema to your requirements.
We deploy Playwright spiders to handle Ilva's frontend framework, configuring proxy rotation and state management.
Data passes through automated validation checks for dimension parsing accuracy and variant completeness.
Structured data is pushed to your S3 bucket, BigQuery, or via Webhook on your defined schedule.
Modern furniture eCommerce sites are highly dynamic. We manage the rendering and rate limits so your pipeline remains stable.
A single sofa URL on Ilva.dk can represent 300 unique SKUs depending on fabric, colour, and leg choices. Our crawlers intercept the underlying API responses to map the entire variant matrix without manual browser interaction.
Querying stock levels across 40+ physical stores for thousands of products triggers rate limiting. We distribute these requests across Danish residential IP pools to maintain access and ensure accurate inventory data.
Furniture dimensions are often entered inconsistently in CMS platforms. We apply regex-based normalisation to convert strings like 'H: 85 cm x B: 220 cm' into distinct, typed numeric columns.
Ilva frequently runs short-term campaigns altering prices across entire categories. We run high-frequency change-detection crawls to capture these temporary pricing signals before they expire.
Ilva.dk relies on client-side rendering for critical product details. We utilise headless Playwright sessions to execute the necessary JavaScript, ensuring no data points are missed by simple HTTP requests.
Furniture retailers track Ilva's campaign pricing and base rates to adjust their own promotional strategies and protect market share.
Analyse category depth, material trends, and colour availability to identify gaps in your own product offerings.
Track the introduction and phase-out of specific furniture styles and fabrics to gauge shifting Scandinavian design trends.
Monitor store-level inventory to understand regional demand patterns and stock distribution across Denmark.
Feed structured dimensions, materials, and high-resolution images into machine learning models for spatial planning tools.
Track delivery lead times across product categories to benchmark supply chain efficiency against a major regional player.
"Extracting furniture data requires handling massive variant matrices—every sofa has dozens of fabric, colour, and leg combinations."
Extracting furniture data requires handling massive variant matrices—every sofa has dozens of fabric, colour, and leg combinations. We manage the complex state rendering and API rate limits so your engineering team receives clean, normalised dimension and pricing data without writing a single crawler.
Everything supported by our ilva.dk scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
We pair Scrapy's orchestration with Playwright's rendering capabilities to navigate Ilva's frontend framework and trigger variant state changes.
Requests are routed through Danish residential IP pools to ensure accurate local pricing, stock data, and evasion of geographic rate limits.
Custom Python parsers clean unstructured dimension strings and material descriptions before loading data into PostgreSQL for final validation.
Data delivered to where your team already works — no new tooling required.
About ilva.dk scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available product, pricing, and store data is generally permissible. DataFlirt extracts only public information and does not bypass authentication to access private user data. Clients should ensure their specific use case complies with local regulations.
We intercept the API calls that populate the frontend variant matrices. This allows us to map every possible combination of fabric, colour, and legs to its specific SKU, price, and image without manually clicking through the UI.
Yes. We query the stock availability endpoints for every product against all physical Ilva store IDs, providing exact stock counts and display-model availability per location.
We can configure pipelines to run daily, weekly, or on custom schedules. For campaign tracking, we recommend daily diffs to capture weekend sales and short-term promotions.
Yes. We parse the unstructured text fields on the product pages and map them to explicit numeric columns (height_cm, width_cm, depth_cm, weight_kg) to ensure the data is immediately queryable.
We typically scope engagements starting from full category sweeps (e.g., all sofas and beds) up to total catalogue extraction. Contact us with your specific category requirements for a precise quote.
20-minute scoping call. Pilot dataset within the week. Production within two. Stop manually tracking furniture campaigns and variant pricing. We build and maintain the infrastructure to deliver structured Ilva data directly to your warehouse.