OCDOld Cars Data

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
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)

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

Cars & Bids example (cURL)

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

Recent bids (cURL)

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

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

import requests

response = 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.

{
  "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:

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

401 — Unauthorized:

{
  "error": "Unauthorized",
  "message": "API key is required. Provide it via Authorization: Bearer <key> header"
}
Try this request
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.

Summarize this page with: