· 17 min read
1stDibs Scraper: 24 Data Fields, Up to 1,000 Free Results/Month (2026)
Each record carries 24 output fields, providing price, seller, creator, and period data for high-end marketplace items. Every 1,000 results costs $5.00 on the free-plan price, and Apify's free plan includes $5.00 of monthly usage, covering up to 1,000 results of this Actor. This Actor suits those needing structured marketplace data; it is not for those needing private buyer contact details, which the records do not include.
Try it: open 1stDibs Scraper on Apify, sign in on the free plan and run the prefilled example.
Can you try 1stDibs Scraper before paying?
Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of 1stDibs Scraper a month, before run-start charges and platform usage.
1stDibs Scraper was last updated on 2026-08-10. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 700,550 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.
What does it cost to run 1stDibs Scraper?
Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.005 | $5.00 |
| BRONZE | $0.00433 | $4.33 |
| SILVER | $0.00367 | $3.67 |
| GOLD | $0.003 | $3.00 |
| PLATINUM | $0.003 | $3.00 |
| DIAMOND | $0.003 | $3.00 |
The maxItems control directly affects your bill as per-result charges apply to each item written to the dataset. To manage costs, set includeItemDetails to false for initial runs and use a small item cap to reduce result count and platform usage until your configuration is verified.
How do you run 1stDibs Scraper from the API?
The schema marks 1 of its 21 controls as required: mode. The payload below uses the schema's own prefilled values, so it runs as written once you substitute your API token.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~1stdibs-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"search"}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search"
}
run = client.actor("crawlerbros~1stdibs-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"mode": "search"
}
const run = await client.actor('crawlerbros~1stdibs-scraper').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
The synchronous endpoint holds the connection open until the run finishes, which is convenient for small batches and wrong for large ones. For anything long running, start the run asynchronously and poll, or attach a webhook, so a dropped connection does not cost you the results.
Which 1stDibs Scraper inputs matter, and which can you skip?
The mode control, which determines whether you search by keyword or browse a category, is a required setting. Most users should start by setting only the mode, keyword or category, and maxItems. For a first run, leave other facet filters like period or style blank to observe the broad category results.
mode(string): What to scrape. Default:"search".keyword(string): Search term - e.g. rolex watch, mid century chair, oil painting. Default:"rolex watch".category(string): Category to browse. Default:"jewelry-watches".period(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 withstyle,material, ororiginin 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 ofperiod. Default:"".location(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 withperiod,style,material, ororiginin Browse by category mode (the site drops the filters when combined as path segments) - if any of those are also set,locationis ignored in favor of it. Default:"".style(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 withperiodororiginin Browse by category mode (the site drops both filters when combined as path segments) - if either is also set,styleis ignored in favor of it. Cannot be combined withlocationeither - if both are set,stylewins. Default:"".material(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 withperiod,style, ororiginin Browse by category mode (the site drops the whole category scope when combined as path segments) - if any of those are also set,materialis ignored. Cannot be combined withlocationeither - if both are set,materialwins. Default:"".origin(string): Filter by the item's country/region of manufacture, using 1stDibs' own "Place of Origin" facet - distinct fromlocation, 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 withperiod,style, ormaterialin Browse by category mode (the site drops the whole category scope when combined as path segments) - if any of those are also set,originis ignored. Cannot be combined withlocationeither - if both are set,originwins. Cannot be combined withgender- if both are set,genderwins. Default:"".gender(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 withperiod,location,style,material, ororiginin 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 ofgender. Default:"".color(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. Default:"".onSaleOnly(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). Default:false.returnableOnly(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. Default:false.
The other 9 controls, with their defaults, are listed in the input schema on 1stDibs Scraper on Apify.
Fixed-choice controls: mode accepts search (Search by keyword), browseCategory (Browse by category); category accepts 11 values (default jewelry-watches), including jewelry-watches (Jewelry - Watches), new-arrivals (New Arrivals), furniture, furniture-seating (Furniture - Seating); period accepts 19 values (default ""), including "" (Any period), 18th-century-and-earlier (18th Century and Earlier), 18th-century (18th Century), 19th-century (19th Century); location accepts 16 values (default ""), including "" (Any location), europe, usa-north-america (USA), canada-north-america (Canada); style accepts 40 values (default ""), including "" (Any style), abstract, abstract-expressionist (Abstract Expressionist), art-deco (Art Deco); material accepts 37 values (default ""), including "" (Any material), acrylic, animal-skin (Animal Skin), bamboo; origin accepts 9 values (default ""), including "" (Any origin), european (Europe), italian (Italy), asian (Asia); gender accepts "" (Any gender), mens (Men's), womens (Women's); color accepts 15 values (default ""), including "" (Any color), beige, black, blue.
What does 1stDibs Scraper return?
The returned records are suitable for inventory tracking and catalog enrichment, including specific fields like the creator and itemUrl.
itemId: string - 1stDibs internal item IDtitle: string - Item title / descriptionprice: number - Listed price, converted to the requestedcurrency(falls back to USD if that item has no conversion on file)currency: string - Currency thepricefield is denominated indiscountPercent: 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 itemscategory: string - Item sub-category (e.g. "Chairs", "Wrist Watches")categoryCode: string - 1stDibs internal category codevertical: string - Top-level vertical (furniture,jewelry,art,fashion)creator: string - Designer / manufacturer / brand, when documentedperiod: string - Era or creation date (e.g. "1960s", "Contemporary")sellerName: string - Dealer / gallery namecountry: string - Seller's countryisSold: boolean - Whether the item has already soldhasVideo: boolean - Whether the listing includes a seller-uploaded video walkthroughdimensions: string - Height/width/depth, when the dealer documents them - populated on every run, noincludeItemDetailsrequired (overwritten by a richer imperial+metric string whenincludeItemDetailsis enabled)imageUrl: string - Primary item image URLitemUrl: string - Direct link to the item on 1stDibsimages: array - Full photo gallery for the item, in the dealer's own display order (only withincludeItemDetails: true)description: string - Full item description (only withincludeItemDetails: true)condition: string - Condition summary, e.g. "Good; Repaired. Wear consistent with age and use." (only withincludeItemDetails: true)materials: string - Materials and techniques, e.g. "Bentwood" (only withincludeItemDetails: true)placeOfOrigin: string - Country/region the item was made in (only withincludeItemDetails: true)referenceNumber: string - 1stDibs reference number (only withincludeItemDetails: true)specifications: object - Category-specific attributes the item documents - e.g.ringSize,metal,stone,stoneCutfor jewelry, ormedium,movementAndStylefor art (only withincludeItemDetails: true, only present when the item documents such specs)
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open 1stDibs Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Set mode to browseCategory and choose furniture-seating to ensure the category-specific facets are available.
- Set currency to USD or EUR and verify that the price and currency fields in the output match your selection.
- Toggle includeItemDetails to true if your deliverable requires the full description and the specifications object.
- Select a single facet like period set to mid-20th-century rather than combining it with style to avoid the site dropping filters.
- Run an initial test with maxItems set to 10 to inspect the dimensions field and ensure it meets your formatting needs.
- Check the isSold boolean in the initial results to determine if you need to filter out historical sales.
- Input a specific keyword like rolex watch while in search mode if you are targeting specific models instead of browsing.
- Increase maxItems up to 5000 for a full production run once the data structure is verified.
How do you apply it? Three worked playbooks
These are 1stDibs Scraper's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Antique & vintage dealers
Outcome: Track competitor pricing and inventory across furniture, jewelry, art, and fashion
Configure: mode: "browseCategory", category: "furniture", sortBy: "newest", includeItemDetails: true
Working method: Execute a category browse for furniture sorted by newest to identify recent inventory from other galleries. Compare the sellerName and price fields against your internal benchmarks to track market movement. Review the condition field in the extended data to ensure price comparisons are based on similar item quality.
Deliverable: A competitor dataset featuring pricing, dealer names, and item condition reports.
Stop condition: The run returns zero items for a category known to have high daily turnover.
Use case 2: Interior designers
Outcome: Source period-accurate furniture and decor filtered by style, era, and material
Configure: mode: "browseCategory", category: "furniture-lighting", period: "1960s", includeItemDetails: true
Working method: Browse a specific sub-category like furniture-lighting while setting the period to a decade like 1920s or 1960s. Use the dimensions field in the extended details to verify that the item fits specific spatial requirements. Collate the images array from the dataset to build a visual mood board for client approval.
Deliverable: A spreadsheet of sourced items with physical dimensions and high-resolution image links.
Stop condition: The period field in the output records does not match the requested decade facet.
Use case 3: E-commerce catalog enrichment
Outcome: Pull structured listing data (price, dimensions, condition, images) into your own catalog
Configure: mode: "search", keyword: "cartier tank", includeItemDetails: true, maxItems: 100
Working method: Search for specific models like cartier tank to gather uniform listing data across different sellers. Extract the referenceNumber and specifications object to map into your internal inventory management system. Use the full description field to populate local product pages with authentic historical context.
Deliverable: A CSV file containing reference numbers, detailed specifications, and full photo galleries.
Stop condition: The referenceNumber field is omitted from more than 40 percent of the results.
What breaks, and how do you design around it?
If you reach the 5,000-item return limit for maxItems, consider breaking your task into multiple runs by using different minPrice and maxPrice ranges. When multiple mutually exclusive filters (period, style, material, location, origin, gender) are set in Browse by category mode, the Actor applies one based on precedence: gender, then period, then style, then material, then origin, then location, ignoring the others.
When should you not use 1stDibs Scraper?
Do not use this Actor if you need to aggregate multiple antique sites in one execution. If your primary need is a different interface for high-end items, 1stDibs Luxury Antiques Scraper is a related alternative. For sourcing from other marketplaces, Pamono Vintage & Antique Design Scraper or Chairish Furniture Scraper cover inventory this Actor cannot reach. If your research is specific to the Danish market, DBA.dk Scraper is better for local second-hand listings. Use this Actor only when 1stDibs is the required source for vetted dealer inventory.
What should you check before trusting the output?
- Verify that the price field is a number and matches the denomination in the currency field.
- Ensure description and images array are present only when includeItemDetails is set to true.
- Check the specifications object for non-null values like ringSize when scraping the jewelry category.
- Filter the dataset by isSold if your application requires real-time inventory only.
- Confirm that the creator field is populated if you are targeting specific designers or brands.
- Monitor the total record count and alert if a run returns zero items for a broad category like art.
None of this proves a record is correct. It gives a scheduled 1stDibs Scraper run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the cost per result for the 1stDibs Scraper?
The free-plan price is $0.005 per result, which comes to $5.00 per 1,000 results. Apify also bills for the platform usage consumed during the run. Note that the run-start fee is charged every time a run starts, whether or not it returns results, while the per-result charge applies only to items written to your dataset.
How can I test this Actor before committing to a paid plan?
Apify's free plan includes $5.00 of monthly usage with no credit card. This covers up to 1,000 results of this Actor at the standard rate. You can use this to run small batches and verify that fields like specifications and creator meet your requirements before scaling up your data collection.
Why are some fields like referenceNumber missing?
Only fields with real data are included in each record; the scraper omits empty fields. Additionally, specific fields like referenceNumber, condition, and the full images array only appear if you set includeItemDetails to true. This optional setting fetches each item's product page, which increases the run time and platform usage.
Can I filter by both item location and manufacture origin?
While both controls exist, they serve different purposes. Location filters by the seller's shipping country, while origin filters by where the item was made. In browse mode, these facets are often mutually exclusive on the site. If both are set, the Actor follows the precedence rules in the schema and will prioritize origin over location.
Is it possible to track items that have already sold?
Yes, 1stDibs often displays historical listings. Each result includes an isSold boolean field. This allows appraisers and researchers to analyze historical pricing trends by including sold items in their dataset, or allows dealers to filter them out to focus on active competition.
Where to go next
When you are ready to run it, open 1stDibs Scraper on Apify; the free plan covers up to 1,000 results a month.
Start with the 1stDibs Scraper Actor page for the current input schema, pricing tier, and run history.
Other Actors we maintain for related data:
- 1stDibs Luxury Antiques Scraper: Scrape luxury antiques, vintage furniture, jewelry, and art from 1stDibs - the world's largest online marketplace for luxury vintage and antique items.
- Pamono Vintage & Antique Design Scraper: Scrape pamono.com - the leading marketplace for vintage, antique, and contemporary design.
- Chairish Furniture Scraper: Scrape vintage, antique and designer furniture and decor listings from chairish.com.
- DBA.dk Scraper: Scrape DBA.dk - Denmark's largest online marketplace for used and new items.
Related guides:
- DBA.dk Scraper: Up to 1,000 Free Results a Month (2026)
- Sotheby's Lot Scraper: 26 Data Fields, Up to 1,000 Free Results/Month
- Chairish Scraper: 21 Data Fields, Up to 1,000 Free Results/Month
- eBay Items Scraper: 22 Data Fields, Up to 1,000 Free Results/Month
- The RealReal Scraper: Up to 1,000 Free Results a Month (2026)
- EBAY | Single Item | Store | Store Categories: $5.00 per 1,000 Results
- Shopee Scraper Playbook: Extracting Southeast Asian E-Commerce Data
- Bazaraki Cyprus Classifieds Scraper: 15 Categories Covered (2026)
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-29.
Actor last updated by its maintainers on 2026-08-10.
Run outcome figures cover the 30 day public window ending 2026-09-29.
Featured actors
1stDibs Scraper
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.
Run on Apify ↗