Vehicle data

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

Get API keys →

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

DIMO gives developers API access to vehicle-state data: diagnostics, fault codes, battery and fuel health, odometer, and maintenance signals. For the Kia Niro, which the record lists with ICE and EV powertrains, that data comes from a DIMO device on 2017 and newer model years. Coverage is tested, not expected. DIMO adds vehicle-state depth on top of GPS tracking; it doesn't replace it.

Signals by connection type

DIMO device — DIMO LTE R1 (2017 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
Battery State of HealthpowertrainTractionBatteryStateOfHealth%
Distance with MIL OnobdDistanceWithMILkm
DTC CountobdStatusDTCCount—
Engine runtimeobdRunTimeseconds
Front Left WheelchassisAxleRow1WheelLeftTirePressurekPa
Front Right WheelchassisAxleRow1WheelRightTirePressurekPa
Fuel LevelpowertrainFuelSystemAbsoluteLevelliters
Fuel TypeobdFuelTypeName—
Low Voltage BatterylowVoltageBatteryCurrentVoltagevolts
OBD Device Plugged InobdIsPluggedIn—
Powertrain TypepowertrainType—
Throttle PositionpowertrainCombustionEngineTPS%
Altitude LevelcurrentLocationAltitudem
CoordinatescurrentLocationCoordinates—
HeadingcurrentLocationHeadingdegrees

DIMO device — AutoPi (2018 and newer)

SignalDIMO nameUnit
Fuel PercentagepowertrainFuelSystemRelativeLevel%
Vehicle Speedspeedkm/h
Engine RPMpowertrainCombustionEngineSpeedrpm
Coolant TemperaturepowertrainCombustionEngineECT°C
Air TemperatureexteriorAirTemperature°C
Barometric PressureobdBarometricPressurekPa
Commanded EGRobdCommandedEGR%
Distance Since DTC ClearobdDistanceSinceDTCClearkm
Distance with MIL OnobdDistanceWithMILkm
Engine Air IntakepowertrainCombustionEngineMAFgrams/second
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 Niro model years 2017 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

Build it

Query the latest Kia Niro 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 Niro 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 Niro?

Yes, with a DIMO device. The DIMO LTE R1 lists fuel percentage and fuel level in liters, and AutoPi lists fuel percentage. Query the signals through the Telemetry API (GraphQL) with a Vehicle JWT.

How do I track a Kia Niro with no connected services?

Install a DIMO device, then have the owner share the vehicle with your Developer License. Exchange your Developer JWT for a Vehicle JWT through the Token Exchange API, and read the vehicle's signals in the Telemetry API.

How do I detect idling on a Kia Niro?

Both DIMO device providers list idling for this model. Query the Telemetry API segments resource with the idling mechanism, which requires a DIMO device. A segment is a contiguous period where engine RPM stays in the idle range, and maxIdleRpm defaults to 1000.

How do I verify Kia Niro mileage?

The DIMO LTE R1 device reports the odometer signal, powertrainTransmissionTravelledDistance, in km. To get a verifiable record, call the Attestation API odometer-statement endpoint (POST /v2/attestation/odometer-statement/:tokenId), then retrieve the rawVC through the Telemetry API.

How do I detect recharge sessions on a Kia Niro?

The DIMO LTE R1 device lists the recharge event. Use the segments resource with the recharge mechanism, which combines charging signals and state of charge. Set minIncreasePercent in the config to adjust the minimum increase, which defaults to 15.

Which Kia Niro model years work with DIMO?

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

Do I need hardware to get Kia Niro data?

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

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