Get Auction Bids#

Retrieve paginated bid history for live or completed Bring a Trailer, Cars & Bids, Hemmings, Hagerty, PCAR Market, All Collector Cars, and Sotheby's Motorsport auctions where bid data is available. Use the id returned by Get Auctions or Get Live Auctions as auction_id.

GEThttps://api.oldcarsdata.com/auctions/{auction_id}/bids
GET/auctions/98765/bids?sort=bid_at&direction=asc
Edit request3 parameters
curl "https://api.oldcarsdata.com/auctions/98765/bids?sort=bid_at&direction=asc" \
  -H "Authorization: Bearer $OCD_API_KEY"
Sends directly from your browser
Response example200
{
  "data": [
    {
      "amount": 72000,
      "bid_at": "2026-05-04 18:42:11",
      "bidder_username": "collector_911"
    }
  ]
}
Your key is never saved to local storage or sent through the docs server.
Beta7 bid-history 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
  • Sotheby's Motorsport sothebysmotorsport
Child resource

This endpoint is scoped to a single auction. It returns the full bid history as its own paginated collection instead of embedding bids inside auction search results.

Authentication#

This endpoint requires authentication. Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Request Parameters#

FieldTypeRequiredDescription
Authorization#headerYesBearer token with your API key: Bearer YOUR_API_KEY
auction_id#path integerYesAuction ID returned by Get Auctions or Get Live Auctions. Bid history is returned when available for supported Bring a Trailer, Cars & Bids, Hemmings, Hagerty, PCAR Market, All Collector Cars, and Sotheby's Motorsport auctions.
bid_after#date-timeNoOnly include bids placed at or after this ISO 8601 timestamp.
bid_before#date-timeNoOnly include bids placed at or before this ISO 8601 timestamp.
sort#enumNoSort field. Options: "bid_at" (default), "amount", "created".
direction#enumNoSort direction. Options: "asc" (default), "desc".
page#integerNoPage number for pagination. Minimum: 1, default: 1.
limit#integerNoNumber of bids per page. Range: 1-100, default: 100.

Code Examples#

Full bid history (cURL)#

bash
curl "https://api.oldcarsdata.com/auctions/98765/bids" \  -H "Authorization: Bearer YOUR_API_KEY"

Cars & Bids example (cURL)#

bash
curl "https://api.oldcarsdata.com/auctions/20410/bids?limit=10&sort=amount&direction=desc" \  -H "Authorization: Bearer YOUR_API_KEY"

Recent bids (cURL)#

bash
curl "https://api.oldcarsdata.com/auctions/98765/bids?bid_after=2026-05-03T00:00:00Z&sort=bid_at&direction=asc" \  -H "Authorization: Bearer YOUR_API_KEY"

JavaScript#

javascript
const auctionId = 98765;const params = new URLSearchParams({  sort: 'bid_at',  direction: 'asc',  limit: '100',});const response = await fetch(  `https://api.oldcarsdata.com/auctions/${auctionId}/bids?${params}`,  {    headers: {      'Authorization': 'Bearer YOUR_API_KEY'    }  });const data = await response.json();

Python#

python
import requestsresponse = requests.get(    'https://api.oldcarsdata.com/auctions/98765/bids',    params={'sort': 'bid_at', 'direction': 'asc', 'limit': 100},    headers={'Authorization': 'Bearer YOUR_API_KEY'})data = response.json()

Success Response (200)#

Bid history retrieved successfully.

json
{  "data": [    {      "id": 12345,      "auction_id": 98765,      "bidder_name": "user123",      "amount": 25000,      "currency": "USD",      "bid_at": "2026-05-03 18:42:11.000",      "created_at": "2026-05-03 18:43:02.000"    }  ],  "meta": {    "total": 42,    "page": 1,    "limit": 100,    "total_pages": 1  }}

Response Fields#

FieldTypeDescription
data#arrayArray of bid objects.
data[].id#number | nullUnique bid identifier.
data[].auction_id#number | nullAuction ID this bid belongs to.
data[].bidder_name#string | nullBidder username as reported by the auction source.
data[].amount#number | nullBid amount.
data[].currency#string | nullISO 4217 currency code, such as "USD" or "CAD".
data[].bid_at#string | nullBid placement wall-clock timestamp in YYYY-MM-DD HH:mm:ss[.ffffff] format when available. No UTC offset is included.
data[].created_at#string | nullRecord creation wall-clock timestamp in YYYY-MM-DD HH:mm:ss[.ffffff] format. No UTC offset is included.
meta#objectPagination metadata.
meta.total#numberTotal number of matching bids.
meta.page#numberCurrent page number.
meta.limit#numberNumber of bids per page.
meta.total_pages#numberTotal number of pages.

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.
FieldTypeDescription
error#stringError type identifier, such as "Validation Error" or "HTTP Error".
message#stringHuman-readable error message.
details#objectValidation error details on 400 responses. Keys are field names, values are arrays of error messages.

400 — Validation Error:

json
{  "error": "Validation Error",  "message": "auctionId: Number must be greater than 0",  "details": {    "auctionId": ["Number must be greater than 0"]  }}

401 — Unauthorized:

json
{  "error": "Unauthorized",  "message": "API key is required. Provide it via Authorization: Bearer <key> header"}

Summarize this page with: