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.
GET
https://api.oldcarsdata.com/auctions/{auction_id}/bidsGET
/auctions/98765/bids?sort=bid_at&direction=ascEdit 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_KEYRequest Parameters#
| Field | Type | Required | Description |
|---|---|---|---|
Authorization# | header | Yes | Bearer token with your API key: Bearer YOUR_API_KEY |
auction_id# | path integer | Yes | Auction 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-time | No | Only include bids placed at or after this ISO 8601 timestamp. |
bid_before# | date-time | No | Only include bids placed at or before this ISO 8601 timestamp. |
sort# | enum | No | Sort field. Options: "bid_at" (default), "amount", "created". |
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 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#
| Field | Type | Description |
|---|---|---|
data# | array | Array of bid objects. |
data[].id# | number | null | Unique bid identifier. |
data[].auction_id# | number | null | Auction ID this bid belongs to. |
data[].bidder_name# | string | null | Bidder username as reported by the auction source. |
data[].amount# | number | null | Bid amount. |
data[].currency# | string | null | ISO 4217 currency code, such as "USD" or "CAD". |
data[].bid_at# | string | null | Bid placement wall-clock timestamp in YYYY-MM-DD HH:mm:ss[.ffffff] format when available. No UTC offset is included. |
data[].created_at# | string | null | Record creation wall-clock timestamp in YYYY-MM-DD HH:mm:ss[.ffffff] format. No UTC offset is included. |
meta# | object | Pagination metadata. |
meta.total# | number | Total number of matching bids. |
meta.page# | number | Current page number. |
meta.limit# | number | Number of bids per page. |
meta.total_pages# | number | Total 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.| Field | Type | Description |
|---|---|---|
error# | string | Error type identifier, such as "Validation Error" or "HTTP Error". |
message# | string | Human-readable error message. |
details# | object | Validation 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"}