DIMO gives developers API access to Subaru Outback vehicle data. Model years 2010 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 Subaru Outback, that data comes through a DIMO device, with coverage for model years 2010 and newer. Coverage for this model is tested rather than expected, and no coverage gaps are noted. Once the owner shares the vehicle, you query its signals through the Telemetry API with a Vehicle JWT.
Signals by connection type
DIMO device — DIMO LTE R1 (2010 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 |
| Distance with MIL On | obdDistanceWithMIL | km |
| DTC Count | obdStatusDTCCount | — |
| Engine runtime | obdRunTime | seconds |
| 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 |
|---|---|---|
| Odometer | powertrainTransmissionTravelledDistance | km |
| Fuel Percentage | powertrainFuelSystemRelativeLevel | % |
| Vehicle Speed | speed | km/h |
| Engine RPM | powertrainCombustionEngineSpeed | rpm |
| Coolant Temperature | powertrainCombustionEngineECT | °C |
| Air Temperature | exteriorAirTemperature | °C |
| Barometric Pressure | obdBarometricPressure | kPa |
| Commanded EGR | obdCommandedEGR | % |
| Distance Since DTC Clear | obdDistanceSinceDTCClear | km |
| Distance with MIL On | obdDistanceWithMIL | km |
| Engine Air Intake | powertrainCombustionEngineMAF | grams/second |
| Engine Load | obdEngineLoad | % |
| Engine runtime | obdRunTime | seconds |
| Intake temperature | obdIntakeTemp | °C |
| Long Term Fuel Trim (Bank 1) | obdLongTermFuelTrim1 | % |
| Low Voltage Battery | lowVoltageBatteryCurrentVoltage | volts |
| Manifold Absolute Pressure | obdMAP | kPa |
| Short Term Fuel Trim (Bank 1) | obdShortTermFuelTrim1 | % |
| Throttle Position | powertrainCombustionEngineTPS | % |
| Warmups Since DTC Clear | obdWarmupsSinceDTCClear | — |
| Altitude Level | currentLocationAltitude | m |
| Coordinates | currentLocationCoordinates | — |
No factory connectivity?
Subaru Outback model years 2010 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
Build it
Query the latest Subaru Outback 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 Subaru Outback 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 Subaru Outback?
Yes, with a DIMO device installed. The Telemetry API returns fuel level as a percentage and in liters when you query with a Vehicle JWT for that vehicle.
How do I track a Subaru Outback with no connected services?
Install a DIMO device and have the owner share the vehicle with your app. Exchange your Developer JWT for a Vehicle JWT through the Token Exchange API, then query the Telemetry API.
How do I detect idling on a Subaru Outback?
Use the Telemetry API segments query with the idling detection mechanism, which requires a DIMO device. It treats contiguous periods where engine RPM stays in the idle range as segments, and the maxIdleRpm setting (default 1000) adjusts the threshold.
How do I verify Subaru Outback mileage?
With a DIMO device supplying the odometer, call the Attestation API odometer-statement endpoint with a Vehicle JWT. You then retrieve the resulting attestation through the Telemetry API.
How do I detect refuel events on a Subaru Outback?
Use the Telemetry API segments query with the refuel mechanism on a vehicle with a DIMO device. It detects where fuel level rises significantly, and minIncreasePercent (default 15) sets the minimum rise.
Which Subaru Outback model years work with DIMO?
DIMO devices have been seen working on Subaru Outback model years 2010 and newer. For older vehicles, contact DIMO for additional support.
Do I need hardware to get Subaru Outback data?
Yes. DIMO lists no OEM cloud connection for the Subaru Outback, so data comes from a DIMO device.
Source: DIMO vehicle compatibility records. Coverage tested on a connected vehicle. Last verified .