Companies use Smartcar’s APIs to verify vehicle mileage, issue digital car keys, manage EV charging, and track fleets.
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.
Our friendly documentation and SDKs allow you to integrate Smartcar with every tech stack.
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);
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)
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());
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());
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
}
With our unified platform, building and scaling mobility services is a breeze.
Smartcar’s APIs are compatible with 20 vehicle makes, allowing your app or service to connect to over 72 million cars with a single integration.
With Smartcar Connect, your customers can link their cars to your web or mobile app in just a few clicks.
Our APIs communicate directly with the embedded cellular modem built into most vehicles—no need for aftermarket hardware like OBD-II dongles.
Our APIs are encrypted with bank-grade SSL/TLS 1.2 and compliant with the OAuth2 authorization protocol.