Bodies
GET /api/bodies/v2
Section titled “GET /api/bodies/v2”Returns vehicle body specifications including dimensions, doors, seating capacity, weight, and towing capacity. The demo dataset covers model years 2015–2020. To access the full range from 1900 to today, subscribe and include a valid JWT.
Sample Request
Section titled “Sample Request”curl "https://carapi.app/api/bodies/v2?year=2024&make=Ford&model=F-150" \ -H "Authorization: Bearer YOUR_JWT_TOKEN_HERE"const params = new URLSearchParams({ year: '2024', make: 'Ford', model: 'F-150' });
const response = await fetch(`https://carapi.app/api/bodies/v2?${params}`, { headers: { 'Authorization': `Bearer ${jwt}` }});
const data = await response.json();console.log('Bodies:', data);import requests
headers = { 'Authorization': f'Bearer {jwt}'}
params = { 'year': '2024', 'make': 'Ford', 'model': 'F-150'}
response = requests.get( 'https://carapi.app/api/bodies/v2', headers=headers, params=params)
data = response.json()print('Bodies:', data)use GuzzleHttp\Client;
$client = new Client();
$response = $client->get('https://carapi.app/api/bodies/v2', [ 'headers' => [ 'Authorization' => 'Bearer YOUR_JWT_TOKEN_HERE', ], 'query' => [ 'year' => '2024', 'make' => 'Ford', 'model' => 'F-150', ],]);
$data = json_decode($response->getBody(), true);print_r($data);$url = 'https://carapi.app/api/bodies/v2?' . http_build_query([ 'year' => '2024', 'make' => 'Ford', 'model' => 'F-150',]);
$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_JWT_TOKEN_HERE',]);
$response = curl_exec($ch);curl_close($ch);
$data = json_decode($response, true);print_r($data);Sample Response
Section titled “Sample Response”{ "collection": { "url": "/api/bodies/v2?trim_id=8860", "count": 1, "pages": 1, "total": 1, "next": "", "prev": "", "first": "/api/bodies/v2?trim_id=8860", "last": "" }, "data": [ { "id": 8860, "make_id": 22, "model_id": 4779, "submodel_id": 73504, "trim_id": 8860, "year": 2020, "make": "Toyota", "model": "Camry", "series": null, "submodel": "LE", "trim": "LE", "trim_description": "LE 4dr Sedan (2.5L 4cyl 8A)", "type": "Sedan", "doors": 4, "length": "192.1", "width": "72.4", "seats": 5, "height": "56.9", "wheel_base": "111.2", "front_track": null, "rear_track": null, "ground_clearance": "5.7", "cargo_capacity": "15.1", "max_cargo_capacity": null, "curb_weight": 3296, "gross_weight": null, "max_payload": null, "max_towing_capacity": null } ]}Filtering
Section titled “Filtering”Use /api/vehicle-attributes for a complete list of valid attribute values.
curl "https://carapi.app/api/bodies/v2?year=2024&make=Ford&json=[{\"field\":\"doors\",\"op\":\">=\",\"val\":4},{\"field\":\"type\",\"op\":\"in\",\"val\":[\"SUV\",\"Van\"]}]" \ -H "Authorization: Bearer YOUR_JWT_TOKEN_HERE"const filter = JSON.stringify([ { field: 'doors', op: '>=', val: 4 }, { field: 'type', op: 'in', val: ['SUV', 'Van'] }]);
const response = await fetch( `https://carapi.app/api/bodies/v2?year=2024&make=Ford&json=${encodeURIComponent(filter)}`, { headers: { 'Authorization': `Bearer ${jwt}` } });
const data = await response.json();console.log('Bodies:', data);import requestsimport json
headers = { 'Authorization': f'Bearer {jwt}'}
params = { 'year': '2024', 'make': 'Ford', 'json': json.dumps([ {'field': 'doors', 'op': '>=', 'val': 4}, {'field': 'type', 'op': 'in', 'val': ['SUV', 'Van']} ])}
response = requests.get( 'https://carapi.app/api/bodies/v2', headers=headers, params=params)
data = response.json()print('Bodies:', data)use GuzzleHttp\Client;
$client = new Client();
$response = $client->get('https://carapi.app/api/bodies/v2', [ 'headers' => [ 'Authorization' => 'Bearer YOUR_JWT_TOKEN_HERE', ], 'query' => [ 'year' => '2024', 'make' => 'Ford', 'json' => json_encode([ ['field' => 'doors', 'op' => '>=', 'val' => 4], ['field' => 'type', 'op' => 'in', 'val' => ['SUV', 'Van']], ]), ],]);
$data = json_decode($response->getBody(), true);print_r($data);$filter = json_encode([ ['field' => 'doors', 'op' => '>=', 'val' => 4], ['field' => 'type', 'op' => 'in', 'val' => ['SUV', 'Van']],]);
$url = 'https://carapi.app/api/bodies/v2?' . http_build_query(['year' => '2024', 'make' => 'Ford', 'json' => $filter]);
$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer YOUR_JWT_TOKEN_HERE',]);
$response = curl_exec($ch);curl_close($ch);
$data = json_decode($response, true);print_r($data);GET /api/bodies Deprecated
Section titled “GET /api/bodies ”This legacy endpoint supports a verbose=yes parameter to include make, model, and trim in the
response description. Use /api/bodies/v2 for all new integrations.