Compatibility
Compatible Vehicles
Learn how Smartcar determines vehicle compatibility and how to access compatibility data for your application.
GET
Smartcar compatibility reflects which vehicles are compatible with specific signals and commands, updated dynamically based on real activity across the Smartcar platform.Documentation Index
Fetch the complete documentation index at: https://smartcar.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Browsing Compatibility Data
The most convenient way to explore compatibility is through our website, where you can browse and download a CSV of the full dataset:Compatible Vehicles
Look up which vehicles support which signals and commands, filter by make or region, and export the full matrix as a CSV.
Accessing Compatibility Data Programmatically
If your application needs to consume this data dynamically, use the endpoint above.Query Parameters
Filter vehicles by market region. Omit to return all regions.
Filter vehicles by manufacturer (case-insensitive). Example:
TESLA, BMW, FORD. Omit to return all makes.Filter vehicles by powertrain type. Omit to return all types.
Response Schema
The response follows JSON:API format with adata array of vehicle compatibility entries, pagination metadata, and a self link.
Data Item
Each item in thedata array represents a unique vehicle make/model/powertrain/region combination.
| Field | Type | Description |
|---|---|---|
id | string | Deterministic composite key (e.g., TESLA-Model 3-2016-2026-BEV-US). |
type | string | Always vehicle-model-capability. |
attributes.make | string | Vehicle manufacturer display name (e.g., Tesla, Mercedes-Benz). |
attributes.model | string | Vehicle model name. |
attributes.region | string | Market region: US, CA, or EUROPE. |
attributes.powertrainType | string | Powertrain type: ICE, BEV, or PHEV.* |
attributes.years.start | integer | First compatible model year. |
attributes.years.end | integer | Last compatible model year. |
attributes.capabilities | array | Array of compatible signal and command objects. |
ICE in Smartcar API responses.
Capability Object
Each capability inattributes.capabilities describes a signal or command the vehicle supports.
| Field | Type | Description |
|---|---|---|
type | string | signal for data signals, command for executable commands. |
name | string | Human-readable name (e.g., State Of Charge, Start charge). |
group | string | Signal group (e.g., TractionBattery, Charge). Empty for commands. |
code | string | Internal code (e.g., StateOfCharge, charge-start). |
capability | string | Capability key (e.g., tractionbattery-stateofcharge). |
permission | string | Required Smartcar permission (e.g., read_battery). |
Pagination Metadata
| Field | Type | Description |
|---|---|---|
meta.page | integer | Always 1 (all data returned in a single response). |
meta.pageSize | integer | Number of items returned. |
meta.totalCount | integer | Total number of items (equals pageSize). |
Error Handling
| Status | Description |
|---|---|
200 | Successful request. If no vehicles match the filters, data will be an empty array — this is not an error. |
404 | Invalid path. Returned when the requested URL does not match any endpoint. |
500 | Server error. Retry with exponential backoff. |
How Compatibility is Determined
Smartcar compatibility data is generated dynamically from real vehicle connections and API requests across the platform. When we mark a vehicle as compatible with a specific signal, it means we have confirmed successful requests to that signal on that vehicle. Because this data is based on platform activity:- Unlisted vehicles — If a particular make, model, or year is not listed, it may be because we have not yet seen one connected to our platform, or we do not yet have sufficient data to determine compatibility.
- Dynamic updates — The dataset is updated daily as new vehicles connect and new data flows through the platform.
While we strive for accuracy and comprehensiveness, it is important to acknowledge that the functional capabilities of individual vehicles can exhibit variability. Even if we have confirmed a particular make, model, and year as compatible with a specific signal, a slight trim variation could cause the same vehicle to not be compatible.

