SYSTEM all green source chairish.com queue 12,409 pages p99 latency 184ms dataflirt.com · scraper/chairish-com
RUN · 42 active pipelines · chairish.com live

Chairish data,
at warehouse scale.

We extract vintage furniture listings, dealer intelligence, pricing signals, and curation metadata from Chairish. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Listings extracted
842K /run
Dealer profiles
12.4K /run
Price updates
45.2K /24h
Active pipelines
42
Uptime
99.98%
Data Dictionary

Every field we extract from chairish.com

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 chairish.com. All fields typed and schema-versioned.

product_idtitlecategorysub_categorypricecurrencyconditionstylematerialdimensionscolourdealer_nameimage_urlsurlcreated_at
product_listings
● 200 OK
"product_id": "CH-9824152",
"title": "Mid-Century Modern Milo Baughman Style Lounge Chair",
"category": "Furniture",
"sub_category": "Chairs > Lounge Chairs",
"price": 2400.0,
"currency": "USD",
"condition": "Vintage/Excellent",
"style": "Mid-Century Modern",
"material": "Walnut, Velvet"
# product_idtitlecategorysub_categorypricecurrency
1
2
3

Complete list of extractable fields for Dealer Profiles objects from chairish.com. All fields typed and schema-versioned.

dealer_idnamelocationratingreview_countactive_listingsjoined_datebioreturn_policyresponse_time
dealer_profiles
● 200 OK
"dealer_id": "D-41294",
"name": "Palm Springs Modern",
"location": "Palm Springs, CA",
"rating": 4.9,
"review_count": 342,
"active_listings": 128,
"joined_date": "2018-04-12"
# dealer_idnamelocationratingreview_countactive_listings
1
2
3

Complete list of extractable fields for Pricing & Shipping objects from chairish.com. All fields typed and schema-versioned.

product_idlist_pricecurrent_pricediscount_pctmake_offer_eligibleshipping_costlocal_pickup_availablelocal_pickup_zipships_fromdelivery_time
pricing_& shipping
● 200 OK
"product_id": "CH-9824152",
"list_price": 2800.0,
"current_price": 2400.0,
"discount_pct": 14,
"make_offer_eligible": true,
"local_pickup_available": true,
"local_pickup_zip": "92262",
"ships_from": "Palm Springs, CA"
# product_idlist_pricecurrent_pricediscount_pctmake_offer_eligibleshipping_cost
1
2
3

Complete list of extractable fields for Curation & Metadata objects from chairish.com. All fields typed and schema-versioned.

product_idis_chairish_pinkvintage_antiqueauthenticity_verifiedtagseramakerorigincondition_notes
curation_& metadata
● 200 OK
"product_id": "CH-9824152",
"is_chairish_pink": false,
"vintage_antique": "Vintage",
"authenticity_verified": true,
"era": "1970s",
"maker": "Milo Baughman",
"origin": "United States",
"condition_notes": "Minor wear consistent with age and history."
# product_idis_chairish_pinkvintage_antiqueauthenticity_verifiedtagsera
1
2
3

Complete list of extractable fields for Search Results objects from chairish.com. All fields typed and schema-versioned.

keywordpositionproduct_idtitlepricedealeris_promotedimage_urlscraped_at
search_results
● 200 OK
"keyword": "burl wood credenza",
"position": 3,
"product_id": "CH-7741021",
"title": "1970s Burl Wood and Brass Credenza",
"price": 4500.0,
"dealer": "NYC Vintage",
"is_promoted": false,
"scraped_at": "2026-05-12T10:14:33Z"
# keywordpositionproduct_idtitlepricedealer
1
2
3

Capabilities

Everything you need from Chairish — nothing you don't

Our Chairish scraper handles the complexity of highly variable vintage listings: unstructured dimensions, dynamic shipping calculators, dealer catalogues, and deep category pagination.

Full Listing Extraction

Extract title, dimensions, condition, era, maker, materials, and every metadata field Chairish surfaces — scraped at the product level.

Dealer Inventory Tracking

Monitor specific vintage dealers, track their catalogue updates, active listing counts, and response times.

Pricing & Markdown Signals

Capture list price, current price, discount percentages, and Make an Offer eligibility status across thousands of items.

Shipping & Logistics Data

Extract local pickup availability, origin zip codes, and white-glove shipping parameters to map logistics networks.

Curation & Style Metadata

Capture Chairish Pink curation flags, style tags, authenticity verification, and material composition.

Search & Category Scraping

Paginate across specific decor categories, eras, or styles to aggregate market availability.

Image URL Aggregation

Extract high-resolution image asset links for visual AI training and interior design mood boards.

Condition & Authenticity

Extract detailed condition notes, wear-and-tear descriptions, and vintage/antique classifications.

Scheduled + Streaming Modes

Run one-off bulk exports or configure continuous pipelines at daily cadences with change-detection diffing.

// engagement pipeline

From search query to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide dealer URLs, category links, or keyword sets. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy / Playwright crawlers, proxy rotation, and session management for chairish.com.

Validation & QA
d 4–6

Schema validation, null-rate checks on dimensions, and price-outlier detection before full launch.

Delivery
ongoing

JSON / CSV / Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.

Under the hood

How our Chairish pipeline handles the hard parts

Extracting structured data from a vintage marketplace requires handling highly variable schemas and dynamic content.

pipeline-monitor · chairish.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Anti-bot layer
Residential proxy rotation

Chairish employs standard rate limiting on deep category pagination. Our crawlers use US-based residential ISP proxies with randomised request timing to maintain access without triggering blocks.

JavaScript rendering
Playwright for dynamic elements

Shipping calculators and Make an Offer modules load dynamically. We run full Playwright browser sessions to trigger these network requests and capture the resulting data.

Schema stability
Normalising vintage variance

Vintage items do not share the uniform structure of modern retail. Dimensions and materials are often entered as free text. Our selectors extract these fields cleanly, allowing downstream normalisation.

Change detection
Only re-scrape what's changed

For large dealer catalogues, we maintain a hash index of last-seen values per field. Subsequent runs only push diffs — reducing compute cost and downstream processing load.

Monitoring & alerting
Pipeline health tracking

Every run emits structured logs to our observability stack. We alert on null-rate spikes for critical fields like dimensions or price, ensuring schema drift is caught immediately.

Applications

Who uses Chairish data — and how

Teams across industries use chairish.com data to build competitive products and smarter operations.

01
Market Research & Appraisal

Appraisers and auction houses track fair market value, pricing trends, and time-on-market for specific eras, makers, and styles.

02
Competitor Intelligence

Vintage dealers monitor rival inventory, pricing strategies, and markdown cadences to remain competitive in specific regional markets.

03
Visual AI Training

ML teams use high-resolution imagery and curated style tags to train interior design recommendation engines and computer vision models.

04
Interior Design Procurement

Design firms aggregate inventory data to source specific pieces for large-scale hospitality or residential projects efficiently.

05
Supply Chain & Logistics

Logistics companies analyze white-glove shipping routes and local pickup density to optimise regional freight networks.

06
Retail Arbitrage

Buyers identify underpriced local-pickup items for regional resale or cross-platform arbitrage.

Why DataFlirt

"Chairish hosts the internet's most curated index of vintage and antique furniture — a goldmine of pricing and style data, provided you can extract the metadata cleanly."

Extracting structured data from Chairish requires navigating deep category pagination, dynamic shipping calculators, and highly variable product schemas. Vintage items do not share the uniform structure of modern retail. We extract and normalise dimensions, materials, and eras into a unified schema, so your data team receives clean, queryable records.

Technical Spec

Chairish scraper — technical capabilities

Everything supported by our chairish.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

JavaScript rendering
Full Playwright sessions — required for shipping calculators and dynamic modules
Supported
Residential proxy rotation
ISP-grade residential IPs from US pools — rotated per request
Supported
Category pagination
Deep traversal of all sub-categories and style filters
Supported
Dealer storefront scraping
All active listings per dealer, sorted by any criterion
Supported
Change detection (diffs)
Hash-based diff: only emit records with changed fields since last run
Supported
Image URL extraction
Capture all high-resolution asset links per listing
Supported
Shipping calculator interaction
Extract baseline shipping parameters based on origin zip
Supported
User saved/favorited items
Requires authenticated buyer account session
Partial
Direct messaging with dealers
Private communications are gated behind authentication
Partial
Past purchase history
Historical transaction data is not public
Partial
Infrastructure

Infrastructure powering the Chairish pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles crawl orchestration, deduplication, and retry logic. Playwright handles JavaScript rendering and interaction flows for dynamic shipping modules.

Residential Proxy Infrastructure

We maintain pools of US residential ISP proxies. Rotation happens per-request to bypass rate limits on deep category pagination.

Cloud-Native Orchestration

Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting. All state stored in managed Postgres.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested — schema versioned per run
CSV
Flat file with typed columns — Excel/Sheets compatible
XLS
Excel format for non-technical analyst workflows
Parquet
Columnar format for BigQuery, Snowflake, Athena
AWS S3
Direct bucket delivery — compatible with any data lake
Webhook
HTTP POST per record for real-time downstream processing
API
REST endpoint to query your extracted datasets
BigQuery
Streamed directly into your dataset with schema auto-detect
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About chairish.com scraping, legality, and pipeline operations.

Ask us directly →
Is scraping Chairish legal?

Scraping publicly available information from Chairish is generally permissible under applicable law, reinforced by the hiQ v. LinkedIn ruling. DataFlirt targets only public, non-authenticated product, pricing, and dealer data. We do not extract personal user data or circumvent authentication walls.

How do you handle rate limits on category pages?

We use US-based residential ISP proxies and request timing modelled on human behaviour to paginate through deep category hierarchies without triggering rate limits or IP bans.

Can you extract high-resolution image URLs?

Yes. We extract the source URLs for all listing images, which can be used to download the assets directly for visual AI training or catalogue population.

How do you normalise dimensions across listings?

Vintage sellers often input dimensions in unstructured text formats. We extract the raw string and can apply post-processing regex to normalise height, width, and depth into structured numeric columns.

Can I track specific vintage dealers?

Yes. Provide a list of dealer profile URLs, and we will configure a pipeline to monitor their active inventory, capturing new arrivals and price changes on a daily or weekly cadence.

How fresh is the pricing data?

Full catalogue refreshes or targeted dealer tracking can be scheduled daily. Changes to list price, discount percentages, and Make an Offer status are captured during each run.

Do you support Make an Offer tracking?

Yes. We capture the boolean flag indicating whether a listing accepts offers, which is critical for understanding true market clearing prices versus listed prices.

$ dataflirt scope --new-project --source=chairish.com ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off export of mid-century modern seating or continuous tracking of top vintage dealers — we scope, build, and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Services

Data Extraction for Every Industry

View All Services →