chargemyride

API and data export

The same proximity search the site itself uses is also available as aninterface – as JSON, as CSV for a spreadsheet and as GeoJSON for GIS. The basis is 116,443 charging stations with 209,136 charge points, as of 1 Sep 2026.

Looking for utilisation data? This interface serves master data – who built what, and where. How many charge points were actually free is in the site's own measurement series: occupancy dataset, as CSV with timestamp, weekday and hour.

A quick start

All charging stations of 50 kW or more within 5 km of Krefeld, as a CSV table.

https://chargemyride.live/api.php?lat=51.3396&lon=6.5853&radius=5&minPower=50&format=csv

ausprobieren

CCS charge points in Munich that are open right now, as GeoJSON.

https://chargemyride.live/api.php?lat=48.1372&lon=11.5756&radius=10&connectorType=CCS&openNow=open&format=geojson

ausprobieren

Parameters

ParameterValuesMeaning
lat, londecimal degrees Required. Centre of the search, WGS 84.
radius1 to 100 Search radius in kilometres, as the crow flies. Default 10.
formatjson, csv, geojson Output format. CSV and GeoJSON always return all matches, without paging.
page, per_pagenumber, per_page max. 100 JSON only. Page 1 answers faster with a reduced radius and flags that with is_approximate.
full_loadtrue All matches in one response instead of page by page.
minPower, maxPowerkW Limits for the strongest charge point of a charging station.
currentTypeac, dc Standard or rapid charging station according to the register.
minChargingPointsnumberMinimum number of charge points.
connectorTypeTyp2, CCS, CHAdeMO, Schuko Several separated by commas, combined with OR.
paymentfree, card, rfid, online, plugcharge, cash Several separated by commas, combined with OR.
eichrechtverified, usable, reported, none, homoglyph State of the metering capsule public key in the register.
mobilfunkall3, min2, min1, none 4G/5G coverage at the site according to the mobile network monitoring of the Bundesnetzagentur.
openNowopen, always Opening hours. Careful: two thirds of the entries file nothing and drop out when this filter is set.
grouppark Group charging stations of the same operator within 75 m into one match. The others appear under park.members.
prettypresentOutput JSON indented.

Response

JSON answers with {"success": true, "data": {…}}. Under data you find:

What a match contains

Abridged; key details and charge points depend on what is on file.

Raw value and label sit side by side. Fields such as currentType, status, parking, payment and connectorTypes return the German register value unchanged – you can keep comparing against it. The fields with the Label suffix next to them carry the same information in the language of the request (?lang= or cookie). The same goes for details.openingHoursLabel and mobile.label, which exist as a label only.

{
  "id": 1035432,                       // Ladeeinrichtungs-ID der Bundesnetzagentur
  "operator": "EWE Go GmbH",
  "address": "Dießemer Bruch 98, 47805 Krefeld",
  "latitude": 51.327954, "longitude": 6.5911,
  "distance": 1.36,                    // Luftlinie in km
  "power": 300,                        // stärkster Einzelstecker
  "powerTotal": 300,                   // Anschlussleistung der Ladeeinrichtung
  "chargingPoints": 2,
  "currentType": "Schnellladeeinrichtung",       // Rohwert, immer deutsch
  "currentTypeLabel": "Rapid charging station",  // in der Sprache der Anfrage
  "connectorTypes": ["CCS"],
  "connectorTypeLabels": ["CCS"],
  "payment": ["RFID-Karte"], "paymentLabels": ["RFID card"],
  "details": {
    "openingHoursLabel": "Rund um die Uhr",
    "openState": { "state": "always", "until": null, "next": null },
    "status": "In Betrieb", "statusLabel": "In operation",
    "parking": "Keine Beschränkung", "parkingLabel": "No restriction",
    "district": "…", "state": "Nordrhein-Westfalen"
  },
  "chargePoints": [ { "position": 1, "evseId": "DE*EWE*E…", "power": 300,
                      "key": { "verified": true, "curve": "prime256v1" } } ],
  "eichrecht": { "reported": 2, "usable": 2, "verified": 2 },
  "warnings": [ { "code": "key_shared", "level": "warn", "count": 1 } ],
  "mobile": { "operators": 3, "of": 3, "label": "alle 3 Netzbetreiber" },
  "source": "both"                     // arcgis | register | both
}

CSV columns

Semicolon as separator, UTF-8 with BOM, decimal comma – that way the file opens in a German Excel installation without rework. Grouped charging parks are split back into individual rows in the export. The first line is a source note starting with # – the licence requires it whenever the data is passed on. The column headers are on line two.

Ladeeinrichtungs-ID; Betreiber; Adresse; Kreis; Bundesland; Breitengrad; Laengengrad; Entfernung km; Staerkster Ladepunkt kW; Anschlussleistung kW; Ladepunkte; Art; Steckertypen; Bezahlung; Oeffnungszeiten; Jetzt geoeffnet; Betriebsstatus; Inbetriebnahme; Ladepunkte mit bestaetigtem Schluessel; EVSE-IDs; Quelle; Seite

Limits and etiquette

Licence and attribution

The master data comes from the charging point register of the Bundesnetzagentur and is published under the Data licence Germany – Attribution – Version 2.0. When reusing it, the Bundesnetzagentur belongs in the attribution.

Everything this site adds – the analysis of the public keys, the grouping into charging parks, the opening-hours analysis, photos and experience reports – you may likewise use with attribution to chargemyride.live. Photos come from visitors to this site; anyone reusing them elsewhere should do so with due caution.

Further endpoints

AddressWhat it returns
/publickey.php?station=… Complete public key of a charge point, optionally as PEM (&format=pem). Also reachable via ?evse=.
/geocode.php?q=… Place name to coordinates, for the search form.
/station/<id> Human-readable page of a charging station, with structured data (JSON-LD) in the head.
/sitemap.xml All addresses of the site, separated by topic.
/feedback.php Accepts feedback about a charging station by POST (station, result, props[], note). At most 8 per hour and sender.

The register as a whole? For analyses a radius search cannot do – time series, fleet planning, municipal siting questions. Today the interface serves one radius per request.

One click, nothing more: no address, no account, no mail. All that is counted is how many people wanted it – that is what decides what gets built next.