The ultimate guide to smart car APIs
Before we dive into the technical world of the car API, here is a fun fact: Most vehicles on the road are connected to the internet via 4G.
“Ok, but what for?” you might ask. Well, the point of this connection is to transfer data from the car to various systems, most importantly the car app that comes with most modern cars today.
To get access to the data produced and stored by the car, these 4G-enabled vehicles (sometimes referred to as smart cars) have an Application Programming Interface, or API for short. The API makes it possible to transfer data and send commands to and from the car. This functionality enables a host of different use cases for the car, which we will get back to in a bit.
The goal of this guide is to tell you all there is to know about car APIs, and how you can use them to build valuable use cases like fleet management apps or smart charging experiences for your business.
Here is what we will cover:
- What is a smart car API?
- What data you get access to via the car API
- Key use cases enabled by a car API
- Vehicle OEMs with available APIs
- How can I access these car APIs for my app
- How to learn more about car APIs and the connected car ecosystem
What is a smart car API?
A smart car API is a way to collect data and send commands to a 4G connected vehicle. The data you get includes odometer, location, state-of-charge, car brand and model, and more. Most car APIs also let you send commands to the vehicle, like lock and unlock doors as well as start and stop charging.
But now we are getting a little ahead of ourselves. So let’s start with the basics - what exactly is a car API? Let’s start with the basics.
As mentioned, most new vehicles are now equipped with a 4G module that lets them talk to the internet. What is this for? Basically two things:
- Send data
- Receive commands
Starting with data, something your car produces a huge amount of after rolling out the factory door. Location data, driving patterns, battery information, and a lot more is continuously produced and stored in the car. The vehicle manufacturers (OEMs), companies like Chrysler and Rivian, want to have all this data on all their cars stored in one place. So they collect it via, you guessed it, the car API.
All data about your car is shared on a regular basis via the car API to the OEM databases. The data is then distributed to a variety of different systems, some internal to the OEM and some external. One of the most useful places your car data is shown is in your car app, like the Chrysler app or the Rivian app. Here you can for most OEMs see information about the location of your car, temperature setting, if the doors are locked andh a bunch of other useful information. All this is made possible because the vehicle API is sharing data from your car to the app in real-time.
The second thing these car APIs are really useful for is receiving commands, for instance, lock or unlock the cars, open windows or turn on the AC. The car API for electric or hybrid vehicles also makes it possible to remotely start or stop the car charging, which is useful for enabling smart EV charging and other use cases. More on that later.
If you have a smart car you might have a lot of this functionality in your OEM app, and now you know that the car API is working behind the scenes to make it happen.
What data you can get access to via the car API
The next question is what data can you get from these car APIs. We at Enode have been working full-time on this for several years now and can give you the full overview.
Your car is sending the current location of the internal GPS via the vehicle API at all times. Worth knowing as you are driving around to different places. This data can be used for the logical use case of finding your own car, or e.g. determining the exact location of all the cars in your fleet.
Odometer is another data point available in the car API. This tells you the distance driven since the vehicle was new, usually in km or miles. With this information, you can derive data on trips and give users more information about the use of their car.
The most important data shared by electric and hybrid vehicle APIs is State of Charge (SoC). SoC can mean a few different things, so let us split it up so we are on the same page. State of Charge consists of:
- Battery level: How much energy is stored in the battery (usually presented as a %, but could also be kWh)
- Charging state: Is the car plugged in, and if yes, is it charging
- Range: how far can you get on the current battery level (usually presented as remaining kilometers)
The car API is also able to send commands to the car, both for doors, windows and, most importantly, controlling charging. There is for EVs also a lot of data related to the charging schedules shared by the APIs - very useful for controlling charging in a smart way.
Vehicles with a good API also share some key data on the car, like brand, model, and production year. Fuel type and/or battery size are also sometimes shared by the cars, very useful for charging apps that want to find the best way to charge your car.
Other car data shared by the vehicle API
Car APIs vary a lot from car maker to car maker. The Tesla API is the golden standard, as it contains a lot of data (more than we have listed here) and also responds really fast when you ask it for data. Other brands that are less sophisticated have less data available, and the response times are much higher than for e.g. Tesla.
Key use cases enabled by a car API
Next on our list is what we can actually enable with these car APIs. And the answer is a lot! With access to this data and with control over car charging you can build some of the most valuable use cases for car owners. Let’s go through some of the most popular we have seen while building the Enode car API over the last couple of years.
Smart charging is the most popular use case to build with data and controls for cars. With smart charging the end-user simply sets a time when the car should be fully charged the next day, e.g. 7am. Then the car app used by the car owner (perhaps powered by the Enode Smart charging algorithm) automatically charges the car when prices are low or when renewable energy is available. Win-win!
Smart charging of cars also creates a lot of demand-side flexibility that the grid needs when millions of cars soon will be connected to the grid. A good example of the smart charging use case, built by the leading energy company in Norway can be found here.
Trips and charging statistics
Many car owners love data, and the most important data is related to trips and charging. For charging, this is not only measured in energy (kWh), but also in cold hard cash spent on charging ($). With Odometer and SoC data from cars, you can build a complete trip and charging history for the end-user, and let them better understand their car usage.
If you don’t want to build this database yourself, we at Enode have built one for you. In any case we recommend giving your users more data, as we have seen firsthand the engagement it can drive in smart car apps.
The next wave in vehicle fleets will be connected cars, and with that, the need for smart management of car data is growing fast. When you are managing a large fleet of vehicles, data like location, SoC and odometer are crucial to operating optimally.
The previous generation of fleet managers mostly relied on dongles connected to the OBD port of the car. But with cars mostly being equipped with APIs for data access, there is no need for expensive aftermarket OBD installs. Simply connect the fleet and collect data via API to one central fleet hub.
Use cases of connected car data in e-mobility is almost endless. Smart route planning, smart EV charging, better information while charging and much more. On key pain point for drivers is that you need to find the optimal route from where you are to where you’re going. With all the different charging stations available (and sometimes not available) it is not easy without some expert help. Therefore companies like Chargetrip are building this functionality into car apps.
With SoC and location data directly from the car, these routes can be generated automatically and adapt to the local conditions.
These are just a few examples of what use cases can be built on top of car API data and controls. If you have any other ideas, we say go for it!
Vehicle OEMs with available APIs
Most car OEMs now build and maintain APIs for the cars, but there is still a huge variety in sophistication and maturity. Some OEMs offer a lot of data and controls and others not anything at all. Some OEMs have car APIs that work consistently and reply quickly to requests, while others can try to trick you with strange data or data that is not coming back at all.
We have a lot of experience on this at Enode, having worked closely with almost all car APIs for years now. If you want to learn more about the differences, please reach out and we will be happy to share our findings. But still, let us go through a few examples so you know what to look for when using different car APIs.
The Audi car API is one of the really good APIs out there. Both in terms of the data and control it offers, but also in reliability and low response times. This is maybe not a huge surprise, seeing that Audi has been developing their data platform for 10+ years now. But still good to know that when you are connecting to the Audi API, either yourself or via the Audi app, you will have a good experience.
On the other hand you have Peugeot. The company makes awesome cars, bit their APIs are unfortunately not (yet) any awesome at all. The data points available are few, and responses are often slow to come back. This can be improved by understanding deeply how the connection to the car works, but still not a 10/10 experience for the end-user.
The good news is that things are improving, and we know that most, if not all, OEMs are eager to improve their APIs. This will enable more innovation in the sector and a better experience for the car owner.
How can I access these car APIs for my app
Then there is the question of access. Who owns this data and how can I build awesome experiences for my users by connecting to their car?
There are several routes here, all with the basis of the end-user, the car owner herself, owning the data that is available via the car APIs. Thus you need their consent to access it. With that in mind, here is a list of options for you.
At Enode we have been building integrations to car APIs since 2019, and are proud to have the world-leading all-in-one car API with more than 20 available brands. We are of course not entirely objective in this mini-review, so please go ahead and benchmark us against any other provider out there.
While there are many ICE vehicle API providers, we at Enode have taken the route of focusing on connected hybrid and electric cars. This lets us focus specifically on the energy and e-mobility use cases, all while ensuring the optimal experience for end-users. With the Enode API you don’t need to connect to the carer-growing list of car OEMs yourself. We have done it for you and standardized all data and controls across brands.
If you want to see what you can build with our API, visit our main page to get inspired!
High Mobility is another API provider the connected car space. They offer integrations based on partnerships with the OEMs. Unfortunately not a lot of OEMs offer open APIs, which means High Mobility doesn’t support a lot of brands at the moment. This could change with OEMs being more open.
Smartcar is perhaps the best-known player in the market, having started the company early in 2018. They have built an API based on user-granted access, and cover a good range of vehicle brands (especially in the US). They are experts on ICE vehicles, with car API commands specifically tailored for these types of cars. So data like oil levels, tire pressure and engine failure messages are something you only get from Smartcar.
They have also done a good job of enabling lock and unlock for a lot of brands, which enable car-sharing use cases like Turo. If you want the best ICE vehicle API, Smartcar should be your preferred option.
Build integrations yourself
If you have a large, idle team of experienced developers and a few years to spare, building integrations to car APIs yourself is a great option. Jokes aside, this is of course an option. Enode, Smartcar or High Mobility is the product you will get from spending years working on these APIs, and for some this might be worth exploring.
If you want to test this route, start with the Tesla API. This is by far the easiest one to kick off testing with, and then you can review your options if you find a good use case. Creating customer value is what is important, so focus on that and everything else will fall into place.
How to learn more about car APIs and the connected car ecosystem
If you managed to get all the way here, you should have a solid overview of car APIs. That was at least the goal! This world of connected cars is super exciting and we appreciate more people seeing opportunities in the space.
If you want to learn more about car APIs we have a few suggestions:
- Read our car API documentation, to understand what data and controls are available.
- Read this McKinsey report on connected car data
- Talk to car owners about what problems they have with their car and how you can solve them with vehicle API data
- Understand how cars be used as Distributed Energy Resources (DERs)