We extract fabric listings, material compositions, pricing, and stock availability from Croftmill. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your schedule.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Fabric Listings objects from croftmill.co.uk. All fields typed and schema-versioned.
"sku": "CM-8472", "title": "Navy Blue Cotton Poplin", "category": "Dress Fabric", "composition": "100% Cotton", "width_cm": 112, "weight_gsm": 130, "price_per_metre": 6.5, "in_stock": true
| # | sku | title | category | sub_category | composition | width_cm |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Pricing & Stock objects from croftmill.co.uk. All fields typed and schema-versioned.
"sku": "CM-8472", "price": 6.5, "currency": "GBP", "discount_pct": 0, "stock_status": "In Stock", "minimum_cut_metres": 0.5, "sale_badge": false
| # | sku | price | currency | discount_pct | stock_status | low_stock_warning |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Product Specs objects from croftmill.co.uk. All fields typed and schema-versioned.
"sku": "CM-8472", "colour": "Navy Blue", "pattern": "Solid", "fabric_type": "Poplin", "stretch": "None", "washing_instructions": "30 Degree Machine Wash", "suitable_for": "Shirts, Dresses, Quilting"
| # | sku | colour | pattern | fabric_type | stretch | washing_instructions |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Remnants & Clearance objects from croftmill.co.uk. All fields typed and schema-versioned.
"remnant_id": "REM-1029", "original_sku": "CM-8472", "length_metres": 1.2, "price": 5.0, "original_price": 7.8, "clearance_status": true, "stock_count": 1
| # | remnant_id | original_sku | length_metres | price | original_price | defect_notes |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Haberdashery objects from croftmill.co.uk. All fields typed and schema-versioned.
"item_id": "HAB-441", "title": "Gutermann Sew All Thread 100m", "category": "Threads", "brand": "Gutermann", "price": 2.1, "material": "100% Polyester", "stock_status": "In Stock"
| # | item_id | title | category | brand | price | dimensions |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Croftmill product pages contain dense, unstructured text. We handle the normalisation of fabric weights, widths, and compositions into clean, queryable columns.
We parse unstructured descriptions to extract exact percentage breakdowns of cotton, polyester, viscose, and elastane.
Widths and weights are often mixed between imperial and metric. We standardise all outputs to centimetres and GSM.
Capture base pricing, sale discounts, and minimum cut requirements for every fabric listing in the catalogue.
Map fabrics to primary colour groups and pattern types based on metadata and description text analysis.
Track one-off remnant pieces, capturing specific lengths and clearance pricing before they sell out.
Monitor out-of-stock flags and low-stock warnings to forecast inventory depletion rates across categories.
Extract recommended uses for each fabric, categorising them for dresses, upholstery, quilting, or outerwear.
Parse washing temperatures, ironing limits, and tumble dry suitability into structured boolean or enum fields.
Extract URLs for the highest resolution fabric texture images available, bypassing thumbnail compression.
Brief in. Clean data out.
Select target categories like dressmaking fabrics, remnants, or haberdashery. We define the extraction schema.
We configure crawlers to handle Croftmill's pagination, category structures, and unstructured text fields.
Schema validation, null-rate checks, and unit conversion testing before full production launch.
Clean JSON, CSV, or Parquet delivered to your S3 bucket or data warehouse on your required schedule.
Extracting data from niche retailers requires custom parsing logic to turn descriptive text into structured metrics.
Fabric compositions and weights are often buried in paragraph descriptions rather than neat tables. We use regex and NLP to extract these values into structured columns.
Textile sites frequently mix inches and centimetres, or ounces and GSM. Our pipeline includes a normalisation layer to output consistent metric units.
Remnants are unique items that sell out quickly. We configure higher-frequency crawls for clearance sections to capture data before URLs 404.
We locate the source URLs for zoomable, high-resolution images, essential for AI training or visual competitor analysis.
We maintain a hash index of previous runs to only deliver records where pricing or availability has changed, reducing your processing load.
Other UK fabric retailers track Croftmill's price per metre across common compositions to adjust their own pricing strategies.
Analysts monitor stock depletion rates on specific fabric types to identify seasonal trends and demand spikes.
Machine learning teams use high-resolution texture images paired with composition data to train fabric recognition models.
Designers track which colours, prints, and materials are entering clearance versus which remain at full price.
Procurement teams use retail pricing data to negotiate better rates with textile mills and wholesalers.
Textile industry analysts aggregate data across retailers to map the availability of sustainable fabrics like organic cotton or Tencel.
"Croftmill holds decades of curated textile data, but extracting clean composition and pricing metrics requires custom parsing logic."
Parsing fabric specifications from unstructured descriptions is complex. DataFlirt extracts, cleans, and standardises weight, width, and composition metrics so your procurement algorithms have structured inputs. We handle the web scraping infrastructure entirely, letting you focus on textile analysis.
Everything supported by our croftmill.co.uk 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 efficient category traversal while Playwright executes JavaScript required for dynamic stock and image loading.
We route requests through UK-based residential IPs to prevent rate-limiting and ensure uninterrupted catalogue extraction.
Pipelines are orchestrated via Apache Airflow on Kubernetes, ensuring reliable daily or weekly deliveries with automated retries.
Data delivered to where your team already works — no new tooling required.
About croftmill.co.uk scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available product, pricing, and stock information is generally permissible. DataFlirt only extracts public data and does not bypass authentication to access wholesale pricing or user accounts. Clients should review terms of service and consult legal counsel.
We build custom parsing rules using regex and natural language processing to extract specific data points like composition percentages, widths, and care instructions from paragraph text.
Yes. We can target the remnants category specifically, extracting the unique length and discounted price for each one-off piece.
For a catalogue of Croftmill's size, we typically recommend daily or weekly runs. Higher frequency runs can be configured for fast-moving categories like remnants.
Yes. We convert all imperial measurements to metric (centimetres and metres) and standardise weight formats to GSM to ensure your database remains clean.
Yes. We provide a sample extraction of specific fabric categories so you can evaluate the parsing quality and schema structure before committing to a pipeline.
20-minute scoping call. Pilot dataset within the week. Production within two. Stop manually copying fabric specs. We build and maintain the pipeline to deliver clean, structured textile data directly to your systems.