@maschinenlesbar.org/ladesaeulenregister-cli
v0.0.2
Published
TypeScript API client and CLI for the Ladesäulenregister — the Bundesnetzagentur's register of public EV charging stations in Germany
Maintainers
Readme
ladesaeulenregister-cli
A dependency-light TypeScript client + CLI for the Ladesäulenregister — the Bundesnetzagentur's register of public EV charging stations in Germany (~111k Ladeeinrichtungen). Backed by a public ArcGIS FeatureServer. A bund.dev API.
- No API key. The public charging-station data is open.
- Zero runtime HTTP dependencies. Built on
node:http/https; the CLI's only runtime dependency iscommander. - Library + CLI. Use the typed
LadesaeulenClient, or theladesaeulencommand.
We provide the tool, not the data. The data is © the Bundesnetzagentur under CC BY 4.0 — free to use with attribution. See DATA_LICENSE.md.
Install
npm install -g @maschinenlesbar.org/ladesaeulenregister-cli # the `ladesaeulen` command
# or as a library:
npm install @maschinenlesbar.org/ladesaeulenregister-cliCLI
ladesaeulen stations --count # total public stations → 111524
ladesaeulen stations --where "Ort='Berlin' AND Typ='Schnellladeeinrichtung'" --count # → 660
ladesaeulen stations --near 52.52,13.405 --radius 1 --count # within 1 km of a point → 124
ladesaeulen stations --where "state='Bayern'" --limit 20 # a page of stations
ladesaeulen stations --geojson --limit 200 > stations.geojson # GeoJSON for a map
ladesaeulen count-by state # stations per Bundesland
ladesaeulen fields # the queryable columnsstationssearches with an SQL--where, paging (--limit/--offset), sorting (--order-by), field selection (--fields), a spatial--near/--radius, and--count(just the number) or--geojsonoutput.count-by <field>aggregates (e.g. perstate,Typ,Betreiber).fieldslists the queryable columns (build--where/--fields/count-by).
Filter values are SQL, case-sensitive, single-quoted (Ort='Berlin'). Global
flags: --base-url, --timeout, --user-agent, --max-retries,
--max-response-bytes, --compact. See Usage.md.
Library
import { LadesaeulenClient } from "@maschinenlesbar.org/ladesaeulenregister-cli";
const c = new LadesaeulenClient();
await c.count({ where: "Typ='Schnellladeeinrichtung'" }); // number
await c.countBy("state"); // per Bundesland
const near = await c.stations({ near: { lat: 52.52, lon: 13.405, radiusKm: 1 } });Documentation
- Usage.md — commands, the
--where/spatial options, exit codes - DEVELOPING.md — architecture, testing, the ArcGIS specifics
- GLOSSARY.md — the register's fields and terms
- DATA_LICENSE.md — the CC BY 4.0 data terms
- SKILLS.md — the Claude Code skills this repo ships
Licence
Code is dual-licensed AGPL-3.0-or-later OR commercial — see LICENSING.md. No external code contributions are accepted (see CONTRIBUTING.md); bug reports and AGPL forks are welcome.
