Get Live Auctions#
List currently active Bring a Trailer, Cars & Bids, Hemmings, Hagerty, PCAR Market, All Collector Cars, Gooding & Co, RM Sotheby's, Sotheby's Motorsport, Car & Classic, The Market, MB Market, Mecum Auctions, and PistonHeads collector car auctions. Use this endpoint for live market discovery, ending-soon pages, watchlists, source-specific feeds, and polling workflows.
https://api.oldcarsdata.com/auctions/live/auctions/live?sort=ending&direction=asc&limit=10Edit request3 parameters
curl "https://api.oldcarsdata.com/auctions/live?sort=ending&direction=asc&limit=10" \
-H "Authorization: Bearer $OCD_API_KEY"{
"data": [
{
"id": 98765,
"title": "1997 Porsche 911 Carrera Coupe",
"auction_status": "active",
"auction_end_at": "2026-05-06 19:30:00"
}
]
}Beta14 live sourcesView coverage
Coverage is actively evolving. Use the source slug when filtering API or MCP requests.
- Bring a Trailer
bringatrailer - Cars & Bids
carsandbids - Hemmings
hemmings - Hagerty
hagerty - PCAR Market
pcarmarket - All Collector Cars
acc - Gooding & Co
gooding - RM Sotheby's
rmsothebys - Sotheby's Motorsport
sothebysmotorsport - Car & Classic
carandclassic - The Market
themarket - MB Market
mbmarket - Mecum Auctions
mecum - PistonHeads
pistonheads
Live auction behavior
This endpoint only returns listings where auction_status is active. No anchor parameter is required, so you can request the active market or narrow by make, model, VIN, seller, source, keyword, year, price, ending window, or update time.
Responses include ending fields such as auction_end_at and auction_end_precision, plus the live-only updated_at field. Responses are privately cached for 15 seconds.
Timestamp output
Response fields such as auction_end_at, created_at, and updated_at preserve the stored wall-clock value and use YYYY-MM-DD HH:mm:ss[.ffffff]. They do not include a UTC offset, so do not append Z or assume UTC. For auction_end_at, check auction_end_precision: exact means the time is known, while date means only the date is known and 00:00:00 is a normalization placeholder. Timestamp filter inputs still require ISO 8601 values with an offset.
Authentication#
This endpoint requires authentication. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYStarter Plan Limitation: Starter plan users are limited to the latest 20 live auctions regardless of filters or pagination. Upgrade to a paid plan for full live inventory access.
Request Parameters#
| Field | Type | Required | Description |
|---|---|---|---|
Authorization# | header | Yes | Bearer token with your API key: Bearer YOUR_API_KEY |
make# | string | No | Exact normalized make from Get Makes. |
model# | string | No | Exact normalized model from Get Models. |
vin# | string | No | Exact VIN match. |
seller_username# | string | No | Exact seller username match. |
year_min# | integer | No | Minimum year filter (inclusive). |
year_max# | integer | No | Maximum year filter (inclusive). |
price_min# | integer | No | Minimum current bid or listed price (inclusive). |
price_max# | integer | No | Maximum current bid or listed price (inclusive). |
source# | string | No | Source platform filter. Supported live values include bringatrailer, carsandbids, hemmings, hagerty, pcarmarket, acc, gooding, rmsothebys, sothebysmotorsport, carandclassic, themarket, mbmarket, mecum, and pistonheads. |
keyword# | string | No | Search keyword to match in title and description (case-insensitive). |
ending_after# | date-time | No | Only include auctions ending at or after this ISO 8601 timestamp. |
ending_before# | date-time | No | Only include auctions ending at or before this ISO 8601 timestamp. |
updated_since# | date-time | No | Only include auctions updated at or after this ISO 8601 timestamp. Useful for polling. |
sort# | enum | No | Sort field. Options: "ending" (default), "created", "updated", "price", "year", "bids". |
direction# | enum | No | Sort direction. Options: "asc" (default), "desc". |
page# | integer | No | Page number for pagination. Minimum: 1, default: 1. |
limit# | integer | No | Number of results per page. Range: 1-100, default: 50. |
Code Examples#
Ending soon (cURL)#
curl "https://api.oldcarsdata.com/auctions/live?sort=ending&direction=asc&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY"Live Porsche auctions updated recently (cURL)#
curl "https://api.oldcarsdata.com/auctions/live?make=Porsche&updated_since=2026-05-04T00:00:00Z" \ -H "Authorization: Bearer YOUR_API_KEY"JavaScript#
const params = new URLSearchParams({ make: 'Porsche', sort: 'ending', direction: 'asc', limit: '10',});const response = await fetch( `https://api.oldcarsdata.com/auctions/live?${params}`, { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } });const data = await response.json();Python#
import requestsresponse = requests.get( 'https://api.oldcarsdata.com/auctions/live', params={'make': 'Porsche', 'sort': 'ending', 'direction': 'asc', 'limit': 10}, headers={'Authorization': 'Bearer YOUR_API_KEY'})data = response.json()Success Response (200)#
Live auctions retrieved successfully.
{ "data": [ { "id": 98765, "source": "bringatrailer", "url": "https://bringatrailer.com/listing/...", "title": "1997 Porsche 911 Carrera Coupe", "auction_status": "active", "price": 72000, "currency": "USD", "auction_end_at": "2026-05-06 19:30:00", "auction_end_precision": "exact", "mileage": 42000, "vin": "WP0AA2997VS320123", "title_status": "clean", "city": "Portland", "state": "OR", "seller_username": "aircooled-market", "year": 1997, "has_reserve": true, "listing_make": "Porsche", "listing_model": "911 Carrera", "ocd_make_name": "Porsche", "ocd_model_name": "911", "image_url": "https://bringatrailer.com/wp-content/uploads/2026/05/porsche-911-featured.jpg", "featured_image_url": "https://bringatrailer.com/wp-content/uploads/2026/05/porsche-911-featured.jpg", "created_at": "2026-05-01 15:12:00", "updated_at": "2026-05-04 02:45:00", "stats": { "views": 14320, "watches": 256, "likes": 42, "bids": 18 }, "modifications": [], "known_flaws": [], "recent_service_history": [], "listing_details": [] } ], "meta": { "total": 42, "page": 1, "limit": 10, "total_pages": 5 }}Response Fields#
Live auction responses include every field from Get Auctions, including auction_end_at and auction_end_precision, plus:
| Field | Type | Description |
|---|---|---|
data[].image_url# | string | null | Deprecated alias for featured_image_url. Use featured_image_url for new integrations. |
data[].updated_at# | string | null | Last update wall-clock timestamp in YYYY-MM-DD HH:mm:ss[.ffffff] format. No UTC offset is included. Use with updated_since for polling. |
Error Responses#
400Invalid requestCheck required values and accepted formats.401UnauthorizedAdd a valid Bearer API key.403Access deniedVerify your email and confirm plan access.429Rate limit reachedWait for the reset window before retrying.| Field | Type | Description |
|---|---|---|
error# | string | Error type identifier (e.g., "Validation Error", "HTTP Error"). |
message# | string | Human-readable error message. |
details# | object | Validation error details (only on 400 responses). Keys are field names, values are arrays of error messages. |
400 — Validation Error:
{ "error": "Validation Error", "message": "ending_after: Invalid ISO datetime", "details": { "ending_after": ["Invalid ISO datetime"] }}401 — Unauthorized:
{ "error": "Unauthorized", "message": "API key is required. Provide it via Authorization: Bearer <key> header"}