Build and scale your mobility business

Companies use Smartcar’s APIs to verify vehicle mileage, issue digital car keys, manage EV charging, and track fleets.

Talk to an expert
Turo logo
Paydrive logo
Krafthem logo
Azuga logo
Just logo

Powering mobility worldwide

The Smartcar platform allows mobility businesses to easily connect with their customers’ cars. 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.

A stellar developer experience

Our friendly documentation and SDKs allow you to integrate Smartcar with every tech stack.

  • 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
}

More than just a car data API

With our unified platform, building and scaling mobility services is a breeze.

One API for 20 car brands

One API for 20 car brands

Smartcar’s APIs are compatible with 20 vehicle makes, allowing your app or service to connect to over 60 million cars with a single integration.

Learn more about compatible vehicles
Put your customers in control

Put your customers in control

With Smartcar Connect, your customers can link their cars to your web or mobile app in just a few clicks.

Learn more about Smartcar Connect
Hardware-free

Hardware-free

Our APIs communicate directly with the embedded cellular modem built into most vehicles—no need for aftermarket hardware like OBD-II dongles.

Trusted & secure

Trusted & secure

Our APIs are encrypted with bank-grade SSL/TLS 1.2 and compliant with the OAuth2 authorization protocol.

What our customers say

https://d33wubrfki0l68.cloudfront.net/e1105a929b6d1623e36ebbc8da66752c02112893/5f2b9/static/9a25620c4b85335928d4e34078444a8d/just.svg

“Using Smartcar’s APIs, we can provide new and innovative ways to make auto insurance fairer and more affordable for everyone.”

Murray Macdonald

Murray Macdonald

CTO, COO, & Co-Founder at Just Auto Insurance