Get Models#

Returns normalized model names for one make (use a make value from GET /makes).

Use this before GET /auctions

Pass each string from data as the model query parameter on GET /auctions, together with the matching make from GET /makes.

Query limit: This endpoint is public and does not count toward your plan query limit. On MCP, list_models is excluded the same way when it is the only tool call in that HTTP request.

GEThttps://api.oldcarsdata.com/models
GET/models?make=Toyota
Edit request1 parameters
curl "https://api.oldcarsdata.com/models?make=Toyota"
Sends directly from your browser
Response example200
{
  "data": ["Celica", "Corolla", "Land Cruiser", "Supra"]
}

Request Parameters#

FieldTypeRequiredDescription
make#stringYesMake name to get models for. Minimum length: 1 character.

Code Examples#

cURL#

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

JavaScript#

javascript
const response = await fetch(  'https://api.oldcarsdata.com/models?make=Toyota');const data = await response.json();

Python#

python
import requestsresponse = requests.get(    'https://api.oldcarsdata.com/models',    params={'make': 'Toyota'})data = response.json()

Success Response (200)#

Models retrieved successfully.

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

Response Fields#

FieldTypeDescription
data#arrayArray of model names (strings) for the specified make, sorted alphabetically

Error Responses#

400Invalid requestCheck required values and accepted formats.
429Rate limit reachedWait for the reset window before retrying.
500Server errorRetry with exponential backoff.
FieldTypeDescription
error#stringError type identifier
message#stringHuman-readable error message
details#objectValidation error details (400 responses only)

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

Summarize this page with: