Vehicle data

Kia Optima vehicle data API: signals, model years and connection options

Get API keys →

DIMO gives developers API access to Kia Optima vehicle data. Model years 2012 and newer connect with a DIMO device (DIMO LTE R1 or AutoPi). Headline signals include odometer, fuel percentage and current charge level.

DIMO supports the Kia Optima through a DIMO device, for model years 2012 and newer, and this coverage has been tested. DIMO gives developers API access to vehicle-state data: diagnostics, fault codes, battery and fuel health, odometer, and maintenance signals. Vehicle owners consent to and control sharing, so builders get data with clear provenance. Read the data through the Telemetry API using a Vehicle JWT for a vehicle shared with you.

Signals by connection type

DIMO device — DIMO LTE R1 (2012 and newer)

SignalDIMO nameUnit
OdometerpowertrainTransmissionTravelledDistancekm
Fuel PercentagepowertrainFuelSystemRelativeLevel%
Current Charge LevelpowertrainTractionBatteryStateOfChargeCurrent%
Vehicle Speedspeedkm/h
Vehicle Ignition StatusisIgnitionOn—
Engine RPMpowertrainCombustionEngineSpeedrpm
Coolant TemperaturepowertrainCombustionEngineECT°C
Air TemperatureexteriorAirTemperature°C
Back Left WheelchassisAxleRow2WheelLeftTirePressurekPa
Back Right WheelchassisAxleRow2WheelRightTirePressurekPa
Diagnostic Trouble CodesobdDTCList—
Distance with MIL OnobdDistanceWithMILkm
DTC CountobdStatusDTCCount—
Engine runtimeobdRunTimeseconds
Front Left WheelchassisAxleRow1WheelLeftTirePressurekPa
Front Right WheelchassisAxleRow1WheelRightTirePressurekPa
Fuel TypeobdFuelTypeName—
Low Voltage BatterylowVoltageBatteryCurrentVoltagevolts
OBD Device Plugged InobdIsPluggedIn—
Powertrain TypepowertrainType—
Throttle PositionpowertrainCombustionEngineTPS%
Altitude LevelcurrentLocationAltitudem
CoordinatescurrentLocationCoordinates—
HeadingcurrentLocationHeadingdegrees

DIMO device — AutoPi (2013 and newer)

SignalDIMO nameUnit
Fuel PercentagepowertrainFuelSystemRelativeLevel%
Vehicle Speedspeedkm/h
Engine RPMpowertrainCombustionEngineSpeedrpm
Coolant TemperaturepowertrainCombustionEngineECT°C
Air TemperatureexteriorAirTemperature°C
Barometric PressureobdBarometricPressurekPa
Diagnostic Trouble CodesobdDTCList—
Distance Since DTC ClearobdDistanceSinceDTCClearkm
Distance with MIL OnobdDistanceWithMILkm
Engine LoadobdEngineLoad%
Engine runtimeobdRunTimeseconds
Intake temperatureobdIntakeTemp°C
Long Term Fuel Trim (Bank 1)obdLongTermFuelTrim1%
Low Voltage BatterylowVoltageBatteryCurrentVoltagevolts
Manifold Absolute PressureobdMAPkPa
Short Term Fuel Trim (Bank 1)obdShortTermFuelTrim1%
Throttle PositionpowertrainCombustionEngineTPS%
Warmups Since DTC ClearobdWarmupsSinceDTCClear—
Altitude LevelcurrentLocationAltitudem
CoordinatescurrentLocationCoordinates—

No factory connectivity?

Kia Optima model years 2012 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
  • Recharge
  • Harsh braking
  • New diagnostic trouble code

Build it

Query the latest Kia Optima 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 Kia Optima signals
const data = await dimo.telemetry.query({
...vehicleJwt,
query: `
query {
signalsLatest(tokenId: ${tokenId}) {
powertrainTransmissionTravelledDistance {
value
timestamp
}
powertrainFuelSystemRelativeLevel {
value
timestamp
}
powertrainTractionBatteryStateOfChargeCurrent {
value
timestamp
}
}
}`,
});
console.log(JSON.stringify(data, null, 2));

Full walkthrough: Developer quickstart.

FAQ

Can I read fuel level remotely on a Kia Optima?

Yes, with a DIMO device. It reports the Fuel Percentage signal (powertrainFuelSystemRelativeLevel), which you can query through the Telemetry API with a Vehicle JWT. The device also lists a refuel event, which the segments query can detect with the refuel mechanism.

How do I track a Kia Optima 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. Then query the Telemetry API for that vehicle.

Can I get check-engine light alerts for a Kia Optima?

Yes, with a DIMO device, which lists the dtc event and the Diagnostic Trouble Codes signal (obdDTCList). The Vehicle Triggers API (webhooks) sends a POST to your targetURL when a condition you configure is met, so you don't have to poll.

How do I detect idling on a Kia Optima?

Use a DIMO device, which lists the idling event. Query segments in the Telemetry API with the idling detection mechanism, which finds contiguous periods where engine RPM stays in the idle range and requires a DIMO device. You can set maxIdleRpm in the segment config; the default is 1000.

How do I verify Kia Optima mileage?

Use a DIMO device, which reports the Odometer signal. Call the Attestation API odometer statement endpoint (POST /v2/attestation/odometer-statement/:tokenId) with a Vehicle JWT. Then retrieve the resulting rawVC through the Telemetry API.

Which Kia Optima model years work with DIMO?

DIMO devices have been seen working on Kia Optima model years 2012 and newer. For older vehicles, contact DIMO for additional support.

Do I need hardware to get Kia Optima data?

Yes. DIMO lists no OEM cloud connection for the Kia Optima, so data comes from a DIMO device.

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