Smartcar API for GMC

Mobility apps and services use Smartcar’s APIs to verify their customers’ mileage, issue digital car keys, manage EV charging, and track fleets. Our API for GMC vehicles allows your customers to log in with their OnStar account and connect their car to your app in just a few clicks.

What is Smartcar?

Smartcar is the leading developer platform for mobility businesses. Whether you need to track a vehicle’s location, verify its mileage, share a virtual key, start charging an EV, monitor a car’s fuel tank level, inspect the tire pressure, or check the engine oil life, Smartcar lets you do so with a single API request.

Your GMC developer platform

Our RESTful APIs are fast, reliable, and easy to use with every tech stack. No matter which framework your mobile or web app is built in, our documentation and SDKs support every major language.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
const smartcar = require('smartcar');
// Get all vehicles associated with this access token
const {vehicles} = await smartcar.getVehicleIds("<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 location
const location = await vehicle.location();
console.log(location);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
import smartcar
# Get all vehicles associated with this access token
response = smartcar.get_vehicle_ids("<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 location
location = vehicle.location()
print(location)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
import com.smartcar.sdk.*;
// Get all vehicles associated with this access token
SmartcarResponse<VehicleIds> response = AuthClient.getVehicleIds("<access-token>");
String[] vehicleIds = response.getData().getVehicleIds();
// Construct a new vehicle instance using the first vehicle's id
Vehicle vehicle = new Vehicle(vehicleIds[0], "<access-token>");
// Fetch the vehicle's location
SmartcarResponse<VehicleLocation> location = vehicle.location();
System.out.println(location.getData().getLatitude() + ", " + location.getData().getLongitude());
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
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 location
var fuel, resErr = vehicle.GetLocation(context.TODO());
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
require 'smartcar'
# Get all vehicles associated with this access token
vehicle_ids =  Smartcar::Vehicle.all_vehicle_ids(token: token)
# Construct a new vehicle instance using the first vehicle's id
vehicle = Smartcar::Vehicle.new(
  token: "<access-token>",
  id: vehicle_ids.first
)
# Fetch the vehicle's location
location = vehicle.location()
puts location.to_hash.slice(*%I(latitude, longitude))
// Example response from Smartcar
{
  "latitude": 37.4292,
  "longitude": 122.1381
}

Product features

Compatible with GMC telematics

Compatible with GMC telematics

Extensive documentation and SDKs

Extensive documentation and SDKs

Friendly user consent flow

Friendly user consent flow

Trusted & secure

Trusted & secure

Access to live car data

Access to live car data

No need for aftermarket hardware

No need for aftermarket hardware

Compatible with your GMC

Our unified platform is compatible with 20 vehicle brands including GMC. Whether you have the GMC Sierra LD, the Terrain, or the Acadia, your app can connect to all GMC models that support the myGMC app.

What we’re building

All product names, logos, and brands are property of their respective owners. Use of these names, logos, and brands does not imply endorsement.