A tool that downloads and converts the official German charging station register (Ladesäulenregister) from the Bundesnetzagentur into a more usable JSON format.

Written in Erlang. The converted data is updated weekly via GitHub Actions and publicly available as a gzip-compressed JSON file.

How it works

The tool scrapes the current CSV download URL from the Bundesnetzagentur E-Mobility page, streams the CSV via HTTP, parses it on the fly using a continuation-based CSV parser, and converts it into a nested JSON structure – including address, geo coordinates, charging points with plug types and power ratings, payment methods, and opening hours.

An update check via HTTP HEAD avoids unnecessary downloads. After conversion, the JSON is gzip-compressed to keep the gh-pages history small.

JSON access

The current ladesaeulen.json.gz is available at:

https://ratopi.github.io/ladesaeule/ladesaeulen.json.gz

Note: The file is gzip-compressed (~5–10 MB instead of 80+ MB uncompressed). Most HTTP clients and programming languages can decompress gzip transparently.

Output structure

The JSON contains an infos array (metadata lines from the CSV header), a data array with one object per charging station (including nested address, geo coordinates, and an array of charging points), and a meta object with the source URL, download timestamp, and the server’s Last-Modified header.

Note

The CSV file is obviously generated by hand using Excel. The format may change without notice. If you spot any issues, please open an issue on GitHub.

Source code on GitHub.