# Chairish Scraper (`crawlerbros/chairish-scraper`) Actor

Scrape Chairish - vintage furniture, art, rugs, lighting, and home décor marketplace. Search by keyword, category, style and price, or fetch specific listings by product slug.

- **URL**: https://apify.com/crawlerbros/chairish-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 4 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Chairish Scraper

Scrape **Chairish** — the curated vintage and antique furniture, art, rugs, lighting, and home décor marketplace — without any API keys or authentication. Extract rich product data including title, brand, price, seller, photos, dimensions, materials, condition, design style, and era.

### What is Chairish?

[Chairish](https://www.chairish.com/) is a leading online marketplace for pre-owned and vintage home décor, furniture, art, rugs, and lighting. It features millions of pieces from professional dealers and individual sellers, with a focus on designer, vintage, and antique items.

### Features

- **Search by keyword** — find any vintage item by name, style, or description keyword
- **Browse by category** — Furniture, Lighting, Rugs, Art, Mirrors, Decor, Outdoor, Textiles, Jewelry, Fashion, Collectibles
- **Filter by design style** — Mid-Century Modern, Art Deco, Industrial, Bohemian, Victorian, etc.
- **Filter by condition** — New/Never Used, Like New, Excellent, Very Good, Good, Fair
- **Price range filtering** — set min/max price in USD
- **Fetch by slug** — retrieve specific listings by product ID or full URL
- **Seller info** — name and profile link
- **Dimensions** — width, height, depth in inches
- **Materials** — extracted from structured product data

### Input

| Parameter | Type | Description |
|-----------|------|-------------|
| `mode` | Select | `searchProducts` or `getBySlug` (required) |
| `query` | String | Keyword search (e.g. "mid century chair", "art deco lamp") |
| `category` | Select | Filter by product category |
| `style` | Select | Filter by design style (Mid-Century Modern, Art Deco, etc.) |
| `condition` | Select | Filter by item condition |
| `minPrice` | Integer | Minimum price in USD |
| `maxPrice` | Integer | Maximum price in USD |
| `slugs` | Array | Product slugs or full URLs for `getBySlug` mode |
| `maxItems` | Integer | Maximum records to return (default 100) |

### Output

Each record contains:

```json
{
  "id": "484040",
  "slug": "484040/1980s-jean-negulusco-abstract-work-on-paper-signed",
  "title": "1980s Jean Negulusco Abstract Work on Paper, Signed",
  "description": "Striking graphic original work by Jean Negulesco (1900-1993).",
  "brand": "Jean Negulesco",
  "category": "Paintings",
  "condition": "Good",
  "price": 1450.00,
  "currency": "USD",
  "isAvailable": true,
  "sellerName": "SURPLUS",
  "sellerUrl": "https://www.chairish.com/shop/...",
  "color": "Black",
  "materials": ["Paper", "Wood"],
  "styles": ["Abstract", "Abstract Expressionism"],
  "era": "1980s",
  "dimensions": {
    "widthInches": 31.75,
    "heightInches": 43.75,
    "depthInches": 1.0
  },
  "photos": [
    "https://chairish-prod.freetls.fastly.net/image/product/sized/..."
  ],
  "productUrl": "https://www.chairish.com/product/484040/...",
  "sourceUrl": "https://www.chairish.com/product/484040/...",
  "recordType": "vintageItem",
  "scrapedAt": "2026-05-30T12:00:00+00:00"
}
````

### Use Cases

- **Interior design research** — find vintage pieces matching specific styles, eras, and materials
- **Market research** — analyze pricing trends for antique and vintage categories
- **Seller monitoring** — track inventory from specific Chairish dealers
- **Investment analysis** — monitor resale values for collectibles and antiques
- **Trend analysis** — identify popular design styles and emerging categories

### FAQ

**Does this require an API key?**
No. Chairish product pages expose structured data (schema.org JSON-LD) that is publicly accessible. No authentication required.

**How does the search work?**
The scraper uses Chairish's public product sitemaps to discover listings, then fetches each product page to extract structured JSON-LD data. This ensures reliable data extraction without relying on private APIs.

**What categories does Chairish have?**
Furniture, Lighting, Rugs, Art, Mirrors, Decor, Outdoor & Garden, Textiles, Jewelry, Fashion, and Collectibles.

**What design styles can I filter by?**
Mid-Century Modern, Art Deco, Industrial, Bohemian, Traditional, Modern, Transitional, Victorian, Regency, French Country, Coastal, Rustic, Scandinavian, Hollywood Regency, and Chinoiserie.

**How many items can I scrape?**
Up to 10,000 items per run. Set `maxItems` to control the limit.

**Are sold items included?**
The `isAvailable` field indicates availability. Set `condition` filters to narrow results.

### Data Source

Data is sourced from Chairish's public product pages at `www.chairish.com` via their XML sitemaps and schema.org structured data (JSON-LD). No authentication, cookies, or proxies are required.

# Actor input Schema

## `mode` (type: `string`):

Operation mode: search for products or fetch specific products by slug.

## `query` (type: `string`):

Keyword search query (mode=searchProducts). E.g. 'mid century chair', 'art deco lamp'.

## `category` (type: `string`):

Browse by Chairish category (mode=searchProducts).

## `style` (type: `string`):

Filter by design style.

## `condition` (type: `string`):

Filter by item condition.

## `minPrice` (type: `integer`):

Only include items priced at or above this value.

## `maxPrice` (type: `integer`):

Only include items priced at or below this value.

## `slugs` (type: `array`):

List of Chairish product slugs or full URLs. E.g. '191661/antique-colonial-williamsburg-style-candle-chandelier' or 'https://www.chairish.com/product/191661/...'.

## `maxItems` (type: `integer`):

Maximum number of items to return.

## `proxyConfiguration` (type: `object`):

Optional proxy settings. The actor automatically uses Apify's free datacenter proxy (AUTO group). Provide custom settings if you need a different proxy.

## Actor input object example

```json
{
  "mode": "searchProducts",
  "query": "mid century chair",
  "category": "",
  "style": "",
  "condition": "",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `items` (type: `string`):

Dataset containing all scraped Chairish vintage and antique items.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "searchProducts",
    "query": "mid century chair",
    "category": "",
    "style": "",
    "condition": "",
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/chairish-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "searchProducts",
    "query": "mid century chair",
    "category": "",
    "style": "",
    "condition": "",
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/chairish-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "searchProducts",
  "query": "mid century chair",
  "category": "",
  "style": "",
  "condition": "",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call crawlerbros/chairish-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/chairish-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Chairish Scraper",
        "description": "Scrape Chairish - vintage furniture, art, rugs, lighting, and home décor marketplace. Search by keyword, category, style and price, or fetch specific listings by product slug.",
        "version": "1.0",
        "x-build-id": "mBP5LcEvBFdcAdDud"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~chairish-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-chairish-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~chairish-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-chairish-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~chairish-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-chairish-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "searchProducts",
                            "getBySlug"
                        ],
                        "type": "string",
                        "description": "Operation mode: search for products or fetch specific products by slug.",
                        "default": "searchProducts"
                    },
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Keyword search query (mode=searchProducts). E.g. 'mid century chair', 'art deco lamp'."
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "",
                            "furniture",
                            "lighting",
                            "rugs",
                            "art",
                            "mirrors",
                            "decor",
                            "outdoor-and-garden",
                            "textiles",
                            "jewelry",
                            "fashion",
                            "collectibles"
                        ],
                        "type": "string",
                        "description": "Browse by Chairish category (mode=searchProducts).",
                        "default": ""
                    },
                    "style": {
                        "title": "Style",
                        "enum": [
                            "",
                            "mid-century-modern",
                            "art-deco",
                            "industrial",
                            "bohemian",
                            "traditional",
                            "modern",
                            "transitional",
                            "victorian",
                            "regency",
                            "french-country",
                            "coastal",
                            "rustic",
                            "scandinavian",
                            "hollywood-regency",
                            "chinoiserie"
                        ],
                        "type": "string",
                        "description": "Filter by design style.",
                        "default": ""
                    },
                    "condition": {
                        "title": "Condition",
                        "enum": [
                            "",
                            "New/Never Used",
                            "Like New",
                            "Excellent",
                            "Very Good",
                            "Good",
                            "Fair"
                        ],
                        "type": "string",
                        "description": "Filter by item condition.",
                        "default": ""
                    },
                    "minPrice": {
                        "title": "Min price (USD)",
                        "minimum": 0,
                        "maximum": 10000000,
                        "type": "integer",
                        "description": "Only include items priced at or above this value."
                    },
                    "maxPrice": {
                        "title": "Max price (USD)",
                        "minimum": 0,
                        "maximum": 10000000,
                        "type": "integer",
                        "description": "Only include items priced at or below this value."
                    },
                    "slugs": {
                        "title": "Product slugs (mode=getBySlug)",
                        "type": "array",
                        "description": "List of Chairish product slugs or full URLs. E.g. '191661/antique-colonial-williamsburg-style-candle-chandelier' or 'https://www.chairish.com/product/191661/...'.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of items to return.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional proxy settings. The actor automatically uses Apify's free datacenter proxy (AUTO group). Provide custom settings if you need a different proxy.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
