API Documentation
Access comprehensive auction data for classic and vintage vehicles through our RESTful API.
Getting Started
Base URL
https://api.oldcarsdata.comAuthentication
Most endpoints require authentication using an API key. Include your API key in the request headers:
Authorization: Bearer YOUR_API_KEYThe /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:
- Sign in or create an account
- Subscribe to an active plan
- 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:
{
"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:
{
"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:
| Plan | Requests per Billing Period |
|---|---|
| Starter | 10 |
| 1k | 1,000 |
| 10k | 10,000 |
Rate limit headers are included in all responses:
X-RateLimit-Limit— Maximum requests allowedX-RateLimit-Remaining— Remaining requests in current windowX-RateLimit-Reset— Timestamp when the rate limit resets
Error Handling
The API uses standard HTTP status codes:
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad Request (validation errors) |
401 | Unauthorized (invalid or missing API key) |
403 | Forbidden (plan does not include this endpoint) |
429 | Too Many Requests (rate limit exceeded) |
500 | Internal Server Error |
503 | Service Unavailable |
400 — Validation Error:
{
"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:
{
"error": "Unauthorized",
"message": "API key is required. Provide it via Authorization: Bearer <key> header"
}429 — Rate Limit Exceeded:
{
"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.