Engine oil life

API

Never miss an oil change

Check the status of a vehicle’s engine oil life using Smartcar’s APIs.

Engine oil life

Retrieve the remaining life span of a vehicle’s engine oil.

const smartcar = require('smartcar');

// Get all vehicles associated with this access token
const {vehicles} = await smartcar.getVehicles("<access-token>");

// Construct a new vehicle instance using the first vehicle's id
const vehicle = new smartcar.Vehicle(vehicles[0], "<access-token>");

// Fetch the vehicle's engine oil life
const oil = await vehicle.oil();
// Example http response from Smartcar
{
  "lifeRemaining": 0.35
}
import smartcar

# Get all vehicles associated with this access token
response = smartcar.get_vehicles("<access-token>")

# Construct a new vehicle instance using the first vehicle's id
vehicle = smartcar.Vehicle(response.vehicles[0], "<access-token>")

# Fetch the vehicle's engine oil life
oil = vehicle.oil()
// Example http response from Smartcar
{
  "lifeRemaining": 0.35
}
import com.smartcar.sdk.*;

// Get all vehicles associated with this access token
VehicleIds response = Smartcar.getVehicles("<access-token>");
String[] vehicleIds = response.getVehicleIds();

// Construct a new vehicle instance using the first vehicle's id
Vehicle vehicle = new Vehicle(vehicleIds[0], "<access-token>");

// Fetch the vehicle's engine oil life
VehicleEngineOil oil = vehicle.oil();
// Example http response from Smartcar
{
  "lifeRemaining": 0.35
}
import (
  "context"
  smartcar "github.com/smartcar/go-sdk"
);

// Create a smartcar client
var smartcarClient = smartcar.NewClient();

// Get all vehicles associated with this access token
var vehicleIDs, resErr = smartcarClient.GetVehicleIDs(
  context.TODO(),
  &smartcar.VehicleIDsParams{Access: "<access-token>"},
);

// Construct a new vehicle instance using the first vehicle's id
var vehicle = smartcarClient.NewVehicle(&smartcar.VehicleParams{
  ID: vehicleIDs.VehicleIDs[0],
  AccessToken: "<access-token>"},
);

// Fetch the vehicle's engine oil life
var oil, resErr = vehicle.GetOil(context.TODO());
// Example http response from Smartcar
{
  "lifeRemaining": 0.35
}
require 'smartcar'

# Get all vehicles associated with this access token
all_vehicles =  Smartcar.get_vehicles(token: token)

# Construct a new vehicle instance using the first vehicle's id
vehicle = Smartcar::Vehicle.new(
  token: "<access-token>",
  id: all_vehicles.vehicles.first
)

# Fetch the vehicle's engine oil life
engine_oil = vehicle.engine_oil()
// Example http response from Smartcar
{
  "lifeRemaining": 0.35
}
See the API docs

Product features

  • Compatible with 36 car brands

    Compatible with 39 car brands

  • Friendly user consent flow

    Friendly user consent flow

  • Works on 2015 and newer vehicles

    Works on 2015 and newer vehicles

  • Trusted & secure

    Trusted & secure

  • Retrieve live data and trigger actions

    Access to real telematics data

  • SDKs for Go, Java, Node.js, Python, and Ruby

    SDKs for Go, Java, Node.js, Python, and Ruby

Learn more about Smartcar's APIs

Related industries

Fleet management

Offer automatic engine oil life checks as part of your fleet management software and predictive maintenance products.

On-demand services

Invite customers to schedule a maintenance visit when their vehicle’s engine oil reaches the end of its recommended life span.

What we’re building

Latency and frequency of data availability may vary between makes and models.