Bring a Trailer API endpoint
Returns Bring a Trailer's Makes and Models Directory: every make with its model pages and the numeric model_id that bringatrailer_results accepts. Narrow with q (matches make or model names) or make (exact slug).
/bringatrailer/makesReturns Bring a Trailer's Makes and Models Directory: about 425 makes and 2,300 model pages. This is the discovery endpoint for the make and model_id parameters of bringatrailer-results.
q is case-insensitive text matched against make and model names; a make is returned when its own name or any of its models matches, together with all of its models. make is an exact make slug (for example porsche) and returns that single make. With neither parameter the full directory is returned (several hundred kilobytes).
Notable response behavior:
makes[].name is the value the make parameter of bringatrailer-results expects; makes[].slug is the value this endpoint's own make parameter expects.models[].model_id is the value the model_id parameter expects. It is read from the directory's notification links, so a model without one is skipped rather than guessed.models: [].total_makes and total_models count the returned makes after filtering.| Field | Filled in, of 1 checked | Values in the sample |
|---|---|---|
| name | 1 | “Porsche” |
| slug | 1 | |
| url | 1 | bringatrailer.com |
| models | 1 | median 187 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | No | Case-insensitive text matched against make and model names | 911 | |
| make | string | No | Exact make slug | porsche | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/bringatrailer/makes?q=coffee" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"total_makes": 1,
"total_models": 185,
"makes": [
{
"name": "Porsche",
"slug": "porsche",
"url": "https://bringatrailer.com/porsche/",
"models": [
{
"model_id": 80690508,
"name": "Porsche 356 Carrera",
"slug": "356-carrera",
"url": "https://bringatrailer.com/porsche/356-carrera/"
},
{
"model_id": 124656843,
"name": "Porsche 356 Parts & Automobilia",
"slug": "356-parts-automobilia",
"url": "https://bringatrailer.com/porsche/356-parts-automobilia/"
}
]
}
]
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/bringatrailer.makesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | bringatrailer.MakesResponse | No | ||||
| data.makes | array | No | ||||
| data.makes[].models | array | No | ||||
| data.makes[].models[].model_id | integer | No | ||||
| data.makes[].models[].name | string | No | ||||
| data.makes[].models[].slug | string | No | ||||
| data.makes[].models[].url | string | No | ||||
| data.makes[].name | string | No | ||||
| data.makes[].slug | string | No | ||||
| data.makes[].url | string | No | ||||
| data.total_makes | integer | No | ||||
| data.total_models | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/bringatrailer/makes?q=coffee" \
-H "x-api-key: $CRAWLORA_API_KEY"