Getting Started#

Follow these steps to start retrieving auction data from the API.

Choose Your Integration#

  • REST API — For developers building applications. Continue reading below.
  • MCP Server — For AI tools like ChatGPT, Claude, Cursor. Query completed sales, live auctions, bid history, and stats with natural language.

1. Sign Up#

Create an account to access the API.

Sign Up / Sign In

2. Create an API Key#

After signing up and subscribing to a plan, generate an API key in your profile settings.

Go to Profile

Keep your API key secure. Include it in all requests using the Authorization header:

Authorization: Bearer YOUR_API_KEY

3. Find Available Makes#

Query the /makes endpoint to get a list of all vehicle makes in the database. These names are normalized in our dataset — you need them for auction search. Calls to /makes and /models do not count toward your plan query limit. If you use MCP, call list_makes instead (also unmetered when used alone in an MCP request).

Request:

bash
curl "https://api.oldcarsdata.com/makes"

Response:

json
{  "data": [    "Toyota",    "Ford",    "Chevrolet",    "BMW",    "Mercedes-Benz"  ]}

4. Find Models for a Make#

Use the /models endpoint with the exact make string from step 3. On MCP, use list_models with the same make string.

Request:

bash
curl "https://api.oldcarsdata.com/models?make=Toyota"

Response:

json
{  "data": [    "Land Cruiser",    "Supra",    "Celica",    "Corolla"  ]}

5. Query Auction Data#

Use the /auctions endpoint with the make and model values returned by /makes and /models — not arbitrary spellings or listing titles. Mismatched strings often return no results. On MCP, call search_auctions with the same canonical names from list_makes / list_models.

Request:

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

Response:

json
{  "data": [    {      "id": 12345,      "source": "bringatrailer",      "url": "https://bringatrailer.com/listing/...",      "title": "1970 Toyota Land Cruiser FJ40",      "auction_status": "sold",      "price": 45000,      "auction_end_at": "2024-01-15 21:00:00",      "auction_end_precision": "exact",      "mileage": 85000,      "year": 1970,      "listing_make": "Toyota",      "listing_model": "Land Cruiser",      "engine": "4.2L I6",      "drivetrain": "4WD",      "transmission": "Manual",      "body_style": "SUV",      "exterior_color": "Beige",      "interior_color": "Brown"    }  ],  "meta": {    "total": 150,    "page": 1,    "limit": 10,    "total_pages": 15  }}

6. Query Live Auctions#

Use the /auctions/live endpoint to list currently active auctions. Live auctions are currently in beta and include supported Bring a Trailer (bringatrailer), Cars & Bids (carsandbids), Hemmings (hemmings), Hagerty (hagerty), PCAR Market (pcarmarket), All Collector Cars (acc), Gooding & Co (gooding), RM Sotheby's (rmsothebys), Sotheby's Motorsport (sothebysmotorsport), Car & Classic (carandclassic), The Market (themarket), MB Market (mbmarket), Mecum Auctions (mecum), and PistonHeads (pistonheads) listings. It does not require make, vin, or seller_username, so you can build ending-soon views, poll the active market, or filter by source.

Request:

bash
curl "https://api.oldcarsdata.com/auctions/live?sort=ending&direction=asc&limit=10" \  -H "Authorization: Bearer YOUR_API_KEY"

Response:

json
{  "data": [    {      "id": 98765,      "source": "bringatrailer",      "title": "1997 Porsche 911 Carrera Coupe",      "auction_status": "active",      "price": 72000,      "auction_end_at": "2026-05-06 19:30:00",      "auction_end_precision": "exact",      "updated_at": "2026-05-04 02:45:00",      "year": 1997,      "listing_make": "Porsche",      "listing_model": "911 Carrera"    }  ],  "meta": {    "total": 42,    "page": 1,    "limit": 10,    "total_pages": 5  }}

Next Steps#

You're ready to start building. Here's where to go from here:

Summarize this page with: