We extract product specifications, campaign pricing, inventory status, and variation matrices from Trademax.se. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Product Listings objects from trademax.se. All fields typed and schema-versioned.
"sku": "100234", "title": "Howard Sofa 3-seater", "brand": "Trademax", "category": "Sofas", "price": 5995.0, "regular_price": 8995.0, "currency": "SEK", "rating": 4.2, "review_count": 48
| # | sku | title | brand | category | sub_category | price |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Dimensions & Specs objects from trademax.se. All fields typed and schema-versioned.
"sku": "100234", "width_cm": 220, "height_cm": 85, "depth_cm": 95, "seat_depth_cm": 60, "seat_height_cm": 45, "primary_material": "Velvet", "frame_material": "Pine wood"
| # | sku | width_cm | height_cm | depth_cm | seat_depth_cm | seat_height_cm |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Stock & Delivery objects from trademax.se. All fields typed and schema-versioned.
"sku": "100234", "in_stock": true, "stock_status_text": "I lager", "delivery_time_min_days": 2, "delivery_time_max_days": 5, "home_delivery_available": true, "click_and_collect": false
| # | sku | in_stock | stock_status_text | delivery_time_min_days | delivery_time_max_days | home_delivery_available |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Variations objects from trademax.se. All fields typed and schema-versioned.
"parent_sku": "100200", "child_sku": "100234", "variation_type": "Colour and Fabric", "colour": "Navy Blue", "fabric": "Velvet", "price_diff": 0.0, "image_url": "https://cdn.trademax.se/images/100234.jpg"
| # | parent_sku | child_sku | variation_type | colour | fabric | size |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Campaigns objects from trademax.se. All fields typed and schema-versioned.
"sku": "100234", "campaign_name": "Sommarrea", "discount_pct": 33, "discount_abs": 3000.0, "outlet_item": false, "promo_code": "None", "start_date": "2023-06-01"
| # | sku | campaign_name | discount_pct | discount_abs | start_date | end_date |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Trademax scraper navigates complex variation matrices, campaign pricing logic, and dynamic stock APIs to deliver a normalised catalogue dataset.
Traverse all categories, sub-categories, and brand pages to build a complete map of the Trademax assortment.
Extract and normalise width, height, depth, and seat metrics from unstructured text into queryable integers.
Capture base price, campaign price, discount percentages, and campaign labels across the entire inventory.
Link parent models to child SKUs across complex matrices of fabrics, colours, and configurations.
Parse dynamic lead times and shipping options directly from the product and checkout APIs.
Read backend inventory status to determine actual availability rather than relying on frontend text.
Extract structured material data for frames, legs, and upholstery from product specification tables.
Capture high-resolution image URLs and associate them with specific colour and fabric variations.
Correctly parse Swedish characters, local number formatting, and SEK currency conventions.
Run continuous diffs to only push records when prices, stock levels, or delivery times change.
Brief in. Clean data out.
Provide target categories, specific brands, or full catalogue requirements. We design the extraction schema together.
We configure Scrapy crawlers, Playwright sessions for dynamic content, and proxy rotation for trademax.se.
Schema validation, dimension parsing checks, and variation mapping verification before full launch.
JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.
Furniture retail sites present unique scraping challenges. Here is how we process complex product relationships and dynamic pricing.
A single sofa model on Trademax can have dozens of fabric and colour combinations. We execute JavaScript to iterate through these combinations, capturing the unique SKU, price, and image for every child variant.
Inventory data is often loaded via separate XHR requests. We intercept these backend API calls while strictly managing request concurrency to avoid triggering rate limits.
Retailers frequently change campaign structures. Our parsers distinguish between permanent price drops, temporary campaigns, and outlet pricing, ensuring your historical price data remains accurate.
When dimensions are buried in description paragraphs rather than neat tables, we apply strict regex patterns to extract and normalise measurements into standard millimetre or centimetre integer columns.
We automatically convert Swedish comma-based decimals and space-separated thousands into standard float values for immediate database compatibility.
Furniture retailers track Trademax campaign pricing and base prices to adjust their own promotional calendars.
Merchandising teams analyse category depth and brand presence to identify missing product lines in their own catalogues.
Analysts monitor new product additions and out-of-stock velocity to predict popular materials, colours, and styles.
Logistics providers analyse delivery lead times across different categories to benchmark industry shipping standards.
Comparison shopping engines ingest structured product data to maintain accurate listings for outbound traffic.
Machine learning teams use dimension data, categorisation, and high-resolution images to train spatial planning models.
"Trademax holds one of the largest Nordic furniture catalogues, but tracking their dynamic campaign pricing and complex variation matrices requires dedicated infrastructure."
Extracting data from modern furniture retailers involves parsing complex product relationships. A single sofa might have 40 combinations of fabric, colour, and leg styles, each with distinct pricing and stock levels. We handle this normalisation so your database receives clean, structured rows.
Everything supported by our trademax.se scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles catalogue traversal and deduplication. Playwright handles JavaScript rendering for variation dropdowns and dynamic pricing widgets.
We maintain pools of Swedish residential IPs to ensure access to localised pricing and avoid geo-blocking during heavy extraction runs.
Pipelines run on AWS Lambda and ECS. Airflow manages scheduling and dependency execution. All state is stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About trademax.se scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available pricing, product, and stock information from e-commerce sites is generally permissible. DataFlirt extracts only public data without circumventing authentication walls. We advise clients to review local regulations and terms of service for their specific use cases.
For targeted SKU lists, we can run hourly pipelines to track fast-moving campaigns. Full catalogue refreshes are typically scheduled daily or weekly depending on your data warehouse ingestion limits.
Our Playwright integration iterates through the UI selectors for fabric, colour, and module type. We capture the specific SKU, price modifier, and image URL for each valid combination, delivering a flattened variation matrix.
Yes. We use regex to extract raw text like 'Bredd: 220 cm' and normalise it into a structured integer column 'width_cm: 220'.
Yes. We monitor both frontend stock badges and backend API responses to provide accurate boolean flags and lead-time estimates for inventory.
Our selector strategy uses multiple fallback chains. If a primary CSS selector fails, we fall back to XPath or structured JSON-LD data. Our monitoring stack alerts us to schema drift immediately.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off catalogue dump or a continuous price-monitoring feed across all furniture categories, we build and operate the pipeline. Tell us what you need.