Eenvoudigste manier om apps te integreren met auto's

Met de voertuig-API van Smartcar kunt u kilometers verifiëren, het opladen van elektrische voertuigen beheren, digitale autosleutels uitgeven, wagenparken volgen en nog veel meer.

Mobiliteit wereldwijd stimuleren

 

Smartcar stelt mobiliteitsbedrijven in staat om hun apps en diensten te integreren met geconnecteerde auto's. Haal eenvoudig voertuiggegevens op en activeer acties met onze eenvoudige en veilige auto-API. Volg de locatie van een voertuig, verifieer het aantal kilometers, laad een elektrische auto op, deel een virtuele sleutel en meer.

Meer informatie over ons platform

Gebruikers aan boord binnen enkele seconden

Met onze Smartcar Connect-flow kunnen uw klanten hun auto's onmiddellijk en moeiteloos aan uw app koppelen. Het enige dat nodig is, zijn vier klikken, rechtstreeks vanuit uw mobiele applicatie of webportaal.

  • Werkt met je web- of mobiele app
  • Eenvoudige en elegante gebruikersinterface
  • Ondersteunt OAuth2-autorisatie
  • Beschikbaar in meerdere talen
Turo mobile app prompting the user to connect their car, allowing approved guests to unlock the vehicle from the Turo app
Pop-up window in the Turo app communicating that Turo uses Smartcar to connect to the user’s car
Pop-up window in the Turo app prompting the user to select their car brand
Pop-up window in the Turo app prompting the user to sign in with their Tesla username and password
Pop-up window in the Turo app requesting the odometer, location, and lock/unlock permissions to the user’s 2020 Tesla Model S
Turo app telling the user that guests can now unlock their 2020 Tesla Model S from the Turo app
Vorige slide
Volgende slide

Een geweldige ontwikkelaarservaring

Met onze gebruiksvriendelijke documentatie en SDK's kunt u onze auto-API snel integreren met elke technische stack.

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 location
const location = await vehicle.location();

// Example http response from Smartcar
{
  "latitude": 37.4292,
  "longitude": 122.1381
}
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 location
location = vehicle.location()

// Example http response from Smartcar
{
  "latitude": 37.4292,
  "longitude": 122.1381
}
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 location
VehicleLocation location = vehicle.location();

// Example http response from Smartcar
{
  "latitude": 37.4292,
  "longitude": 122.1381
}
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());

// Example http response from Smartcar
{
  "latitude": 37.4292,
  "longitude": 122.1381
}
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 location
location = vehicle.location()

// Example http response from Smartcar
{
  "latitude": 37.4292,
  "longitude": 122.1381
}
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 odometer
const odometer = await vehicle.odometer();

// Example http response from Smartcar
{
  "distance": 104.32
}
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 odometer
odometer = vehicle.odometer()

// Example http response from Smartcar
{
  "distance": 104.32
}
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 odometer
VehicleOdometer odometer = vehicle.odometer();

// Example http response from Smartcar
{
  "distance": 104.32
}
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 odometer
var odometer, resErr = vehicle.GetOdometer(context.TODO());

// Example http response from Smartcar
{
  "distance": 104.32
}
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 odometer
odometer = vehicle.odometer()

// Example http response from Smartcar
{
  "distance": 104.32
}
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>");

// Lock the vehicle
await vehicle.lock();

// Unlock the vehicle
await vehicle.unlock();

// Example http response from Smartcar
{
  "status": "success"
}
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>")

# Lock the vehicle
vehicle.lock()

# Unlock the vehicle
vehicle.unlock()

// Example http response from Smartcar
{
  "status": "success"
}
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>");

// Lock the vehicle
vehicle.lock();

// Unlock the vehicle
vehicle.unlock();

// Example http response from Smartcar
{
  "status": "success"
}
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>"},
);

// Lock the vehicle
var lock, resErr = vehicle.Lock(context.TODO());

// Unlock the vehicle
var unlock, resErr = vehicle.Unlock(context.TODO());

// Example http response from Smartcar
{
  "status": "success"
}
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
)

# Lock the vehicle
vehicle.lock!

# Unlock the vehicle
vehicle.unlock!

// Example http response from Smartcar
{
  "status": "success"
}
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 battery level
const battery = await vehicle.battery();

// Fetch the vehicle's battery capacity 
const batteryCapacity = await vehicle.batteryCapacity();

// Example http response from Smartcar (battery level)
{
  "percentRemaining": 0.3,
  "range": 40.5,
}

// Example http response from Smartcar (battery capacity)
{
  "capacity": 28.7,
}
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 battery level
battery = vehicle.battery()

# Fetch the vehicle's battery capacity 
battery_capacity = vehicle.battery_capacity()

// Example http response from Smartcar (battery level)
{
  "percentRemaining": 0.3,
  "range": 40.5,
}

// Example http response from Smartcar (battery capacity)
{
  "capacity": 28.7,
}
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 battery level
VehicleBattery battery = vehicle.battery();

// Fetch the vehicle's battery capacity 
VehicleBatteryCapacity batteryCapacity = vehicle.batteryCapacity();

// Example http response from Smartcar (battery level)
{
  "percentRemaining": 0.3,
  "range": 40.5,
}

// Example http response from Smartcar (battery capacity)
{
  "capacity": 28.7,
}
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 battery level
var battery, resErr = vehicle.GetBattery(context.TODO());

// Fetch the vehicle's battery capacity 
var batteryCapacity, resErr = vehicle.GetBatteryCapacity(context.TODO());

// Example http response from Smartcar (battery level)
{
  "percentRemaining": 0.3,
  "range": 40.5,
}

// Example http response from Smartcar (battery capacity)
{
  "capacity": 28.7,
}
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 battery level
battery = vehicle.battery()

# Fetch the vehicle's battery capacity 
battery_capacity = vehicle.battery_capacity()

// Example http response from Smartcar (battery level)
{
  "percentRemaining": 0.3,
  "range": 40.5,
}

// Example http response from Smartcar (battery capacity)
{
  "capacity": 28.7,
}
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 charging status
const charge = await vehicle.charge();

// Start the vehicle's charging session
await vehicle.startCharge();

// Set the vehicle's charge limit
await vehicle.setChargeLimit(0.8);

// Example http response from Smartcar (charging status)
{
  "isPluggedIn": true,
  "state":"FULLY_CHARGED"
}

// Example http response from Smartcar (start charge)
{
  "status": "success"
}

// Example http response from Smartcar (set charge limit)
{
  "status": "success"
}
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 charging status
charge = vehicle.charge()

# Start the vehicle's charging session
vehicle.start_charge()

# Set the vehicle's charge limit
vehicle.set_charge_limit(0.8)

// Example http response from Smartcar (charging status)
{
  "isPluggedIn": true,
  "state":"FULLY_CHARGED"
}

// Example http response from Smartcar (start charge)
{
  "status": "success"
}

// Example http response from Smartcar (set charge limit)
{
  "status": "success"
}
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 charging status
VehicleCharge charge = vehicle.charge();

// Start the vehicle's charging session
vehicle.startCharge();

// Set the vehicle's charge limit
vehicle.setChargeLimit(0.8)

// Example http response from Smartcar (charging status)
{
  "isPluggedIn": true,
  "state":"FULLY_CHARGED"
}

// Example http response from Smartcar (start charge)
{
  "status": "success"
}

// Example http response from Smartcar (set charge limit)
{
  "status": "success"
}
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 charging status
var charge, resErr = vehicle.GetCharge(context.TODO());

// Start the vehicle's charging session
var startCharge, resErr = vehicle.StartCharge(context.TODO());

// Example http response from Smartcar (charging status)
{
  "isPluggedIn": true,
  "state":"FULLY_CHARGED"
}

// Example http response from Smartcar (start charge)
{
  "status": "success"
}

// Example http response from Smartcar (set charge limit)
{
  "status": "success"
}
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 charging status
charge = vehicle.charge()

# Start the vehicle's charging session
vehicle.startCharge!

# Set the vehicle's charge limit
vehicle.set_charge_limit!(0.8)

// Example http response from Smartcar (charging status)
{
  "isPluggedIn": true,
  "state":"FULLY_CHARGED"
}

// Example http response from Smartcar (start charge)
{
  "status": "success"
}

// Example http response from Smartcar (set charge limit)
{
  "status": "success"
}
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 fuel tank level
const fuel = await vehicle.fuel();

// Example http response from Smartcar
{
  "amountRemaining": 53.2,
  "percentRemaining": 0.3,
  "range": 40.5
}
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 fuel tank level
fuel = vehicle.fuel()

// Example http response from Smartcar
{
  "amountRemaining": 53.2,
  "percentRemaining": 0.3,
  "range": 40.5
}
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 fuel tank level
VehicleFuel fuel = vehicle.fuel();

// Example http response from Smartcar
{
  "amountRemaining": 53.2,
  "percentRemaining": 0.3,
  "range": 40.5
}
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 fuel tank level
var fuel, resErr = vehicle.GetFuel(context.TODO());

// Example http response from Smartcar
{
  "amountRemaining": 53.2,
  "percentRemaining": 0.3,
  "range": 40.5
}
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 fuel tank level
fuel = vehicle.fuel()

// Example http response from Smartcar
{
  "amountRemaining": 53.2,
  "percentRemaining": 0.3,
  "range": 40.5
}
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 tire pressure
const tirePressure = await vehicle.tirePressure();

// Example http response from Smartcar
{
  "backLeft": 219.3,
  "backRight": 219.3,
  "frontLeft": 219.3,
  "frontRight": 219.3,
}
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 tire pressure
tire_pressure = vehicle.tirePressure()

// Example http response from Smartcar
{
  "backLeft": 219.3,
  "backRight": 219.3,
  "frontLeft": 219.3,
  "frontRight": 219.3,
}
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 attributes
VehicleTirePressure tirePressure = vehicle.tirePressure();

// Example http response from Smartcar
{
  "backLeft": 219.3,
  "backRight": 219.3,
  "frontLeft": 219.3,
  "frontRight": 219.3,
}
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 tire pressure
var tirePressure, resErr = vehicle.GetTirePressure(context.TODO());

// Example http response from Smartcar
{
  "backLeft": 219.3,
  "backRight": 219.3,
  "frontLeft": 219.3,
  "frontRight": 219.3,
}
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 tire pressure
tire_pressure = vehicle.tire_pressure()

// Example http response from Smartcar
{
  "backLeft": 219.3,
  "backRight": 219.3,
  "frontLeft": 219.3,
  "frontRight": 219.3,
}
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
}
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 attributes
const vehicleAttributes = await vehicle.attributes();

// Example http response from Smartcar
{
  "id": "36ab27d0-fd9d-4455-823a-ce30af709ffc",
  "make": "TESLA",
  "model": "Model S",
  "year": 2014
}
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 attributes
vehicle_attributes = vehicle.attributes()

// Example http response from Smartcar
{
  "id": "36ab27d0-fd9d-4455-823a-ce30af709ffc",
  "make": "TESLA",
  "model": "Model S",
  "year": 2014
}
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 attributes
VehicleAttributes vehicleAttributes = vehicle.attributes();

// Example http response from Smartcar
{
  "id": "36ab27d0-fd9d-4455-823a-ce30af709ffc",
  "make": "TESLA",
  "model": "Model S",
  "year": 2014
}
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 attributes
var info, resErr = vehicle.GetInfo(context.TODO());

// Example http response from Smartcar
{
  "id": "36ab27d0-fd9d-4455-823a-ce30af709ffc",
  "make": "TESLA",
  "model": "Model S",
  "year": 2014
}
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 attributes
vehicle_attributes = vehicle.attributes()

// Example http response from Smartcar
{
  "id": "36ab27d0-fd9d-4455-823a-ce30af709ffc",
  "make": "TESLA",
  "model": "Model S",
  "year": 2014
}
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 VIN
const vin = await vehicle.vin();

// Example http response from Smartcar
{
  "vin": "1234A67Q90F2T4567"
}
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 VIN
vin = vehicle.vin()

// Example http response from Smartcar
{
  "vin": "1234A67Q90F2T4567"
}
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 VIN
VehicleVin vin = vehicle.vin();

// Example http response from Smartcar
{
  "vin": "1234A67Q90F2T4567"
}
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 VIN
var VIN, resErr = vehicle.GetVIN(context.TODO());

// Example http response from Smartcar
{
  "vin": "1234A67Q90F2T4567"
}
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 VIN
vin = vehicle.vin()

// Example http response from Smartcar
{
  "vin": "1234A67Q90F2T4567"
}

XX

compatibele voertuigen

XX

compatibele merken

XX

beschikbare landen

XX

app-ontwikkelaars

Meer dan alleen een API voor autogegevens

Met ons uniforme ontwikkelaarsplatform is het bouwen en opschalen van mobiliteitsdiensten een fluitje van een cent.

One car API for 36 brands

Eén auto-API voor XX merken

Onze auto-API is compatibel met XX maakt, waardoor uw app of service verbinding kan maken met meer dan XXM voertuigen met een enkele integratie.

Meer informatie over compatibele voertuigen
Put your customers in control

Geef je klanten de touwtjes in handen

Met Smartcar Connect kunnen uw klanten hun auto met slechts een paar klikken koppelen aan uw web- of mobiele app. Connect is de snelste en meest transparante manier om toestemming van gebruikers te verkrijgen.

Meer informatie over Smartcar Connect
Hardware-free

Hardwarevrij

Onze API's communiceren rechtstreeks met de ingebouwde mobiele modem die in de meeste voertuigen is ingebouwd. Er is geen aftermarket-hardware zoals OBD-II-dongles nodig.

Trusted & secure

Vertrouwd en veilig

Smartcar voldoet aan de GDPR, ISO 27001, ISO 27701 en SOC 2 Type 2. Onze auto-API is versleuteld met SSL/TLS 1.2 van bankkwaliteit en voldoet aan het OAuth2-autorisatieprotocol.

Wat onze klanten zeggen

“Thanks to Smartcar's integration, our smart energy management app, ALICE, can seamlessly support over 60 EV models.”

Dr. Irene Di Martino

CEO at Amp X

“Smartcar has enabled us to level up our EV Managed Charging platform for electric utilities by filling an important technology gap — connecting to the vehicle.”

Abhay Gupta

CEO and co-founder at Bidgely

“We chose Smartcar’s vehicle APIs to augment our EV Everywhere product capabilities, advancing our mission of promoting sustainable energy solutions for the energy and transportation sectors.”

Devashish Paul

CEO at BluWave-ai

“When looking for an electric vehicle API provider, Smartcar was the only option to fit the bill. Instead of calling out to tons of different vehicle APIs, we only need to call out to one.”

Casey Donahue

Founder at Optiwatt

“Not only does the Smartcar platform provide amazing technology, but their team also helped us integrate in just a few weeks, which enabled us to scale incredibly fast!”

Scott Case

CEO and Co-Founder at Recurrent

“Smartcar is making it easier than ever for us to build new and innovative mobility experiences with connected vehicles.”

Andre Haddad

CEO at Turo