API Documentation

Access comprehensive auction data for classic and vintage vehicles through our RESTful API.

Getting Started

Base URL

https://api.oldcarsdata.com

Authentication

Most endpoints require authentication using an API key. Include your API key in the request headers:

Authorization: Bearer YOUR_API_KEY

The /makes and /models endpoints are public and do not require authentication. All other endpoints require a valid API key.

Getting an API Key

To get an API key, you need to:

  1. Sign in or create an account
  2. Subscribe to an active plan
  3. Generate API keys in your profile

Keep your API key secure. Do not share it publicly or commit it to version control.

Response Format

All API responses are returned in JSON format. Successful responses include a data field containing the requested information, and paginated endpoints include a meta field with pagination details:

json
{
  "data": [ ... ],
  "meta": {
    "total": 150,
    "page": 1,
    "limit": 50,
    "total_pages": 3
  }
}

Error responses follow a consistent format with an error type and a message describing what went wrong:

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

Data Updates

Auction data is updated daily around 12pm ET / 9am PT.

Historical auction data is available dating back to 2018.

Rate Limits

Rate limits are applied per API key based on your subscription plan:

PlanRequests per Billing Period
Starter10
1k1,000
10k10,000

Rate limit headers are included in all responses:

  • X-RateLimit-Limit — Maximum requests allowed
  • X-RateLimit-Remaining — Remaining requests in current window
  • X-RateLimit-Reset — Timestamp when the rate limit resets

Error Handling

The API uses standard HTTP status codes:

CodeMeaning
200Success
400Bad Request (validation errors)
401Unauthorized (invalid or missing API key)
403Forbidden (plan does not include this endpoint)
429Too Many Requests (rate limit exceeded)
500Internal Server Error
503Service Unavailable

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"
}

429 — Rate Limit Exceeded:

json
{
  "error": "Rate Limit Exceeded",
  "message": "You have exceeded your plan limit of 1000 requests. Resets on 2025-04-01T00:00:00.000Z."
}

Data Sources

Auction data is aggregated from major collector car auction platforms:

  • Bring a Trailer — Online auctions for enthusiast vehicles
  • Cars & Bids — Modern enthusiast car auctions
  • Hagerty — Collector car auctions and valuations
  • PCAR Market — Porsche-specific auctions
  • All Collector Cars — Classic car marketplace
  • Gooding & Co — Premium collector car auctions

Data is normalized across sources with consistent make/model names, standardized colors, and structured vehicle details.

Available Endpoints

Browse the available endpoints in the navigation sidebar to view detailed documentation, request parameters, response formats, and code examples.