Bonhams Carpets, Rugs & Tapestries Auction Results Scraper
Pricing
Pay per event
Bonhams Carpets, Rugs & Tapestries Auction Results Scraper
Scrape sold lot results from the Bonhams Carpets, Rugs & Tapestries department. Extracts title, origin region, rug type, period, dimensions (imperial + metric), estimates, hammer price, sale date, location, provenance notes, and thumbnail URL. Supports full-department crawl or BYO lot URL list mode.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Share
Scrape sold lot results from the Bonhams Carpets, Rugs & Tapestries department. Extracts title, origin region, rug type, period, dimensions (imperial + metric), estimates, hammer price, sale date, location, provenance notes, and thumbnail URL.
What it does
The actor crawls the Bonhams auction platform using a three-level discovery architecture:
- Auction list — scans
/auctions/results/pages to discover past sales containing Rugs, Carpets & Tapestries lots - Sale page — processes each sale to enumerate lots; for dedicated RUG-department sales, all lots are crawled; for mixed-department sales, only RUG lots from the sale's server-rendered preview are included
- Lot detail — fetches each individual lot page and extracts structured data from the Next.js server-side rendered JSON (
__NEXT_DATA__)
Supported input modes
- Default (auction list scan) — scans up to 10 pages of auction results (240 past sales) for any that include the Carpets, Rugs & Tapestries department
- BYO sale IDs — provide specific Bonhams sale IDs (e.g.
["32361"]) to crawl directly, skipping the listing scan - BYO lot URLs — provide a list of Bonhams lot detail page URLs to scrape directly (fastest mode)
Input
| Field | Type | Description | Default |
|---|---|---|---|
maxItems | integer | Maximum number of lot records to return | 100 |
lotUrls | array | Direct Bonhams lot page URLs to scrape | — |
saleIds | array | Bonhams auction sale IDs to crawl directly | — |
auctionPages | integer | Number of auction list pages to scan (max 10, 24 sales/page) | 10 |
Output
Each record represents a single auction lot:
| Field | Type | Description |
|---|---|---|
lot_id | string | Unique Bonhams lot identifier |
sale_id | string | Bonhams auction sale ID |
sale_title | string | Name of the auction sale |
sale_date | string | Sale date (ISO format YYYY-MM-DD) |
sale_location | string | Sale venue and city |
lot_number | string | Lot number within the sale |
title | string | Full lot title as catalogued |
origin_region | string | Inferred geographic origin (Persia, Caucasus, Anatolia, etc.) |
rug_type | string | Textile type: carpet, rug, runner, kilim, tapestry, sumak, bag-face |
design_pattern | string | Dominant design vocabulary (medallion, herati, boteh, etc.) |
period_circa | string | Period as catalogued ("late 19th century", "circa 1880") |
age_classification | string | antique, semi-antique, or modern |
dimensions_imperial | string | Dimensions in feet and inches |
dimensions_metric | string | Dimensions in centimetres |
low_estimate | number | Lower pre-sale estimate |
high_estimate | number | Upper pre-sale estimate |
estimate_currency | string | ISO currency code for estimates |
hammer_price | number | Hammer price realised (null if unsold) |
sold_currency | string | ISO currency code for hammer price |
is_sold | boolean | True if the lot sold at hammer |
provenance_notes | string | Provenance and special notices |
condition_notes | string | Condition report text |
thumbnail_url | string | Primary lot image URL |
lot_url | string | Bonhams lot detail page URL |
Example output record
{"lot_id": "2684312","sale_id": "25946","sale_title": "Fine Carpets and Rugs","sale_date": "2019-10-30","sale_location": "New Bond Street, London","lot_number": "25","title": "A very large Mahal carpet, North West Persia","origin_region": "Persia","rug_type": "carpet","design_pattern": "medallion","period_circa": "late 19th century","age_classification": "antique","dimensions_imperial": "","dimensions_metric": "638cm x 533cm","low_estimate": 3000,"high_estimate": 5000,"estimate_currency": "GBP","hammer_price": 4500,"sold_currency": "GBP","is_sold": true,"provenance_notes": "","condition_notes": "","thumbnail_url": "https://bonhams-assets.s3.amazonaws.com/...","lot_url": "https://www.bonhams.com/auction/25946/lot/25/..."}
Notes
- Results are limited to the Carpets, Rugs & Tapestries department (Bonhams department code
RUG) - Mixed-department sales (e.g. Discovery Sales) include only the RUG lots visible in the sale's server-side rendered preview (up to 48 lots per mixed sale)
- Dedicated Carpets & Rugs sales enumerate all lots
- Hammer prices are only populated for sold lots; unsold lots have
hammer_price: null - Dimensions are extracted from the lot description text using pattern matching and may be incomplete for some older catalogue entries
