Vehicle data

Tesla Model S vehicle data API: signals, model years and connection options

Get API keys →

DIMO gives developers API access to Tesla Model S vehicle data. Model years 2013 and newer connect through the OEM cloud (Tesla). Headline signals include odometer, current charge level and vehicle speed.

DIMO gives developers API access to vehicle-state data: diagnostics, fault codes, battery and fuel health, odometer, and maintenance signals. For the Tesla Model S, 2013 and newer, data comes through Tesla's cloud connection, and this coverage has been tested. The record lists odometer, charge level, remaining range, charging status, tire pressure and door state signals, plus the recharge event. Vehicle owners consent to and control sharing, so builders get data with clear provenance.

Signals by connection type

OEM cloud (no hardware) — Tesla (2013 and newer)

SignalDIMO nameUnit
OdometerpowertrainTransmissionTravelledDistancekm
Current Charge LevelpowertrainTractionBatteryStateOfChargeCurrent%
Vehicle Speedspeedkm/h
Range (remaining)powertrainRangekm
Air TemperatureexteriorAirTemperature°C
AC Current Charge (Alternating Current)powertrainTractionBatteryChargingChargeCurrentACamps
Back Driver Side DoorcabinDoorRow2DriverSideIsOpen—
Back Driver Side WindowcabinDoorRow2DriverSideWindowIsOpen—
Back Left WheelchassisAxleRow2WheelLeftTirePressurekPa
Back Passenger Side DoorcabinDoorRow2PassengerSideIsOpen—
Back Passenger Side WindowcabinDoorRow2PassengerSideWindowIsOpen—
Back Right WheelchassisAxleRow2WheelRightTirePressurekPa
Battery PowerpowertrainTractionBatteryCurrentPowerwatts
Charge LimitpowertrainTractionBatteryChargingChargeLimit%
Charging Cable ConnectedpowertrainTractionBatteryChargingIsChargingCableConnected—
Charging StatuspowertrainTractionBatteryChargingIsCharging—
Charging VoltagepowertrainTractionBatteryChargingChargeVoltageUnknownTypevolts
Front Driver Side DoorcabinDoorRow1DriverSideIsOpen—
Front Driver Side WindowcabinDoorRow1DriverSideWindowIsOpen—
Front Left WheelchassisAxleRow1WheelLeftTirePressurekPa
Front Passenger Side DoorcabinDoorRow1PassengerSideIsOpen—
Front Passenger Side WindowcabinDoorRow1PassengerSideWindowIsOpen—
Front Right WheelchassisAxleRow1WheelRightTirePressurekPa
Remaining EnergypowertrainTractionBatteryStateOfChargeCurrentEnergykWh
Session EnergypowertrainTractionBatteryChargingAddedEnergykWh
CoordinatescurrentLocationCoordinates—

Events available

  • Recharge

Build it

Query the latest Tesla Model S signals with the DIMO TypeScript SDK. The vehicle owner must first share access with your app through DIMO Connect.

import { DIMO } from '@dimo-network/data-sdk';
const dimo = new DIMO('Production');
const tokenId = Number(process.env.DIMO_TOKEN_ID); // from DIMO Connect
const developerJwt = await dimo.auth.getDeveloperJwt({
client_id: process.env.DIMO_CLIENT_ID,
domain: process.env.DIMO_REDIRECT_URI,
private_key: process.env.DIMO_API_KEY,
});
const vehicleJwt = await dimo.tokenexchange.getVehicleJwt({
...developerJwt,
tokenId,
});
// Latest Tesla Model S signals
const data = await dimo.telemetry.query({
...vehicleJwt,
query: `
query {
signalsLatest(tokenId: ${tokenId}) {
powertrainTransmissionTravelledDistance {
value
timestamp
}
powertrainTractionBatteryStateOfChargeCurrent {
value
timestamp
}
speed {
value
timestamp
}
}
}`,
});
console.log(JSON.stringify(data, null, 2));

Full walkthrough: Developer quickstart.

FAQ

How do I detect recharging on a Tesla Model S?

Tesla's cloud connection provides the charging signals and the recharge event. Query the Telemetry API segments resource with mechanism set to recharge, which uses charging signals and state of charge for detection. The maximum date range per query is 31 days.

How do I get notified when a Tesla Model S starts charging?

Create a webhook with the Vehicle Triggers API on the signal vss.powertrainTractionBatteryChargingIsCharging with a condition such as valueNumber == 1, then subscribe the vehicle to it. DIMO sends a POST request to your targetURL when the condition is met. Webhooks are in public beta.

How do I verify Tesla Model S mileage?

Tesla's cloud connection provides the odometer signal. Call the Attestation API odometer-statement endpoint with a Vehicle JWT, then retrieve the resulting rawVC through the Telemetry API. You need the vehicle shared with your Developer License to get that JWT.

Which Tesla Model S model years work with DIMO?

Tesla Model S model years 2013 and newer connect through the OEM cloud (Tesla). For older vehicles, contact DIMO for additional support.

Do I need hardware to get Tesla Model S data?

No. Every listed Tesla Model S model year connects through the OEM cloud without hardware.

Source: DIMO vehicle compatibility records. Coverage tested on a connected vehicle. Last verified .