# 1stDibs Scraper (`crawlerbros/1stdibs-scraper`) Actor

Scrape 1stDibs - the leading online marketplace for antique, vintage, and contemporary furniture, jewelry & watches, art, and fashion. Search by keyword or browse by category and get item details including price, seller, condition, and images.

- **URL**: https://apify.com/crawlerbros/1stdibs-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## 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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## 1stDibs Scraper

Extract item listings from [1stDibs](https://www.1stdibs.com) — the leading online marketplace for antique, vintage, and contemporary furniture, jewelry & watches, fine art, and fashion, curated from thousands of trusted dealers worldwide. Search by keyword or browse by category and retrieve price, seller, condition/period, designer, country, and images for every item. No login, proxy, or CAPTCHA required.

### What this actor does

- **Search by keyword** across all categories, or **browse by category** — 11 supported categories including Furniture, Jewelry & Watches, Art, and Fashion
- **Rich filtering** — price range and currency, period/era, style, material, place of origin, item location, gender, color, on-sale, returnable, top-seller, customizable, and Strategic Partner listings
- **Sort** results by best match, newest, or price (low-to-high / high-to-low)
- **Optional extended item details** — full description, condition, materials, place of origin, reference number, full photo gallery, and category-specific specs from each item's own product page
- **Automatic pagination** up to your chosen item limit
- Empty fields are omitted from each record — no null, empty string, or empty array fields

### Output per item

Each record represents one 1stDibs item.

| Field | Type | Description |
|---|---|---|
| `itemId` | string | 1stDibs internal item ID |
| `title` | string | Item title / description |
| `price` | number | Listed price, converted to the requested `currency` (falls back to USD if that item has no conversion on file) |
| `currency` | string | Currency the `price` field is denominated in |
| `discountPercent` | integer | Percent markdown off the original price, when the item is on sale (e.g. Saturday Sale, or scattered markdowns on regular listings) — omitted for full-price items |
| `category` | string | Item sub-category (e.g. "Chairs", "Wrist Watches") |
| `categoryCode` | string | 1stDibs internal category code |
| `vertical` | string | Top-level vertical (`furniture`, `jewelry`, `art`, `fashion`) |
| `creator` | string | Designer / manufacturer / brand, when documented |
| `period` | string | Era or creation date (e.g. "1960s", "Contemporary") |
| `sellerName` | string | Dealer / gallery name |
| `country` | string | Seller's country |
| `isSold` | boolean | Whether the item has already sold |
| `hasVideo` | boolean | Whether the listing includes a seller-uploaded video walkthrough |
| `dimensions` | string | Height/width/depth, when the dealer documents them — populated on every run, no `includeItemDetails` required (overwritten by a richer imperial+metric string when `includeItemDetails` is enabled) |
| `imageUrl` | string | Primary item image URL |
| `itemUrl` | string | Direct link to the item on 1stDibs |
| `images` | array | Full photo gallery for the item, in the dealer's own display order (only with `includeItemDetails: true`) |
| `description` | string | Full item description (only with `includeItemDetails: true`) |
| `condition` | string | Condition summary, e.g. "Good; Repaired. Wear consistent with age and use." (only with `includeItemDetails: true`) |
| `materials` | string | Materials and techniques, e.g. "Bentwood" (only with `includeItemDetails: true`) |
| `placeOfOrigin` | string | Country/region the item was made in (only with `includeItemDetails: true`) |
| `referenceNumber` | string | 1stDibs reference number (only with `includeItemDetails: true`) |
| `specifications` | object | Category-specific attributes the item documents — e.g. `ringSize`, `metal`, `stone`, `stoneCut` for jewelry, or `medium`, `movementAndStyle` for art (only with `includeItemDetails: true`, only present when the item documents such specs) |

#### Example record

```json
{
  "itemId": "f_45324912",
  "title": "Vintage Thonet Bentwood Oak Chair With Original Label, Czechoslovakia, 1920s",
  "price": 722.87,
  "currency": "USD",
  "category": "Chairs",
  "categoryCode": "F_SEA_CHA",
  "vertical": "furniture",
  "creator": "Thonet",
  "period": "1920s",
  "sellerName": "Designoza",
  "country": "Slovakia",
  "isSold": false,
  "imageUrl": "https://a.1stdibscdn.com/vintage-thonet-bentwood-oak-chair-with-original-label-czechoslovakia-1920s-for-sale/f_66252/f_453249121749125900002/f_45324912_1749125900305_bg_processed.jpg",
  "itemUrl": "https://www.1stdibs.com/furniture/seating/chairs/vintage-thonet-bentwood-oak-chair-original-label-czechoslovakia-1920s/id-f_45324912/"
}
```

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | select | `search` | `search` (keyword) or `browseCategory` |
| `keyword` | string | `rolex watch` | Search term (mode=search) — e.g. `rolex watch`, `mid century chair`, `oil painting` |
| `category` | select | `jewelry-watches` | Category to browse (mode=browseCategory) — see [Supported categories](#supported-categories) |
| `period` | select | – | Filter by era (mode=browseCategory only — see [Supported periods](#supported-periods)). Ignored for New Arrivals and Saturday Sale |
| `location` | select | – | Filter by seller/item location (mode=browseCategory only — see [Supported locations](#supported-locations)). Not supported for New Arrivals or Saturday Sale |
| `style` | select | – | Filter by design style (mode=browseCategory only — see [Supported styles](#supported-styles)). Only applies to Furniture, Jewelry & Watches, and Art categories |
| `material` | select | – | Filter by material (mode=browseCategory only — see [Supported materials](#supported-materials)). Only applies to Furniture and Art |
| `origin` | select | – | Filter by place of origin (search and browseCategory modes — see [Supported origins](#supported-origins)). In browseCategory mode only applies to Furniture and Fashion |
| `gender` | select | – | Filter by gender — `mens` / `womens` (mode=browseCategory only). Only applies to Jewelry, Jewelry & Watches, Fashion, and Fashion — Handbags |
| `color` | select | – | Filter by item color — see [Supported colors](#supported-colors). Works in both modes |
| `onSaleOnly` | boolean | `false` | Only return items with a live markdown |
| `returnableOnly` | boolean | `false` | Only return items eligible for free returns |
| `topSellerOnly` | boolean | `false` | Only return items from 1stDibs-designated Top Seller storefronts |
| `customizableOnly` | boolean | `false` | Only return items available made-to-order or customizable on request |
| `strategicPartnerOnly` | boolean | `false` | Only return items from 1stDibs-designated Strategic Partner storefronts |
| `sortBy` | select | `relevance` | `relevance` / `newest` / `price-low` / `price-high` |
| `minPrice` | integer | – | Minimum item price, in the selected currency |
| `maxPrice` | integer | – | Maximum item price, in the selected currency |
| `currency` | select | `USD` | Currency to report prices in — `USD` / `EUR` / `GBP` / `CAD` / `AUD` / `CHF` / `MXN` / `DKK` / `SEK` / `NOK` |
| `maxItems` | integer | `60` | Maximum number of items to return (1–5000) |
| `includeItemDetails` | boolean | `false` | Fetch each item's product page for extended fields (description, condition, materials, place of origin, reference number, full photo gallery, specifications). Roughly doubles requests and run time |

Filter combination notes: `period`, `style`, `material`, `location`, `origin`, and `gender` are each 1stDibs facets exposed as URL path segments in Browse by category mode, and the site only supports one such segment at a time — when more than one is set, this actor applies `gender` first (if set), otherwise `period`, then `style`, then `material`, then `origin`, then `location`, and ignores the rest, rather than silently return results that don't honor every requested filter. `color`, `onSaleOnly`, `returnableOnly`, `topSellerOnly`, `customizableOnly`, and `strategicPartnerOnly` are plain query filters and freely combine with everything and each other. Each select-type filter is also only supported for certain categories (see the tables below) — an unsupported combination is ignored rather than silently broadening the result set.

#### Supported categories

| Value | Label |
|---|---|
| `new-arrivals` | New Arrivals |
| `furniture` | Furniture |
| `furniture-seating` | Furniture — Seating |
| `furniture-lighting` | Furniture — Lighting |
| `furniture-tables` | Furniture — Tables |
| `art` | Art |
| `jewelry` | Jewelry |
| `jewelry-watches` | Jewelry — Watches |
| `fashion` | Fashion |
| `fashion-handbags` | Fashion — Handbags |
| `sale` | Saturday Sale |

#### Supported periods

| Value | Label |
|---|---|
| `18th-century-and-earlier` | 18th Century and Earlier |
| `18th-century` | 18th Century |
| `19th-century` | 19th Century |
| `early-1900s` | Early 1900s |
| `early-20th-century` | Early 20th Century |
| `1910s` – `1990s` | 1910s, 1920s, ..., 1990s |
| `mid-20th-century` | Mid-20th Century |
| `late-20th-century` | Late 20th Century |
| `20th-century` | 20th Century |
| `21st-century-and-contemporary` | 21st Century and Contemporary |

#### Supported styles

Applies to Furniture (and its Seating/Lighting/Tables subcategories), Jewelry & Watches (and Jewelry), and Art. Each category only supports a subset of the full list below.

| Category group | Supported styles |
|---|---|
| Furniture | Art Deco, Art Nouveau, Arts and Crafts, Baroque, Empire, Folk Art, Georgian, Hollywood Regency, Industrial, Louis XV, Louis XVI, Mid-Century Modern, Minimalist, Modern, Neoclassical, Regency, Rococo, Rustic, Scandinavian Modern, Victorian |
| Jewelry & Watches | Art Deco, Art Nouveau, Artisan, Baroque, Contemporary, Edwardian, Modern, Native American, Retro, Revival, Victorian |
| Art | Abstract, Abstract Expressionist, Art Deco, Color Field, Contemporary, Expressionist, Impressionist, Minimalist, Modern, Old Masters, Photorealist, Pop Art, Post-Impressionist, Post-War, Realist, Street Art, Surrealist |

#### Supported locations

| Value | Label |
|---|---|
| `europe` | Europe |
| `usa-north-america` | USA |
| `canada-north-america` | Canada |
| `asia` | Asia |
| `australia` | Australia |
| `united-kingdom-europe` | United Kingdom |
| `france-europe` | France |
| `italy-europe` | Italy |
| `germany-europe` | Germany |
| `spain-europe` | Spain |
| `switzerland-europe` | Switzerland |
| `netherlands-europe` | Netherlands |
| `belgium-europe` | Belgium |
| `denmark-europe` | Denmark |
| `sweden-europe` | Sweden |

#### Supported materials

Applies to Furniture (and its Seating/Lighting/Tables subcategories) and Art. Each category only supports a subset of the full list below.

| Category group | Supported materials |
|---|---|
| Furniture | Acrylic, Animal Skin, Bamboo, Brass, Bronze, Ceramic, Chrome, Cotton, Crystal, Fabric, Glass, Gold, Hardwood, Iron, Leather, Linen, Marble, Metal, Plastic, Porcelain, Rattan, Silk, Silver, Steel, Stone, Velvet, Wicker, Wood |
| Art | Bronze, Canvas, Ceramic, Fabric, Ink, Marble, Oil Paint, Paint, Paper, Photography, Print, Watercolor, Wood |

#### Supported origins

Works in search mode (any category) and, in browseCategory mode, applies to Furniture (and its Seating/Lighting/Tables subcategories) and Fashion (and Fashion — Handbags).

| Value | Label |
|---|---|
| `european` | Europe |
| `italian` | Italy |
| `asian` | Asia |
| `north-american` | North America |
| `french` | France |
| `american` | United States |
| `scandinavian` | Scandinavia |
| `danish` | Denmark |

#### Supported colors

Works in search mode (any category) and, in browseCategory mode, applies to Furniture (and its Seating/Lighting/Tables subcategories), Art, and Fashion (and Fashion — Handbags).

Beige, Black, Blue, Brown, Gold, Gray, Green, Orange, Pink, Purple, Red, Silver, White, Yellow

#### Example: search for Rolex watches

```json
{
  "mode": "search",
  "keyword": "rolex watch",
  "maxItems": 60
}
```

#### Example: browse mid-century furniture, newest first, under $5,000

```json
{
  "mode": "browseCategory",
  "category": "furniture-seating",
  "sortBy": "newest",
  "maxPrice": 5000,
  "maxItems": 100
}
```

#### Example: browse Art Deco furniture with extended details

```json
{
  "mode": "browseCategory",
  "category": "furniture",
  "style": "art-deco",
  "includeItemDetails": true,
  "maxItems": 60
}
```

#### Example: search for blue chairs priced in Euros

```json
{
  "mode": "search",
  "keyword": "chair",
  "color": "blue",
  "currency": "EUR",
  "maxPrice": 5000,
  "maxItems": 60
}
```

### Use cases

- **Antique & vintage dealers** — track competitor pricing and inventory across furniture, jewelry, art, and fashion
- **Interior designers** — source period-accurate furniture and decor filtered by style, era, and material
- **Price monitoring & market research** — build price benchmarks for a category or designer over time
- **E-commerce catalog enrichment** — pull structured listing data (price, dimensions, condition, images) into your own catalog
- **Collectors & appraisers** — research comparable sales for watches, jewelry, and fine art
- **Trend analysis** — spot which styles, periods, or materials are trending by sale volume and pricing

### FAQ

**How many items are available on 1stDibs?**
1stDibs lists millions of items across furniture, jewelry & watches, art, and fashion from thousands of vetted dealers worldwide. A single category like Furniture can return over a million items.

**Do I need an account or API key?**
No. The scraper accesses publicly available search and category pages without authentication, proxy, or cookies.

**What currency are prices in?**
USD by default. Set `currency` to `EUR`, `GBP`, `CAD`, `AUD`, `CHF`, `MXN`, `DKK`, `SEK`, or `NOK` to get prices in that currency instead, using 1stDibs' own server-computed conversion for each item.

**What is the price range filter for?**
Use `minPrice` and `maxPrice` to focus on items within your budget, in the currency you selected.

**Why isn't every field always present?**
Not every item is documented with a creator, period, or seller country by the dealer. Only fields with real, verified data are included in each record — never blank placeholders.

**What does `includeItemDetails` add?**
It fetches each item's own product page for a fuller description, condition report, materials, place of origin, reference number, complete photo gallery, and category-specific specifications (e.g. ring size for jewelry, medium for art). This is optional because it roughly doubles the number of requests and the run time.

**Can I combine multiple category filters like period, style, and location at once?**
Some can — `color` and the on-sale/returnable/top-seller/customizable/Strategic-Partner toggles freely combine with everything. `period`, `style`, `material`, `location`, `origin`, and `gender`, however, are mutually exclusive facets on 1stDibs' own category pages, so only one of them is applied per run; see the Input table above for the precedence order.

**Are sold items included?**
Yes, sold items can appear in results and are flagged with `isSold: true` so you can filter them out downstream if you only want active listings.

**Is this an official 1stDibs product?**
No, this is a third-party actor that reads 1stDibs' publicly available search and category pages.

# Actor input Schema

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

What to scrape.

## `keyword` (type: `string`):

Search term — e.g. rolex watch, mid century chair, oil painting.

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

Category to browse.

## `period` (type: `string`):

Filter by era, using 1stDibs' own facet taxonomy. Only applies in Browse by category mode against categories that support it (all except New Arrivals and Saturday Sale, where it's ignored). Cannot be combined with `style`, `material`, or `origin` in Browse by category mode (the site drops the filters when combined as path segments) — if any of those are also set, they're ignored in favor of `period`.

## `location` (type: `string`):

Filter by seller/item location, using 1stDibs' own "Item Ships From" facet. Browse by category mode only — ignored in Search mode. Not supported for the New Arrivals or Saturday Sale categories (ignored there). Cannot be combined with `period`, `style`, `material`, or `origin` in Browse by category mode (the site drops the filters when combined as path segments) — if any of those are also set, `location` is ignored in favor of it.

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

Filter by design style, using 1stDibs' own facet taxonomy. Only applies in Browse by category mode against Furniture, Jewelry & Watches, and Art categories (and their subcategories) — ignored for New Arrivals, Saturday Sale, Fashion, and Fashion — Handbags, which don't support it. Not every style applies to every category (e.g. Louis XV is furniture-only, Edwardian is jewelry-only, Abstract is art-only) — if the chosen style doesn't apply to the chosen category, it's ignored. Cannot be combined with `period` or `origin` in Browse by category mode (the site drops both filters when combined as path segments) — if either is also set, `style` is ignored in favor of it. Cannot be combined with `location` either — if both are set, `style` wins.

## `material` (type: `string`):

Filter by material, using 1stDibs' own facet taxonomy. Only applies in Browse by category mode against Furniture (and its subcategories) and Art — ignored for New Arrivals, Saturday Sale, Jewelry & Watches, and Fashion, which don't support it. Not every material applies to every category. Cannot be combined with `period`, `style`, or `origin` in Browse by category mode (the site drops the whole category scope when combined as path segments) — if any of those are also set, `material` is ignored. Cannot be combined with `location` either — if both are set, `material` wins.

## `origin` (type: `string`):

Filter by the item's country/region of manufacture, using 1stDibs' own "Place of Origin" facet — distinct from `location`, which is where the seller ships from. Applies in both Search and Browse by category modes. In Browse by category mode only Furniture (and its Seating/Lighting/Tables subcategories) and Fashion (and Fashion — Handbags) support it — ignored for New Arrivals, Jewelry, Jewelry & Watches, Art, and Saturday Sale, which don't. Cannot be combined with `period`, `style`, or `material` in Browse by category mode (the site drops the whole category scope when combined as path segments) — if any of those are also set, `origin` is ignored. Cannot be combined with `location` either — if both are set, `origin` wins. Cannot be combined with `gender` — if both are set, `gender` wins.

## `gender` (type: `string`):

Filter by gender, using 1stDibs' own facet taxonomy. Only applies in Browse by category mode against Jewelry, Jewelry — Watches, Fashion, and Fashion — Handbags — ignored for New Arrivals, Furniture, Art, and Saturday Sale, which don't support it. Cannot be combined with `period`, `location`, `style`, `material`, or `origin` in Browse by category mode (the site 404s or drops the whole category scope when combined as path segments) — if any of those are also set, they're ignored in favor of `gender`.

## `color` (type: `string`):

Filter by item color, using 1stDibs' own facet taxonomy. Applies in both Search and Browse by category modes. In Browse by category mode only Furniture (and its Seating/Lighting/Tables subcategories), Art, and Fashion (and Fashion — Handbags) support it — ignored for New Arrivals, Jewelry, Jewelry — Watches, and Saturday Sale, which don't. Unlike period/location/style/material/gender, color is a plain query filter and can be freely combined with any of them.

## `onSaleOnly` (type: `boolean`):

Only return items with a live markdown (1stDibs' own "On Sale" facet). Applies in both Search and Browse by category modes and freely combines with every other filter — except the New Arrivals category, which doesn't support it (ignored there).

## `returnableOnly` (type: `boolean`):

Only return items eligible for free returns (1stDibs' own "Returnable" facet). Applies in both Search and Browse by category modes, against every category (including New Arrivals and Saturday Sale), and freely combines with every other filter.

## `topSellerOnly` (type: `boolean`):

Only return items from 1stDibs-designated Top Seller storefronts (1stDibs' own "Top Seller Listings" facet). Applies in both Search and Browse by category modes, against every category (including New Arrivals and Saturday Sale), and freely combines with every other filter.

## `customizableOnly` (type: `boolean`):

Only return items 1stDibs marks as available made-to-order or customizable on request (the site's own "Customizable Items Only" facet). Applies in both Search and Browse by category modes and freely combines with every other filter — except the Art, Fashion, and Fashion — Handbags categories, which don't support it (ignored there).

## `strategicPartnerOnly` (type: `boolean`):

Only return items from 1stDibs-designated Strategic Partner storefronts (the site's own "Strategic Partner Listings" facet). Applies in both Search and Browse by category modes and freely combines with every other filter — except the New Arrivals, Art, Fashion, and Fashion — Handbags categories, which don't support it (ignored there).

## `sortBy` (type: `string`):

Result ordering.

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

Filter: minimum item price, in the currency selected below.

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

Filter: maximum item price, in the currency selected below.

## `currency` (type: `string`):

Currency to report item prices in (and to apply minPrice/maxPrice against). 1stDibs pre-computes these conversions server-side; if a specific item doesn't carry a conversion for the chosen currency its price falls back to USD.

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

Maximum number of items to return.

## `includeItemDetails` (type: `boolean`):

Fetch each item's own product page for additional fields: full description, condition, dimensions, materials, place of origin, reference number, full photo gallery, and category-specific specs (e.g. ring size, metal, stone, medium). Roughly doubles the number of requests and increases run time.

## Actor input object example

```json
{
  "mode": "search",
  "keyword": "rolex watch",
  "category": "jewelry-watches",
  "period": "",
  "location": "",
  "style": "",
  "material": "",
  "origin": "",
  "gender": "",
  "color": "",
  "onSaleOnly": false,
  "returnableOnly": false,
  "topSellerOnly": false,
  "customizableOnly": false,
  "strategicPartnerOnly": false,
  "sortBy": "relevance",
  "currency": "USD",
  "maxItems": 60,
  "includeItemDetails": false
}
```

# Actor output Schema

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

Dataset containing all scraped 1stDibs 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": "search",
    "keyword": "rolex watch",
    "category": "jewelry-watches",
    "period": "",
    "location": "",
    "style": "",
    "material": "",
    "origin": "",
    "gender": "",
    "color": "",
    "onSaleOnly": false,
    "returnableOnly": false,
    "topSellerOnly": false,
    "customizableOnly": false,
    "strategicPartnerOnly": false,
    "sortBy": "relevance",
    "currency": "USD",
    "maxItems": 60,
    "includeItemDetails": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/1stdibs-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": "search",
    "keyword": "rolex watch",
    "category": "jewelry-watches",
    "period": "",
    "location": "",
    "style": "",
    "material": "",
    "origin": "",
    "gender": "",
    "color": "",
    "onSaleOnly": False,
    "returnableOnly": False,
    "topSellerOnly": False,
    "customizableOnly": False,
    "strategicPartnerOnly": False,
    "sortBy": "relevance",
    "currency": "USD",
    "maxItems": 60,
    "includeItemDetails": False,
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": "search",
  "keyword": "rolex watch",
  "category": "jewelry-watches",
  "period": "",
  "location": "",
  "style": "",
  "material": "",
  "origin": "",
  "gender": "",
  "color": "",
  "onSaleOnly": false,
  "returnableOnly": false,
  "topSellerOnly": false,
  "customizableOnly": false,
  "strategicPartnerOnly": false,
  "sortBy": "relevance",
  "currency": "USD",
  "maxItems": 60,
  "includeItemDetails": false
}' |
apify call crawlerbros/1stdibs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crawlerbros/1stdibs-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/f9v8O86ACjIEQqOjV/builds/vtSIvf7NrS0oD1TBe/openapi.json
