CarStat.dev
Connect key
Objects

The car object

One physical vehicle with its specs, all listings visible to your key, and, on detailed endpoints, full reports. Attributes a source didn't supply are usually omitted rather than set to null.

Unavailable root attributes are often omitted. Nested values may be null. /search returns availability flags without full report arrays; /cars and exact lookups attach reports. Listings are restricted to the key/domain scope but may include other listings of the same merged car. Never assume the first listing is the requested one.

idstringalways in response

Opaque internal car identifier. Preserve it as a string.

has_inspectionsbooleanalways in response

Always included, as true or false. true when the car has at least one public, published inspection on one of its listings; false when it has none. /search, /cars and /cars/{car_id} return the stored flag, so it can be true while inspections is empty (for example when the report belongs to a listing outside your source scope). /listing/{domain_id}/{listing_id} recomputes it from that listing only. Render reports from the inspections array; use the flag for badges and filters.

has_history_reportsbooleanalways in response

Always included, as true or false. true when at least one public vehicle history report is linked to a listing in your scope; false otherwise. Detailed endpoints recompute it from the returned vehicle_history_reports. For a per-source badge, use listings[].has_history_reports.

yearinteger
monthinteger
engine_volumeinteger
cylindersinteger
doorsinteger
seatsinteger
transmission_stepsinteger
power_hpinteger
battery_capacity_kwhnumber
vinstring
brandobject
2 child attributes
idintegeralways in response
namestringnullablealways in response
modelobject
2 child attributes
idintegeralways in response
namestringnullablealways in response
body_typeobjectnullable
2 child attributes
idintegeralways in response
namestringnullablealways in response
transmissionobjectnullable
2 child attributes
idintegeralways in response
namestringnullablealways in response
fuelobjectnullable
2 child attributes
idintegeralways in response
namestringnullablealways in response
colorobjectnullable
2 child attributes
idintegeralways in response
namestringnullablealways in response
market_originobjectnullable
2 child attributes
idintegeralways in response
namestringnullablealways in response
drive_wheelsobjectnullable
2 child attributes
idintegeralways in response
namestringnullablealways in response
emission_standardobjectnullable
2 child attributes
idintegeralways in response
namestringnullablealways in response
steering_wheel_positionobjectnullable

1 = left (left-hand drive); 2 = right (right-hand drive). The response is an id/name object; the search filter accepts the integer ID. Omitted when unavailable, or null when the stored value cannot be resolved.

2 child attributes
idintegeralways in response

One of: 1, 2.

namestringalways in response

One of: left, right.

badgestring
created_atstring
updated_atstring
option_idsarray of integeralways in response
listingsarray of Listingalways in response
inspectionsarray of Inspection
vehicle_history_reportsarray of VehicleHistory
hashstringnullablealways in response

SHA-256 of serialized vehicle data excluding root created_at/updated_at and listing created_at/last_seen_at/updated_at. Includes location_details, so adding this field or changing localized names can change the hash.

Car · every field filledExample
{31 keys
"id": "example-car-021"
"has_inspections": true
"has_history_reports": true
"year": 2021
"month": 3
"vin": "EXAMPLEVIN0000021"
"brand": {2 keys
"id": 101
"name": "Example brand"
}
"model": {2 keys
"id": 201
"name": "Example SUV"
}
"badge": "2.0 Hybrid AWD Premium"
"engine_volume": 1999
"cylinders": 4
"doors": 5
"seats": 5
"transmission_steps": 8
"power_hp": 245
"battery_capacity_kwh": 1.6
"body_type": {2 keys
"id": 5
"name": "suv"
}
"transmission": {2 keys
"id": 1
"name": "automatic"
}
"fuel": {2 keys
"id": 3
"name": "hybrid"
}
"color": {2 keys
"id": 9
"name": "grey"
}
"market_origin": {2 keys
"id": 1
"name": "europe"
}
"drive_wheels": {2 keys
"id": 3
"name": "all"
}
"emission_standard": {2 keys
"id": 6
"name": "euro_6"
}
"steering_wheel_position": {2 keys
"id": 1
"name": "left"
}
"created_at": "2026-08-01T09:00:00Z"
"updated_at": "2026-09-28T06:00:00Z"
"option_ids": [6 items]
"listings": [2 items]
"inspections": [1 item]
"vehicle_history_reports": [1 item]
"hash": "3f1c9a0d7e5b2c48a61f0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f2e1d0c9b"
}

Example values chosen to show every field. IDs for enums, currency and locations are real; names, VINs and URLs are made up. A field you don't see in a real response was not supplied by the source.