Hagerty APIhagerty.com ↗
Access live and completed Hagerty Marketplace auction listings, including bids, VINs, specs, and seller info via 3 structured JSON endpoints.
What is the Hagerty API?
The Hagerty Marketplace API exposes 3 endpoints covering live auctions, completed auction results, and full listing detail for collector vehicles. The get_current_auctions endpoint returns paginated live lots with current high bids and end times, while get_listing_detail surfaces per-vehicle specs including VIN, engine, transmission, body style, and seller name. All monetary fields are returned in whole US dollars.
curl -X GET 'https://api.parse.bot/scraper/1202326b-6988-4e14-a1d8-9dd9e788aaed/get_current_auctions?page=2&sort_by=ending_soonest' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns one page of currently live Hagerty Marketplace auctions (33 listings per page, the site's fixed page size) with title, current high bid in whole US dollars, canonical listing URL, hero image URL and end time. One round trip per page. `page` is 1-based and defaults to 1; `sort_by` defaults to ending_soonest. `url` is the canonical public listing URL and is byte-for-byte the same form emitted by get_auction_results and get_listing_detail for the same listing; pass it unchanged to get_listing_detail. `items_total` and `pages_total` come from the site's own result count; `has_more` is the site's next-page flag. current_bid is 0 for a lot with no bids yet.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page number of the live-auction list. A page past pages_total returns an empty items array. |
| sort_by | string | Ordering of live auctions. |
{
"type": "object",
"fields": {
"items": "array of live listing cards, each with listing_id, title, url (canonical listing URL), current_bid (integer USD), current_bid_formatted, bid_count, year, make, model, location, noreserve, hero_image_url, end_time (ISO 8601 UTC), timestamp_end (unix seconds), status",
"has_more": "boolean, whether a further page exists",
"items_total": "integer, total live auctions reported by the site",
"pages_total": "integer, ceil(items_total / items_per_page)",
"page_current": "integer, echo of the requested page",
"items_per_page": "integer, always 33"
},
"sample": {
"data": {
"items": [
{
"url": "https://www.hagerty.com/marketplace/auction/1997-BMW-M3/effe8472-6e08-4971-9a96-d0fb30ad6dba",
"make": "BMW",
"year": 1997,
"model": "M3",
"title": "1997 BMW M3 Sedan 5-Speed",
"status": "ACTIVE",
"end_time": "2026-09-08T18:00:00.000Z",
"location": "Cumming, GA",
"bid_count": 26,
"noreserve": true,
"listing_id": "effe8472-6e08-4971-9a96-d0fb30ad6dba",
"current_bid": 8250,
"timestamp_end": 1788890400,
"hero_image_url": "https://hagerty-marketplace-prod.imgix.net/assets/2htx1rvhGhCu9tOYJieAEw.jpg",
"current_bid_formatted": "USD $8,250"
}
],
"has_more": true,
"items_total": 208,
"pages_total": 7,
"page_current": 1,
"items_per_page": 33
},
"status": "success"
}
}About the Hagerty API
Live Auction Inventory
The get_current_auctions endpoint returns up to 33 live Hagerty Marketplace auction listings per page (the site's fixed page size, reflected in the items_per_page field). Each item in the items array includes a listing_id, title, canonical url, current_bid as an integer in USD, a formatted bid string, and an end time. Use the page parameter (1-based) to walk through all live lots; pages_total tells you when to stop. The optional sort_by parameter controls ordering of results.
Listing Detail
The get_listing_detail endpoint accepts either a url (canonical listing URL from get_current_auctions or get_auction_results) or a listing_id directly. It returns the full detail record for a single lot: year, make, model, vin, engine, title, seller, status (e.g. ACTIVE or ENDED), and a sold boolean indicating whether the site marks the lot as sold. This endpoint works for both live and ended listings.
Completed Auction Results
The get_auction_results endpoint returns completed auctions, most recently ended first, in the same 33-item page structure. Each item includes listing_id, title, url, year, make, model, and current_bid in integer USD alongside a formatted bid string. Use this endpoint to build price history datasets or benchmark recent hammer prices for a specific make or model.
The Hagerty API is a managed, monitored endpoint for hagerty.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hagerty.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official hagerty.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track real-time high bids on live Hagerty auctions across multiple pages using
get_current_auctions - Build a collector car price database by paginating through
get_auction_resultsand storingcurrent_bid,make,model, andyear - Look up VIN, engine spec, and body style for a specific lot via
get_listing_detailusing alisting_id - Monitor when specific auction lots transition from
ACTIVEtoENDEDstatus by pollingget_listing_detail - Identify the seller for any Hagerty Marketplace listing using the
sellerfield fromget_listing_detail - Compare hammer prices for a particular make and model across completed lots using
get_auction_resultsfiltered downstream bymakeandmodel
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Hagerty offer an official developer API for its Marketplace?+
What does `get_listing_detail` return beyond what the list endpoints provide?+
get_current_auctions and get_auction_results) return summary card data: title, current bid, URL, and end time. get_listing_detail adds vehicle-specific fields not present in the list endpoints: vin, engine, make, model, year, seller, status, and the sold boolean. You need one call per listing to retrieve those fields.Is exterior color, transmission, or interior color available from `get_listing_detail`?+
vin, engine, make, model, year, seller, status, and sold. If a specific vehicle attribute isn't surfacing in the response for a given listing, it may not be populated by the seller on that lot.Does the API cover Hagerty Valuation Tools or insurance quote data?+
How does pagination work across `get_current_auctions` and `get_auction_results`?+
page parameters with a fixed page size of 33 items. The pages_total field tells you the total number of pages available, and items_total gives the total record count. Requesting a page beyond pages_total returns an empty items array rather than an error.