Get Auctions

Retrieve paginated auction listings with filtering and sorting options. Starter plan users are limited to the latest 20 auctions.

GET https://api.oldcarsdata.com/auctions

Authentication

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

Authorization: Bearer YOUR_API_KEY

Starter Plan Limitation: Starter plan users are limited to the latest 20 auctions regardless of filters or pagination. Upgrade to a paid plan for full historical data access.

Request Parameters

FieldTypeRequiredDescription
AuthorizationheaderYesBearer token with your API key: Bearer YOUR_API_KEY
makestringYesMake name (e.g., "Toyota"). Minimum length: 1 character.
modelstringNoModel name to filter by
year_minintegerNoMinimum year filter (inclusive)
year_maxintegerNoMaximum year filter (inclusive)
price_minintegerNoMinimum price filter (inclusive)
price_maxintegerNoMaximum price filter (inclusive)
statusenumNoAuction status filter. Options: "sold", "bid to", "reserve not met", "canceled", "unknown"
sourcestringNoSource platform filter (e.g., "bringatrailer")
keywordstringNoSearch keyword to match in title and description (case-insensitive)
sortenumNoSort field. Options: "date" (default), "price", "year", "bids"
directionenumNoSort direction. Options: "asc", "desc" (default)
pageintegerNoPage number for pagination. Minimum: 1, default: 1
limitintegerNoNumber of results per page. Range: 1-100, default: 50

Code Examples

cURL

bash
curl "https://api.oldcarsdata.com/auctions?make=Toyota&model=Land+Cruiser&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

JavaScript

javascript
const response = await fetch(
  'https://api.oldcarsdata.com/auctions?make=Toyota&model=Land+Cruiser&limit=10',
  {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  }
);
const data = await response.json();

Python

python
import requests

response = requests.get(
    'https://api.oldcarsdata.com/auctions',
    params={'make': 'Toyota', 'model': 'Land Cruiser', 'limit': 10},
    headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
data = response.json()

Success Response (200)

Auctions retrieved successfully.

json
{
  "data": [
    {
      "id": 12345,
      "source": "bringatrailer",
      "url": "https://bringatrailer.com/listing/...",
      "title": "1970 Toyota Land Cruiser FJ40",
      "auction_status": "sold",
      "price": 45000,
      "auction_end_date": "2024-01-15",
      "mileage": 85000,
      "vin": "FJ40123456",
      "title_status": "clean",
      "city": "Los Angeles",
      "state": "CA",
      "zip": "90001",
      "seller_username": "seller123",
      "year": 1970,
      "has_reserve": true,
      "listing_make": "Toyota",
      "listing_model": "Land Cruiser",
      "engine": "4.2L I6",
      "drivetrain": "4WD",
      "transmission": "Manual",
      "body_style": "SUV",
      "exterior_color": "Beige",
      "standard_exterior_color": "Beige",
      "interior_color": "Brown",
      "standard_interior_color": "Brown",
      "seller_type": "private",
      "ocd_make_name": "Toyota",
      "ocd_model_name": "Land Cruiser",
      "description": "Well-maintained FJ40...",
      "ownership_history": "Original owner",
      "modifications": ["Lift kit", "Aftermarket wheels"],
      "known_flaws": ["Minor rust on rear bumper"],
      "recent_service_history": ["Oil change 2023", "Brake service 2023"],
      "listing_details": ["Clean title", "No accidents"],
      "created_at": "2024-01-10T10:00:00Z",
      "featured_image_url": "https://bringatrailer.com/wp-content/uploads/2024/01/1970_toyota_land-cruiser_fj40_12345.jpg",
      "stats": {
        "views": 1250,
        "watches": 45,
        "likes": 12,
        "bids": 23
      }
    }
  ],
  "meta": {
    "total": 150,
    "page": 1,
    "limit": 10,
    "total_pages": 15
  }
}

Response Fields

FieldTypeDescription
dataarrayArray of auction objects
data[].idnumberUnique auction identifier
data[].sourcestring | nullSource platform name
data[].urlstring | nullURL to the auction listing
data[].titlestring | nullAuction listing title
data[].auction_statusenumStatus: "sold", "bid to", "reserve not met", "canceled", "unknown"
data[].pricenumber | nullFinal sale price or bid amount
data[].auction_end_datestring | nullAuction end date (YYYY-MM-DD format)
data[].mileagenumber | nullVehicle mileage
data[].vinstring | nullVehicle identification number
data[].title_statusstring | nullTitle status (e.g., "clean", "salvage")
data[].citystring | nullVehicle location city
data[].statestring | nullVehicle location state
data[].zipstring | nullVehicle location ZIP code
data[].seller_usernamestring | nullSeller username
data[].yearnumber | nullVehicle model year
data[].has_reserveboolean | nullWhether the auction had a reserve price
data[].listing_makestring | nullMake name from listing
data[].listing_modelstring | nullModel name from listing
data[].ocd_make_namestring | nullNormalized make name
data[].ocd_model_namestring | nullNormalized model name
data[].enginestring | nullEngine specification
data[].drivetrainstring | nullDrivetrain type
data[].transmissionstring | nullTransmission type
data[].body_stylestring | nullVehicle body style
data[].exterior_colorstring | nullExterior color as listed
data[].standard_exterior_colorstring | nullNormalized exterior color
data[].interior_colorstring | nullInterior color as listed
data[].standard_interior_colorstring | nullNormalized interior color
data[].seller_typestring | nullSeller type (e.g., "private", "dealer")
data[].descriptionstring | nullListing description text
data[].ownership_historystring | nullOwnership history information
data[].modificationsarrayArray of modification descriptions
data[].known_flawsarrayArray of known flaw descriptions
data[].recent_service_historyarrayArray of recent service history entries
data[].listing_detailsarrayArray of listing detail strings
data[].created_atstring | nullRecord creation timestamp (ISO 8601)
data[].featured_image_urlstring | nullURL to the featured image
data[].statsobjectAuction engagement statistics
data[].stats.viewsnumber | nullNumber of views
data[].stats.watchesnumber | nullNumber of watchers
data[].stats.likesnumber | nullNumber of likes/comments
data[].stats.bidsnumber | nullNumber of bids
metaobjectPagination metadata
meta.totalnumberTotal number of matching auctions
meta.pagenumberCurrent page number
meta.limitnumberNumber of results per page
meta.total_pagesnumberTotal number of pages

Error Responses

FieldTypeDescription
errorstringError type identifier (e.g., "Validation Error", "HTTP Error")
messagestringHuman-readable error message
detailsobjectValidation error details (only on 400 responses). Keys are field names, values are arrays of error messages.

400 — Validation Error:

json
{
  "error": "Validation Error",
  "message": "make: String must contain at least 1 character(s)",
  "details": {
    "make": ["String must contain at least 1 character(s)"]
  }
}

401 — Unauthorized:

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