Integration request: Allego Public EV Charger Status (Public API Cloud Polling)

Hi! In the Netherlands and lots of other countries in Europe, Allego is a very common provider for public chargers. They have a map on their own website, see Find us - Allego.

This map uses their own API, which I reverse engineered. This allows us to put in a serial number of a public charger (which is clearly physically abeled on all of them, for remote assistance and troubleshooting) such as “NLALLEGO0124631”. With 1 API request, we retrieve information about lots of information about the charger, but most importantly, status information. This could be “available”, “busy”, “charging_complete” and other statuses. Furthermore pricing per kWh and other information is retrieved.

Using this information, I would find it very informative to add a simple status indicator for the two public chargers in my street, right in my Home Assistant overview! I cannot see the chargers from my home, so with this API, I could see which charger is available without needing to check them both out physically!

I have tried a few times to setup the development environment to start developing something myself, but I am mostly experienced only with front-end engineering in typescript and backend engineering in C#. I just can’t seem to get past problem solving and the basics in python.

If anyone would be interested in making such an integration or helping me out, that would be amazing! I’ll provide a little bit more detail about Allego’s API below.

The base API url for the status polling is
https://www.allego.eu/api/feature/experienceaccelerator/areas/chargepointmap/getchargepoints/{id} where {id} is the charger number such as “NLALLEGO0124631”.

When their server detects something unusual, the reply will be empty. You have to set these headers to make the request go trough:
{'X-Requested-With': 'XMLHttpRequest'}
And these cookies:
{'SC_ANALYTICS_GLOBAL_COOKIE': '1', 'sxa_site': 'AllegoEu', '_ga4789': 'map'}

EDIT: Maybe this API stopped working - I cannot get it to work now, but I did get it working in the past. I’ll be checking it again tomorrow.

Well unfortunately, I think between me reverse engineering and developing for the API and me writing this forum post, Allego has cancelled the API I reverse engineered. Their new demo map on their website does not seem to use public charger ID’s but rather some internal numeric ID which I need to explore further. I am so sorry for providing inaccurate information :frowning:

I am unsure why companies do this. An integration would make it more likely that their service is used.

Perhaps they are scared of losing advertising revenue, or misconfigured software misusing their API, or being unable to sell your data.

1 Like

Hi,
Not sure if you’re still looking for a solution, or for anyone else stumbling upon this post: since I finally have an ev myself now and do charge at an Allego station near my house a lot I wanted this to work too.
Allego still uses some third party to expose their data and I couldn’t find a way to read that from the site, but I found out that oplaadpalen.nl has the information as well. And I was able to fetch that data using two api calls. I use a NodeRed flow to combine the two calls and feed a sensor with the status of the charger.
If you would like to know how I did it exactly drop me a line.
Cheers!