DIMO gives developers API access to Volvo XC90 vehicle data. Model years 2011 and newer connect with a DIMO device (DIMO LTE R1 or AutoPi). Headline signals include odometer, fuel percentage 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 Volvo XC90 vehicle data API, the connection is a DIMO device, covering model years 2011 and newer, and this coverage has been tested. Vehicle owners consent to and control sharing, so builders get data with clear provenance. DIMO adds vehicle-state depth on top of GPS tracking; it doesn't replace it.
Signals by connection type
DIMO device — DIMO LTE R1 (2011 and newer)
| Signal | DIMO name | Unit |
|---|---|---|
| Odometer | powertrainTransmissionTravelledDistance | km |
| Fuel Percentage | powertrainFuelSystemRelativeLevel | % |
| Vehicle Speed | speed | km/h |
| Vehicle Ignition Status | isIgnitionOn | — |
| Engine RPM | powertrainCombustionEngineSpeed | rpm |
| Coolant Temperature | powertrainCombustionEngineECT | °C |
| Air Temperature | exteriorAirTemperature | °C |
| Back Left Wheel | chassisAxleRow2WheelLeftTirePressure | kPa |
| Back Right Wheel | chassisAxleRow2WheelRightTirePressure | kPa |
| Distance with MIL On | obdDistanceWithMIL | km |
| DTC Count | obdStatusDTCCount | — |
| Engine runtime | obdRunTime | seconds |
| Front Left Wheel | chassisAxleRow1WheelLeftTirePressure | kPa |
| Front Right Wheel | chassisAxleRow1WheelRightTirePressure | kPa |
| Fuel Level | powertrainFuelSystemAbsoluteLevel | liters |
| Fuel Type | obdFuelTypeName | — |
| Low Voltage Battery | lowVoltageBatteryCurrentVoltage | volts |
| OBD Device Plugged In | obdIsPluggedIn | — |
| Powertrain Type | powertrainType | — |
| Throttle Position | powertrainCombustionEngineTPS | % |
| Altitude Level | currentLocationAltitude | m |
| Coordinates | currentLocationCoordinates | — |
| Heading | currentLocationHeading | degrees |
DIMO device — AutoPi (2013 and newer)
| Signal | DIMO name | Unit |
|---|---|---|
| Diagnostic Trouble Codes | obdDTCList | — |
| Low Voltage Battery | lowVoltageBatteryCurrentVoltage | volts |
| Altitude Level | currentLocationAltitude | m |
| Coordinates | currentLocationCoordinates | — |
No factory connectivity?
Volvo XC90 model years 2011 and newer have no OEM cloud connection listed. For these years, a DIMO device (DIMO LTE R1 or AutoPi) plugs into the OBD-II port and streams vehicle signals once the owner connects it and consents to sharing.
See the developer quickstart for how owners connect vehicles and grant access.
Events available
- Idling
- Refuel
- Harsh braking
- New diagnostic trouble code
Build it
Query the latest Volvo XC90 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 Volvo XC90 signalsconst data = await dimo.telemetry.query({ ...vehicleJwt, query: ` query { signalsLatest(tokenId: ${tokenId}) { powertrainTransmissionTravelledDistance { value timestamp } powertrainFuelSystemRelativeLevel { value timestamp } speed { value timestamp } } }`,});console.log(JSON.stringify(data, null, 2));Full walkthrough: Developer quickstart.
FAQ
Can I read fuel level remotely on a Volvo XC90?
Yes, through a DIMO device. The record lists both a Fuel Percentage signal (powertrainFuelSystemRelativeLevel) and a Fuel Level signal in liters (powertrainFuelSystemAbsoluteLevel). Read them from the Telemetry API with a Vehicle JWT, or use refuel segments to detect refuel events.
How do I track a Volvo XC90 with no connected services?
Use a DIMO device. Once the owner shares the vehicle with your Developer License, exchange your Developer JWT for a Vehicle JWT through the Token Exchange API and query signals such as odometer, speed and coordinates in the Telemetry API.
Can I get check-engine light alerts for a Volvo XC90?
Yes, a DIMO device lists the dtc event and the Diagnostic Trouble Codes signal (obdDTCList). To get pushed alerts, create a webhook with the Vehicle Triggers API and check GET /v1/webhooks/signals for the signal names available to your trigger conditions.
How do I detect idling on a Volvo XC90?
A DIMO device lists the idling event. Query the Telemetry API segments resource with the idling detection mechanism, which finds periods where engine RPM stays in the idle range and requires a DIMO device.
How do I verify Volvo XC90 mileage?
A DIMO device provides the odometer signal in km. To get verifiable proof of the reading, call the Attestation API odometer-statement endpoint with a Vehicle JWT, then retrieve the credential through the Telemetry API.
Which Volvo XC90 model years work with DIMO?
DIMO devices have been seen working on Volvo XC90 model years 2011 and newer. For older vehicles, contact DIMO for additional support.
Do I need hardware to get Volvo XC90 data?
Yes. DIMO lists no OEM cloud connection for the Volvo XC90, so data comes from a DIMO device.
Source: DIMO vehicle compatibility records. Coverage tested on a connected vehicle. Last verified .