bonhams.com APIbonhams.com ↗
Access Bonhams auction data via API: upcoming sales, past results, lot details, price estimates, catalog descriptions, and department listings.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/c7a17c04-9385-4b8d-8a34-3cd85fb4c041/get_upcoming_auctions' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns a list of upcoming auctions with title, date range, location, and total lots. Results are sorted by start date ascending.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer total number of upcoming auctions",
"auctions": "array of auction objects with id, auctionTitle, dates, venue, lots.total, departments, etc."
},
"sample": {
"data": {
"total": 189,
"auctions": [
{
"id": "32063",
"lots": {
"total": 68
},
"dates": {
"end": {
"datetime": "2026-05-18T11:00:00+00:00"
},
"start": {
"datetime": "2026-05-01T11:00:00+00:00"
}
},
"venue": {
"code": "ONGUI",
"name": "Online, Guildford"
},
"auctionType": "ONLINE",
"auctionTitle": "The Miami Memorabilia Online Sale"
}
]
},
"status": "success"
}
}About the bonhams.com API
The Bonhams API exposes 7 endpoints covering upcoming and past auctions, individual lot details, and cross-catalog keyword search on bonhams.com. The search_lots endpoint lets you query lot titles and catalog descriptions across all sales, while get_lot_details returns HTML catalog descriptions, price estimates, and image data for a single lot identified by its lotUniqueId. Fine art, collectibles, automobiles, and other categories are all accessible through the same interface.
Auctions and Departments
get_upcoming_auctions and get_auction_results each return an array of auction objects containing the auction id, auctionTitle, date ranges, venue, associated departments, and total lot count. These IDs feed directly into get_auction_details, which adds the full HTML description field, venue code and name, and consignment date details. get_departments returns the full department list with per-department auction counts, useful for understanding which collecting categories are currently active on Bonhams.
Lot Browsing and Detail
get_auction_lots accepts an auction_id plus optional page and per_page parameters and returns a paginated array of lot objects with fields including lotNo, title, price, image, and status. get_lot_details takes a lot_unique_id (the lotUniqueId field from lot listings) and returns the full catalog entry: title, an HTML catalogDesc, and an extra_details object with additional bidding widget data and images when available. The extra_details block is conditional and may not be present for all lots.
Search
search_lots accepts a query string and an optional status filter (upcoming or past) to scope results to active or completed sales. Results are paginated via page and per_page parameters and sorted by relevance. This is the primary way to locate specific objects across the full Bonhams catalog without knowing an auction ID in advance. Lot objects in search results carry the same lotUniqueId needed to fetch full details.
- Track estimated and realized prices for specific artists or makers across past Bonhams sales using
search_lotswithstatus: past - Build a department-filtered auction calendar by combining
get_departmentscounts withget_upcoming_auctionsdepartment arrays - Aggregate catalog descriptions and images for a given auction using
get_auction_lotsandget_lot_detailsin sequence - Monitor new lot additions to a specific upcoming auction by polling
get_auction_lotsand comparing thetotalfield over time - Compile provenance and condition data from the HTML
catalogDescfield across lots matching a keyword search - Display venue and date information for upcoming Bonhams sales filtered by department using
get_auction_details - Research market activity in a collecting category by pulling
get_auction_resultsand cross-referencing withget_departmentscounts
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Bonhams offer an official developer API?+
What does `get_lot_details` return, and is the `extra_details` field always present?+
title, an HTML catalogDesc string containing the full catalog entry, and an extra_details object with additional images and auction context. The extra_details block is conditional — it appears when additional bidding widget data is available for that lot and may be absent for some entries.Can I filter `search_lots` results by department or price range?+
search_lots endpoint currently supports filtering by query keyword and status (upcoming or past). Department-level or price-range filters are not exposed as parameters. You can fork the API on Parse and revise it to add department or estimate-range filtering if your use case requires it.Does the API return hammer prices or just estimates for past lots?+
price field returned by get_auction_lots and search_lots, but the API does not currently expose a separate breakdown of hammer price versus buyer's premium versus pre-sale estimate as distinct fields. You can fork this API on Parse and revise it to surface those distinctions if the underlying lot data distinguishes them.Is there a limit to how many lots can be retrieved per auction?+
page and per_page parameters on get_auction_lots. The total field in each response tells you the full lot count for that auction, so you can calculate the number of pages needed. Very large auctions with hundreds of lots will require multiple requests to retrieve all entries.