Bonhams API endpoint
Returns one Bonhams lot's facts: title, estimate range, hammer/realized price (once sold), sale date, category, department, and lot number. Full lot description prose, condition-report text, and additional images are not reproduced -- see the response fields.
/bonhams/lots/{auctionId}/{lotNumber}Path parameters:
auctionId (required) — Bonhams auction id, e.g. 32001.lotNumber (required) — Bonhams lot number, e.g. 2.Response fields:
id — composite {auctionId}-{lotNumber} id.auction_id, lot_number, title.status — raw Bonhams lot status code. Observed values: NEW (open for bidding, not yet sold), SOLD, WD (withdrawn), BI (bought in — reserve not met, unsold), CS, WR (internal Bonhams codes without a public glossary).department, categories[], country — {code, name} pairs.currency — {iso_code, bonhams_code, symbol}.estimate_low, estimate_high — the pre-sale estimate range, in the lot's own sale currency.estimate_low_gbp, estimate_high_gbp — the same estimate range, normalized to GBP for cross-currency comparison.starting_bid_amount.hammer_price — the realized/hammer price once sold. 0 when the lot has not yet been sold.hammer_premium — buyer's premium amount added to the hammer price, once sold.sale_date — {datetime, timestamp, timezone}.auction_type, auction_status, auction_bidding_status.image_url — one representative thumbnail.slug, url — the public lot detail page.without_reserve, condition_report_available — booleans.symbols — any lot symbols Bonhams attaches (e.g. CITES restrictions), when present.Returns 404 when the auction id / lot number combination does not exist.
Example response (an unsold lot, open for bidding):
{"code":200,"msg":"OK","data":{"id":"32001-2","auction_id":"32001","lot_number":"2","title":"A pair of Scandanavian silver three-branch candelabra","status":"NEW","department":{"code":"ORI-CHI","name":"Chinese Ceramics & Works of Art"},"country":{"code":"AU","name":"Australia"},"currency":{"iso_code":"AUD","bonhams_code":"AU$","symbol":"AU$"},"estimate_low":800,"estimate_high":1200,"starting_bid_amount":800,"hammer_price":0,"sale_date":{"datetime":"2026-09-03T04:01:00+00:00","timestamp":1788408060,"timezone":"Australia/Sydney"},"auction_type":"ONLINE","auction_status":"READY","auction_bidding_status":"IP","slug":"a-pair-of-scandanavian-silver-three-branch-candelabra","url":"https://www.bonhams.com/auction/32001/lot/2/a-pair-of-scandanavian-silver-three-branch-candelabra/","without_reserve":false,"condition_report_available":false}}
Example response (a sold lot, showing a realized/hammer price):
{"code":200,"msg":"OK","data":{"id":"32778-572","auction_id":"32778","lot_number":"572","title":"Two Chemehuevi baskets","status":"SOLD","department":{"code":"NAT","name":"Native American"},"country":{"code":"US","name":"United States"},"currency":{"iso_code":"USD","bonhams_code":"US$","symbol":"US$"},"estimate_low":1800,"estimate_high":2800,"starting_bid_amount":900,"hammer_price":3400,"hammer_premium":4352,"sale_date":{"datetime":"2026-07-15T18:00:00+00:00","timestamp":1784570400,"timezone":"America/Los_Angeles"},"auction_type":"ONLINE","auction_status":"CLOSED","auction_bidding_status":"EN","slug":"two-chemehuevi-baskets","url":"https://www.bonhams.com/auction/32778/lot/572/two-chemehuevi-baskets/","without_reserve":false,"condition_report_available":false}}
| Field | In the sample | Value in the sample |
|---|---|---|
| id | Has a value | |
| auction_id | Has a value | |
| lot_number | Has a value | 572 |
| title | Has a value | “Two Chemehuevi baskets” |
| status | Has a value | “SOLD” |
| department.code | Has a value | |
| department.name | Has a value | “Native American” |
| country.code | Has a value | |
| country.name | Has a value | “United States” |
| currency.iso_code | Has a value | |
| currency.bonhams_code | Has a value | |
| currency.symbol | Has a value | “US$” |
| estimate_low | Has a value | 1,800 |
| estimate_high | Has a value | 2,800 |
| estimate_low_gbp | Has a value | 2,511.41 |
| estimate_high_gbp | Has a value | 2,511.41 |
| starting_bid_amount | Has a value | 900 |
| hammer_price | Has a value | 3,400 |
| hammer_premium | Has a value | 4,352 |
| sale_date.datetime | Has a value | 2026-08-28 |
| sale_date.timestamp | Has a value | 2026-08-28 |
| sale_date.timezone | Has a value | “America/Los_Angeles” |
| auction_type | Has a value | “ONLINE” |
| auction_status | Has a value | “FINISHED” |
| auction_bidding_status | Has a value | “EN” |
| image_url | Has a value | images2.bonhams.com |
| slug | Has a value | |
| url | Has a value | bonhams.com |
| without_reserve | Has a value | false |
| condition_report_available | Has a value | false |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| auctionId (path) | string | Yes | Bonhams auction id | 32001 | |
| lotNumber (path) | string | Yes | Bonhams lot number | 2 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/bonhams/lots/32001/2" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "32001-2",
"auction_id": "32001",
"lot_number": "2",
"title": "A pair of Scandanavian silver three-branch candelabra",
"status": "NEW",
"department": {
"code": "ORI-CHI",
"name": "Chinese Ceramics & Works of Art"
},
"country": {
"code": "AU",
"name": "Australia"
},
"currency": {
"iso_code": "AUD",
"bonhams_code": "AU$",
"symbol": "AU$"
},
"estimate_low": 800,
"estimate_high": 1200,
"starting_bid_amount": 800,
"hammer_price": 0,
"sale_date": {
"datetime": "2026-09-03T04:01:00+00:00",
"timestamp": 1788408060,
"timezone": "Australia/Sydney"
},
"auction_type": "ONLINE",
"auction_status": "READY",
"auction_bidding_status": "IP",
"slug": "a-pair-of-scandanavian-silver-three-branch-candelabra",
"url": "https://www.bonhams.com/auction/32001/lot/2/a-pair-of-scandanavian-silver-three-branch-candelabra/",
"without_reserve": false,
"condition_report_available": false
}
}Request schema
No body schema
Response schema
#/definitions/bonhams.lotDetailResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bonhams.Lot | No | ||||
| data.auction_bidding_status | string | No | ||||
| data.auction_id | string | No | ||||
| data.auction_status | string | No | ||||
| data.auction_type | string | No | ||||
| data.categories | array | No | ||||
| data.categories[].code | string | No | ||||
| data.categories[].name | string | No | ||||
| data.condition_report_available | boolean | No | ||||
| data.country | bonhams.NamedCode | No | ||||
| data.country.code | string | No | ||||
| data.country.name | string | No | ||||
| data.currency | bonhams.Currency | No | ||||
| data.currency.bonhams_code | string | No | ||||
| data.currency.iso_code | string | No | ||||
| data.currency.symbol | string | No | ||||
| data.department | bonhams.NamedCode | No | ||||
| data.department.code | string | No | ||||
| data.department.name | string | No | ||||
| data.estimate_high | number | No | ||||
| data.estimate_high_gbp | number | No | ||||
| data.estimate_low | number | No | ||||
| data.estimate_low_gbp | number | No | ||||
| data.hammer_premium | number | No | ||||
| data.hammer_price | number | No | ||||
| data.id | string | No | ||||
| data.image_url | string | No | ||||
| data.lot_number | string | No | ||||
| data.sale_date | bonhams.DateInfo | No | ||||
| data.sale_date.datetime | string | No | ||||
| data.sale_date.timestamp | integer | No | ||||
| data.sale_date.timezone | string | No | ||||
| data.slug | string | No | ||||
| data.starting_bid_amount | number | No | ||||
| data.status | string | No | ||||
| data.symbols | array | No | ||||
| data.title | string | No | ||||
| data.url | string | No | ||||
| data.without_reserve | boolean | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/bonhams/lots/32001/2" \
-H "x-api-key: $CRAWLORA_API_KEY"