LiveAuctioneers API & Scraper
LiveAuctioneers is a US-based marketplace that runs online bidding for thousands of auction houses, and this API reads it as JSON with no account and no key.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The core of it is `past_results`, the sold-lot archive: every row carries `hammer_price`, the price the lot actually sold for, BEFORE the buyer's premium - `amounts_include_buyers_premium` is false on every row. That figure was checked against two independent sources on five sold lots (600, 2,100, 3,500 and 28,000 USD, and 42,000 CAD): it equalled the top bid in the lot's own bid history and the price on the lot's own page five times out of five. The archive filters by free text, one of six top-level categories, auction house, the house's country or US state, sale type, a sale-date window, a band on the low estimate and a band on the hammer price, and it sorts by highest or lowest hammer or by most recent sale. `search` covers lots open for bidding or coming up, where `estimate_low` and `estimate_high`, `starting_price` and `current_bid` stay separate and `current_bid` is set only once a lot has at least one bid. `detail` returns one lot in full - catalogue text, condition report, dimensions, category path, maker, materials, every photo - and, once the lot has closed, its hammer price and its bid history, bid by bid, with each bid's source (internet or competing floor bid). `final_bid` is kept apart from `hammer_price` because the two are not always the same number. `auction` reads one sale and its lots page by page with how many sold and how many passed; `auction_house` returns a house's review scores on five dimensions, its sale counts and its upcoming sales; `suggest` completes a phrase the way the site's search box does.
What a LiveAuctioneers row actually contains
An auction lot carries several different amounts. Every row below was measured against live LiveAuctioneers responses on 2026-10-14.
| Field | What it holds |
|---|---|
| hammer_price | What the lot sold for, before the buyer's premium, in the lot's own currency. Set only on sold lots. Checked on five sold lots against the top bid in each lot's own bid history and against the price on each lot's own page: five out of five equal. Filled on 48 of 48 rows in each of five categories of the archive. |
| final_bid vs hammer_price | `final_bid` is the last leading bid the source records on an ended lot; `hammer_price` is the sale price. They are usually equal, but not always: on one measured lot the hammer was 3,500 while the recorded leading bid was 5,500, so the two are never merged. |
| starting_price vs current_bid | `starting_price` is the opening price. `current_bid` is set only on open lots with at least one bid and is null otherwise, so a lot nobody has bid on never shows a bid. `price_is` names which figure the row leads with: `hammer_price`, `current_bid` or `starting_price`. |
| estimate_low / estimate_high | The house's pre-sale estimate. The estimate filters bound the LOW end of that range, because that is how the source filters - a lot estimated 200-10,000 is inside a band that tops out at 300. |
| bid_history | On a closed lot: every bid with its amount, currency and source (internet bid or competing floor bid). Its top amount, `bid_history_top`, matched `hammer_price` on every closed lot measured. The source publishes the history only after a lot closes; on open lots it is empty. |
| amounts_include_buyers_premium | False on every row. The premium is set per SALE: `detail` and `auction` return it as bands - one flat rate (25% on a measured sale) or up to three tiers, for example 20% up to 4,000, 18% to 10,000 and 15% above. |
| total_found and last_reachable_page | Counts stop at 10,000 open lots and 9,000 archived lots (`total_is_capped` says so). Paging stops at 10,000 open lots and 1,200 archived lots per query - past that LiveAuctioneers serves results only to signed-in members - and `last_reachable_page` says where the window ends. Narrow with a filter rather than paging deeper. |
| house | The seller is the auction HOUSE, a business: `house`, `house_id`, `house_url`, its location and review score on every row, and its business website and contact details in `auction_house`. |
Amounts are in each lot's own currency and are never converted. A field the source does not publish is null rather than filled in.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/liveauctioneers/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "tiffany lamp",
"max_results": 10
}
}{
"ok": true,
"meta": {
"api": "liveauctioneers",
"endpoint": "search",
"mode": "live",
"latency_ms": 770.8,
"record_count": 10,
"bytes": 30262,
"cache_hit": false,
"stop_reason": "max_pages",
"upstream_calls": 1,
"charged_credits": 2,
"version": "1.0.0",
"request_id": "942d6c5960bf4696",
"queue_ms": 8.9,
"fetched_at": "2026-10-14T18:57:25.760Z"
},
"data": {
"query": "tiffany lamp",
"surface": "open",
"page": 1,
"per_page": 10,
"total_found": 140,
"total_is_capped": false,
"last_reachable_page": 14,
"has_more": true,
"results": [
{
"lot_id": 242996076,
"url": "https://www.liveauctioneers.com/item/242996076_tiffany-studios-swirling-leaf-floor-lamp-16-shade-chesterland-oh",
"title": "Tiffany Studios Swirling Leaf Floor Lamp 16\" Shade",
"short_description": "A Tiffany Studios leaded glass shade in the Swirling Leaf pattern and 16\" diameter seated on intricate open filigree Edwardian claw foot floor lamp with coiled spring column. Oil converted to electric",
"lot_number": "0097",
"sale_id": 434272,
"sale_title": "FALL INTERIORS, ANTIQUES & FINE ARTS CATALOG",
"sale_url": "https://www.liveauctioneers.com/catalog/434272",
"sale_status": "online",
"sale_type": "live",
"lots_in_sale": 698,
"house_id": 1037,
"house": "Premier Auction Galleries",
"house_url": "https://www.liveauctioneers.com/auctioneer/1037/premier-auction-galleries/",
"house_city": "Chesterland",
"house_state": "OH",
"house_country": "US",
"house_rating": 4.48,
"house_review_count": 394,
"house_top_rated": false,
"lot_city": "Chesterland",
"lot_region": "OH",
"lot_postal_code": "44026",
"lot_country": "US",
"currency": "USD",
"estimate_low": 6000,
"estimate_high": 9000,
"starting_price": 2000,
"current_bid": 2000,
"bid_count": 1,
"hammer_price": null,
"final_bid": null,
"price_is": "current_bid",
"amounts_include_buyers_premium": false,
"winning_bidder_id": null,
"buy_now_price": null,
"has_reserve": null,
"reserve_met": true,
"outcome": "open",
"sold": null,
"passed": null,
"ended": false,
"sale_starts_at": "2026-11-07T15:00:00Z",
"lot_ends_at_estimated": "2026-11-07T15:01:00Z",
"sale_ends_at_estimated": null,
"free_shipping": false,
"free_local_pickup": false,
"ships_with_liveauctioneers": true,
"ships_with_house": false,
"flat_rate_shipping": null,
"images": [
"https://p1.liveauctioneers.com/1037/434272/242996076_1_x.jpg?version=1791238676",
"https://p1.liveauctioneers.com/1037/434272/242996076_2_x.jpg?version=1791238676",
"https://p1.liveauctioneers.com/1037/434272/242996076_3_x.jpg?version=1791238676"
],
"thumbnail": "https://p1.liveauctioneers.com/1037/434272/242996076_1_x.jpg?version=1791238676",
"promoted": false
},
{
"lot_id": 242106440,
"url": "https://www.liveauctioneers.com/item/242106440_tiffany-studios-table-lamp-drop-cluster-pond-lily-herzeliya-israel",
"title": "TIFFANY STUDIOS. TABLE LAMP - DROP CLUSTER, POND LILY",
"short_description": "New York, 1895–1902. Art Nouveau. Wisteria cluster model. Twelve Favrile glass flower cups supported on long bronze stems emerging from a base of water-lily leaves and buds. Rich brown and g",
"lot_number": "0147",
"sale_id": 433369,
"sale_title": "Jewelry, Watches, Antiques - #206 Part A",
"sale_url": "https://www.liveauctioneers.com/catalog/433369",
"sale_status": "online",
"sale_type": "live",
"lots_in_sale": 331,
"house_id": 4060,
"house": "Tiroche Auction House",
"house_url": "https://www.liveauctioneers.com/auctioneer/4060/tiroche-auction-house/",
"house_city": "Herzeliya",
"house_state": null,
"house_country": "IL",
"house_rating": 4.44,
"house_review_count": 38,
"house_top_rated": false,
"lot_city": "Herzeliya",
"lot_region": "Israel",
"lot_postal_code": "46755",
"lot_country": "IL",
"currency": "USD",
"estimate_low": 20000,
"estimate_high": 30000,
"starting_price": 9000,
"current_bid": null,
"bid_count": 0,
"hammer_price": null,
"final_bid": null,
"price_is": "starting_price",
"amounts_include_buyers_premium": false,
"winning_bidder_id": null,
"buy_now_price": null,
"has_reserve": null,
"reserve_met": false,
"outcome": "open",
"sold": null,
"passed": null,
"ended": false,
"sale_starts_at": "2026-10-18T15:00:00Z",
"lot_ends_at_estimated": "2026-10-18T15:00:00Z",
"sale_ends_at_estimated": null,
"free_shipping": false,
"free_local_pickup": false,
"ships_with_liveauctioneers": false,
"ships_with_house": false,
"flat_rate_shipping": null,
"images": [
"https://p1.liveauctioneers.com/4060/433369/242106440_1_x.jpg?version=1790607221",
"https://p1.liveauctioneers.com/4060/433369/242106440_2_x.jpg?version=1790607221",
"https://p1.liveauctioneers.com/4060/433369/242106440_3_x.jpg?version=1790607221"
],
"thumbnail": "https://p1.liveauctioneers.com/4060/433369/242106440_1_x.jpg?version=1790607221",
"promoted": false
},
{
"lot_id": 242106441,
"url": "https://www.liveauctioneers.com/item/242106441_tiffany-studios-floor-lamp-dogwood-herzeliya-israel",
"title": "TIFFANY STUDIOS. FLOOR LAMP - DOGWOOD",
"short_description": "New York, circa 1905. Art Nouveau. Three swirling lights on a trunk branching into sixteen roots resting on Favrile glass balls. Low-domed shade decorated with dogwood flowers and leaves in green and",
"lot_number": "0148",
"sale_id": 433369,
"sale_title": "Jewelry, Watches, Antiques - #206 Part A",
"sale_url": "https://www.liveauctioneers.com/catalog/433369",
"sale_status": "online",
"sale_type": "live",
"lots_in_sale": 331,
"house_id": 4060,
"house": "Tiroche Auction House",
"house_url": "https://www.liveauctioneers.com/auctioneer/4060/tiroche-auction-house/",
"house_city": "Herzeliya",
"house_state": null,
"house_country": "IL",
"house_rating": 4.44,
"house_review_count": 38,
"house_top_rated": false,
"lot_city": "Herzeliya",
"lot_region": "Israel",
"lot_postal_code": "46755",
"lot_country": "IL",
"currency": "USD",
"estimate_low": 25000,
"estimate_high": 30000,
"starting_price": 10000,
"current_bid": null,
"bid_count": 0,
"hammer_price": null,
"final_bid": null,
"price_is": "starting_price",
"amounts_include_buyers_premium": false,
"winning_bidder_id": null,
"buy_now_price": null,
"has_reserve": null,
"reserve_met": false,
"outcome": "open",
"sold": null,
"passed": null,
"ended": false,
"sale_starts_at": "2026-10-18T15:00:00Z",
"lot_ends_at_estimated": "2026-10-18T15:00:00Z",
"sale_ends_at_estimated": null,
"free_shipping": false,
"free_local_pickup": false,
"ships_with_liveauctioneers": false,
"ships_with_house": false,
"flat_rate_shipping": null,
"images": [
"https://p1.liveauctioneers.com/4060/433369/242106441_1_x.jpg?version=1791969984",
"https://p1.liveauctioneers.com/4060/433369/242106441_2_x.jpg?version=1791969984",
"https://p1.liveauctioneers.com/4060/433369/242106441_3_x.jpg?version=1791969984"
],
"thumbnail": "https://p1.liveauctioneers.com/4060/433369/242106441_1_x.jpg?version=1791969984",
"promoted": false
}
]
}
}What the LiveAuctioneers API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search lots that are open for bidding or coming up, across thousands of auction houses. Filters: category, house, country, state, sale type, estimate range, current-bid range. Give `query` or at least one filter. | Pricing teams call search to search lots that are open for bidding or coming up, across thousands of auction houses. | none |
| past_results | The sold-lot archive: what each lot sold for (the hammer price, before the buyer's premium), when, at which house, against which estimate and opening price, and how many bids it drew. Give `query` or at least one filter. | Marketplace operators call past_results to get the sold-lot archive. | none |
| detail | One lot in full: description, condition report, dimensions, category path, maker, materials, every image, the hammer price and bid history of an ended lot, and the sale's buyer's premium schedule, bid increments and location. | Catalog enrichment teams call detail to get one lot in full. | lot_id |
| auction | One sale (catalogue): its terms, buyer's premium schedule, bid increments, location and its lots, page by page. | Retail analysts call auction to get one sale (catalogue). | sale_id |
| auction_house | One auction house: address, website, business contact, review scores by dimension, number of open and finished sales, and its upcoming sales with their buyer's premium. | Pricing teams call auction_house to get one auction house. | house_id |
| suggest | Search-box suggestions: completed queries and matching auction houses (with their `house_id`). | Marketplace operators call suggest to get search-box suggestions. | query |
Call search from your stack
curl -X POST https://api.reefapi.com/liveauctioneers/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"tiffany lamp","max_results":10}'import requests
r = requests.post(
"https://api.reefapi.com/liveauctioneers/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "tiffany lamp",
"max_results": 10
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/liveauctioneers/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "tiffany lamp",
"max_results": 10
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.liveauctioneers.search with {"query":"tiffany lamp","max_results":10}.Who uses this API and why
- Price an item before consigning or bidding: `past_results` with a query, a category and a date window, sorted by highest hammer, gives what comparable lots actually sold for, with the estimate they were offered at next to it.
- Build an auction-comparables feed for appraisers, insurers and dealers that cites the house, the sale date, the hammer price and the estimate per lot, with the buyer's premium kept separate so the figure reconciles with an invoice.
- Measure how hard a lot was fought for: `detail` returns the bid history of a closed lot bid by bid, so you can see how many bids it took to get from the opening price to the hammer.
- Compare the cost of winning before bidding: `detail` and `auction` return the sale's own buyer's-premium bands - a flat rate or up to three tiers with their cut-offs.
- Score an auction house: `auction_house` gives review scores on accuracy, payment, responsiveness and shipping with the star counts, and `auction` on a finished sale shows how many lots sold and how many passed.
Questions developers ask before integrating
Does the LiveAuctioneers API return what a lot actually sold for?
Yes. `past_results` and `detail` return `hammer_price`, the price the lot sold for, before the buyer's premium. On five sold lots it matched the top bid in the lot's own bid history and the price on the lot's own page five times out of five, and it was filled on every one of 240 archived rows sampled across five categories.
Is the hammer price with or without the buyer's premium?
Without. `amounts_include_buyers_premium` is false on every row. The hammer equals the winning bid, and the premium is added on top at the rate the sale publishes - `detail` and `auction` return those bands so you can compute the total.
Can I filter and sort the archive by sold price?
Yes: `min_price` and `max_price` bound the hammer price, and `sort` takes `price_high_first` or `price_low_first`. Measured on `tiffany lamp`: 6,418 archived lots unfiltered, 2,071 at a hammer of at least 1,000 and 2,459 between 100 and 500, with every returned row inside the band.
A lot shows a price but no bids. Is that a bid?
No. That figure is the opening price, returned as `starting_price`. `current_bid` is filled only once `bid_count` is at least 1, and `price_is` says which figure the row leads with.
Why does a search say 10,000 results for almost everything?
Because LiveAuctioneers stops counting there for open lots (9,000 for the archive). `total_is_capped` is true when the figure sits on that ceiling. Add a category, a house, a country or a price band to get an exact count under it.
How deep can I page through sold lots?
1,200 archived lots per query, and 10,000 open lots; beyond that LiveAuctioneers serves results only to signed-in members. Every response carries `last_reachable_page`. Use the date window, the category, the house or the hammer band to cut a large archive into slices that fit.
Which categories can I filter by?
The six top-level ones: art, collectibles, fashion, furniture, home_decor and jewelry. Any other value is refused with an error, because the source silently ignores a category it does not recognise and would otherwise return everything.
Do I need a LiveAuctioneers account or key?
No. This API reads public, logged-out data and needs no account, cookie or token. The seller on every row is the auction house, which is a business.
What is the LiveAuctioneers API?
LiveAuctioneers API is a ReefAPI endpoint group for what auction lots actually sold for - the hammer price, before the buyer's premium - across thousands of auction houses, next to the lots open for bidding now with the estimate, the opening price and the live bid kept apart. It returns live JSON through POST requests under /liveauctioneers/v1.
Is the LiveAuctioneers API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. LiveAuctioneers calls use the same shared credit balance as every other ReefAPI engine.
Do I need a LiveAuctioneers login or account?
No login to LiveAuctioneers is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the LiveAuctioneers data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the LiveAuctioneers API use?
LiveAuctioneers actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call LiveAuctioneers from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call liveauctioneers actions with the same key, credit pool and JSON envelope used by normal REST requests.