The ultimate guide to electric vehicle APIs
Did you know that most electric vehicles on the road are connected to the internet via 4G?
Maybe you did, and if not, now you know. In any case, the point of this connection is to transfer data from the car to different systems, most importantly the EV app that comes with most modern cars today.
To get access to the data produced and stored by the car, every vehicle have an Application Programming Interface, or API for short, that makes it possible to transfer data (and controls, which we will get back to) to and from the EV. Sounds awesome, and it is.
In this guide we will tell you all there is to know about these electric vehicles APIs, and how you can use them to build valuable use cases like smart charging or data-driven e-mobility services for your business.
More specifically we will cover the following:
- What is an Electric Vehicle (EV) API?
- All the data you get with an EV API
- The best use cases to build on top of an EV API
- EV OEMs with available APIs
- How can I access these EV APIs for my app
- How to learn more on your electric vehicle API journey
What is an Electric Vehicle (EV) API?
An electric vehicle API is a way to get data from and send commands to a 4G connected EV. The data you get includes state-of-charge, charge rate, location, and more. Most electric vehicle APIs also let you send commands to the vehicle, most importantly start and stop charging for use cases like smart EV charging
But this went technical rather quickly. Let us start with the basics - what exactly is an EV API? Let’s jump in.
As mentioned, most new electric vehicles are now equipped with a 4G module that lets it talk to the internet. Why does it want that? Basically two reasons:
- Send data
- Receive commands
Let’s start with data, something your EV produces a huge amount of. Everything from location information to driving patterns and battery data is produced and stored in the car. But the vehicle manufacturer (OEM), think VW and Tesla, of course wants to have all this on all their cars stored in one place. So they collect the data via, you guessed it, the electric vehicle API.
All data about your car is shared continuously via the EV API to the OEM databases, and then distributed to a variety of different systems. One of the most useful places your car data is shown is in your EV app, like the VW Connect app or the Tesla app. Here you can for most OEMs see information about how much charge is in your EV, where the EV is and a bunch of other useful information. All this is made possible because the EV API is sharing data from your car to the app in real time.
The second thing these EV APIs are really useful for is receiving commands, mostly related to charging. The EV API makes it possible to remotely start or stop the car charging, which is useful in lots of different situations. More on that later.
The API in some cases also allow for other commands to be sent to the EV, for instance opening and closing doors or windows, turning on the AC or opening the trunk. If you have an EV you might have a lot of this functionality in your OEM app, and now you know that the EV API is working behind the scenes to make things work.
All the data you get with an EV API
The next question is what data can you get from these EV APIs. Luckily we at Enode have been working full time on this for several years now and can give you the full overview.
State of charge (SoC)
The most important data (in our opinion) shared by EV APIs is State of Charge, or SoC as we like to call it. SoC is actually a lot of different data points bundled into one term, 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)
Location
Your EV is sending the current location of the internal GPS via the EV API at all times. Worth knowing as an EV owner. This data can be used for the logical use case of finding your car, or e.g. determining if you are at your house to apply a specific charging schedule for that location.
Start and stop charging commands
The EV API is also able to send commands to the car, most importantly charging commands. There is also a lot of data related to the charging schedules shared by the APIs, very useful for controlling charging in a smart way. This can also be done via the charger, which in many cases has its own EV charger API.
EV info
Every EV with a good API also shares some key data on the car, like brand, model, and production year. Battery size and maximum charge rate is also sometimes shared by the cars, very useful for charging apps that wants to find the best way to charge your car.
Other EV data shared by the API
EV 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.
The best use cases to build on top of an EV API
So these EV APIs sound awesome, but what can I do with them? Well, a lot! With access to this data and with control over EV charging you can build some of the most valuable use cases for EV owners. Let us go through some of the most popular we have seen while building the Enode EV API over the last couple of years.
Smart charging
Smart charging is the most popular use case to build with data and controls for EVs. 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 EV app used by the car owner (perhaps powered by the Enode Smart charging algorithm) automatically charges the EV when prices are low or when renewable energy is available. Win-win!
Smart charging of EVs also creates a lot of demand side flexibility that the grid needs when millions of EVs 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.
Charging statistics
EV owners love data, and the most important data is related to charging. Not only measured in energy (kWh), but also cold hard cash spent on charging ($). With SoC data from EVs you can build a complete charging history for the end user, and let them better understand their EV energy consumption.
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 first hand the engagement it can drive in EV apps.
Public EV charging
Charging while on the road is a pain point for EV owners today. The myriad of EV charging operators (CPOs) means you need ten different apps just to get from A to B. Luckily, what is called e-roaming apps are now popping up, letting you charge across many different CPOs with one app.
A good example of this Elton. They are using SoC and charge rate data collected via the EV API to improve the charging experience, making public charging easy for EV owners all around Europe.
Smart EV route planning
Talking about EV road trips, one of the pain points 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 EV apps.
With SoC and location data directly from the EV, these routes can be generated automatically and adapt to the local conditions.
Fleet management
The next wave in vehicle fleets will be EVs, and with that the need for EV data is growing fast. When you are managing a large fleet of vehicles, data like location, SoC and odometer is crucial to operate optimally.
The previous generation of fleet managers mostly relied on dongles connected to the OBD port of the car. But with EVs mostly being equipped with APIs for data access, there is not need for expensive aftermarket OBD installs. Simply connect the fleet and collect data via API to one central e-fleet hub.
These are just a few examples of what use cases can be built on top of EV API data and controls. If you have any other ideas, we say go for it!
EV OEMs with available APIs
Even though most EV OEMs now build and maintain APIs for the cars, there is a huge variety in the sophistication and maturity. What does this mean? Well to put it simple, some OEMs offer a lot of data and controls and others not anything at all. Some OEMs have 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 work closely with almost all EV APIs for several years. 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 EV APIs.
Tesla API
The Tesla EV API is by far the best one 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 Tesla is a native EV company very focused on the tech side. But still good to know that when you are connecting to the Tesla API, either yourself or via the Tesla app, you will have a good experience.
Hyundai API
On the other hand you have Hyundai. Even though the company makes awesome EVs, their APIs are unfortunately not (yet) that good. 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 EV owner.
How can I access these EV APIs for my app
Last but not least comes the question of access. Who owns this data and how can I build awesome experiences for my users by connecting to their EV?
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 EV APIs. Thus you need their consent to access it. With that in mind, here is a list of options for you.
Enode
At Enode we have been building integrations to EV APIs since 2019, and are proud to have the world leading all-in-one EV 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 solely on EVs. 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 ever-growing list of EV 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 EV-inspired!
Direct-to-OEM
Some OEMs have open APIs you can use to connect to their EVs. An example is BMW, that is building out this functionality across their fleet of EV models.
Unfortunately there are very few OEMs who offer open APIs, and those that do usually doesn’t support key commands like start and stop charging. So the opportunity space for creating innovative EV experiences on top of these APIs are still limited, and that is one of the main reasons we started Enode.
Build integrations yourself
If you have a large, idle team of experienced developers and a few years to spare, building integrations to EV APIs yourself is a great option. Jokes aside, this is of course an option. We are the product you will get from spending years working on these APIs, and the journey is just getting started.
If you want to test this route, start with the Tesla API. This is by far the easiest smart car API to get started 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 on your electric vehicle API journey
If you managed to get all the way here, you should have a solid overview of EV APIs. That was at least the goal! This world of connected cars is super exciting and we appreciate more people seeing opportunity in the space.
If you want to learn more about EV APIs we have a few suggestions:
- Read our EV API documentation, to understand what data and controls are available.
- Read this McKinsey report on connected car data
- Talk to EV owners about what problems they have with their car and how you can solve them
- Learn why EVs are one of the most important Distributed Energy Resources (DERs)