rastriq. Talk to us →
Rastriq / EV charging station data

Every EV charge point in Spain, Germany and France in one table.

The three official registers of public charge points (DGT, Bundesnetzagentur and IRVE) unified by EVSE ID, with the operator normalised and what none of the three sources keeps: which points were added, which changed power and which disappeared since your last run.

Quick answer: Inventory of public EV charge points in Spain, Germany and France from their three official registers (DGT, Bundesnetzagentur and IRVE), unified by EVSE ID with normalised operator, power, connector, opening hours and payment, plus the history of additions, changes and removals the sources do not keep. Sample of 100 rows in CSV and JSON.

470,417
Rows DE + FR + ES (12 Oct 2026)
94,100
Points of 150 kW or more
3
Official registers, one schema

Three registers, three formats, one schema

Each country publishes its official charge point inventory its own way. Rastriq joins them on the EVSE ID, the European identifier of every point.

CountryOfficial sourceRefreshRows (12 Oct 2026)Quirk
GermanyBundesnetzagentur · Ladesäulenregistermonthly209,467Wide CSV with up to six points per row; only ~65,000 carry an EVSE ID
FranceIRVE · data.gouv.frdaily225,403159 MB CSV; ~57,000 IDs repeated by different producers
SpainDGT · National Access Point (DATEX II)daily35,547DATEX II XML, ~12,000 sites

Three different formats the actor turns into the same columns. Source problems (missing ID, repeated ID, coordinates outside the country) are labelled in quality_flags, never hidden.

What the source does not keep. The three registers only publish today's picture: they do not say which points are new or which were withdrawn. The actor does: in Delta mode every run compares the complete file with the previous one and returns only what is new (new), what changed (changed, with changed_fields and the old values in previous_values) and what disappeared (removed).

Filters never fool the history. The actor always reads the whole source; filters only decide which rows you receive. So a removal is never missed or invented because of a filter, and runs where the source has not changed finish in seconds and only charge the start fee.

What EV charging station data is used for

Seven real use cases: who uses them, what you do and which fields you need.

1 · Charge point operator (CPO) benchmark
Consultancies, analysts and CPO strategy teamsGroup by normalised operator (it merges legal forms and subsidiaries: Tesla Germany GmbH = TESLA France SARL = tesla) and count points by power and connector, per country or across all three.Result: a league table of who operates how many fast chargers, and where.
Fields: operator_name_norm, operator_id, power_kw, connector_type
2 · Site selection
Retail chains, property developers, fuel stations and fleetsBefore installing (or ruling out) chargers, map the competition around a plot, a shopping centre or a fleet depot: filter by postal code and minimum power and check opening hours and payment methods.Result: a ranked list of well- and poorly-covered areas.
Fields: postal_code, lat, lon, power_kw, opening_hours, payment_methods
3 · Weekly high-power roll-out monitor
Infrastructure funds, carmakers' charging teams and trade pressSchedule Delta mode weekly with minPowerKw: 150: new rows are openings and removed rows are closures. The registers hold 94,100 points of 150 kW or more and over 19,000 were commissioned in 2025 alone.Result: new and removed fast chargers by operator and region, every week.
Fields: change_type, operator_name_norm, city, commissioning_date
4 · Charging network due diligence
Investors, lenders and M&A teamsCheck what an operator really has on the ground: filter by its name or its EVSE prefix (e.g. DEENB) and count points, power classes and commissioning dates; the quality flags show how clean its published data is.Result: an independent, register-based view to check against the data room.
Fields: operator_id, power_kw, commissioning_date, quality_flags
5 · EVSE ID matching between platforms (roaming)
E-mobility service providers and roaming hubsReconcile your charge point list with the official registers on the normalised EVSE ID (DE*ABC*E123 becomes DEABCE123), keeping the original. Missing, malformed or duplicated IDs are flagged, so you know why they do not match.Result: a match rate and a fix list per operator.
Fields: evse_id, evse_id_raw, quality_flags
6 · Data quality for maps and apps
Navigation, map and charging appsCompare your database with the registers: points you miss, points that no longer exist, power that changed (with the old value) and coordinates outside the country.Result: a prioritised list of corrections for your map.
Fields: change_type, changed_fields, previous_values, quality_flags
7 · Coverage by postal code
Municipalities, mobility consultants and utilitiesAsk for one row per station (not per point) with its number of points and filter by postal prefix, e.g. 28 for Madrid province, where the register counts 4,718 stations.Result: chargers per postal area, ready to compare with population or registrations.
Fields: level, evse_count, postal_code, city

What the registers say about fast charging

Figures computed on the full run of 12 October 2026. This is the kind of analysis you get from a single run.

Operators with most points of 150 kW or more

OperatorPoints ≥150 kW
Tesla13,997
EnBW8,308
Izivia5,247
Electra5,155
Allego5,080
Power Dot4,323
TotalEnergies4,056
bp3,693

Germany, France and Spain combined by operator_name_norm. Register rows, including IDs the French source publishes more than once (flagged duplicate_evse).

High power by country

CountryPoints ≥150 kWTop high-power operators
France50,098Tesla · Izivia · Electra · Power Dot · TotalEnergies
Germany40,449EnBW · Tesla · bp · EWE Go · Shell
Spain3,553Charging Together · Tesla · Wenea · Iberdrola · Ionity

Roll-out pace

Commissioning year20212022202320242025
Points ≥150 kW3,1808,01216,38618,87519,355

Only points with a commissioning date in the source.

Real rows from two saved tasks

Extracts from runs on 12 October 2026. Public samples download without signing up.

Chargers of 150 kW or more in Spain (one row per point)

evse_idoperator_name_normcitypower_kwconnector_typepayment_methods
ES915EES00025600000020000001motor box mallorcaPalma350ccsapp | rfid
ES915EES00025600000010000001motor box mallorcaPalma350ccsapp | rfid
ES918EES00012500000020000001girona motorSalt320ccsapp | rfid
ES918EES00012500000010000001girona motorSalt320ccsapp | rfid
ES922EES00017000000010000001marbella premiumMarbella320ccsapp | rfid
ES922EES00017000000020000001marbella premiumMarbella320ccsapp | rfid

Real rows from the "fast chargers of 150 kW or more in Spain" task.

Stations in Madrid province (one row per station)

station_nameoperator_name_normcityevse_countpower_kw
COSTCO GETAFE CENTRO COMERCIALcostco wholesaleGetafe117.4
COSTCO LAS ROZAS GASOLINERAcostco wholesaleRozas de Madrid, Las1180
COSTCO GETAFEcostco wholesaleGetafe1180
COSTCO LAS ROZAS CENTRO COMERCIALcostco wholesaleRozas de Madrid, Las127.4
AYUNTAMIENTO DE NAVAS DEL REYayuntamiento de navas del reyNavas del Rey160
Calle Arzobispo Morcillo 4qwelloMadrid422

Real rows from the "charging stations in Madrid province" task: one row per station with its number of points.

No personal data. When the operator looks like a private individual (it happens in the German register), the actor hides the name and coarsens the location, and flags it. Those rows are left out of this site's samples.

Inputs ready to copy

Paste the input into the actor's JSON tab and press Start. The first three are the saved tasks used to produce the samples.

TaskInput (JSON)What it is for
Fast chargers 150 kW+ in Spain{"mode": "snapshot", "countries": ["ES"], "minPowerKw": 150}High-power inventory for a market study.
Weekly high-power additions in Germany{"mode": "delta", "countries": ["DE"], "minPowerKw": 150, "excludeFlags": ["duplicate_evse_secondary"]}Scheduled weekly: only openings, changes and closures.
Stations in Madrid province{"mode": "snapshot", "countries": ["ES"], "postalCodes": ["28"], "includeConnectors": false}One row per station for coverage analysis.
Roll-out monitor in all three countries{"mode": "delta", "countries": ["DE","FR","ES"], "minPowerKw": 150, "excludeFlags": ["missing_evse_id","duplicate_evse_secondary"]}The recipe for use case 3, with clean data.
One operator's network{"mode": "snapshot", "countries": ["DE","FR","ES"], "operators": ["Ionity"]}Due diligence or a competitor benchmark.
Instant full dump{"mode": "preloaded"}Ready-made DE+FR+ES copy at the lowest price per row.

Modes: snapshot (current picture), delta (only changes since the previous run) and preloaded (ready-made full copy).

ModeWhat it returnsWhen to use it
snapshotThe full current picture with your filtersA one-off extract or a first load
delta1st run: everything as baseline. Then only new / changed / removedScheduled: alerts, monitoring, history
preloadedFull copy prepared by Rastriq, instantly and cheaper per rowBulk dump with no waiting and no history

Field dictionary

The same columns for all three countries.

FieldDescription
evse_id · evse_id_rawNormalised EVSE ID and as published by the source
country · sourceCountry and source register (bnetza, irve, nap_es)
operator_name_raw · operator_name_normOriginal operator and normalised name to group on
operator_idOperator eMI3 prefix taken from the EVSE ID (e.g. ESIBD)
station_name · city · region · postal_code · lat · lonStation and location
power_kw · connector_typeMaximum power and normalised connector types (ccs, chademo, type2…)
payment_methods · opening_hoursPayment methods and opening hours
commissioning_date · statusCommissioning date and status (when the source gives it)
level · evse_countPoint or station level and number of points per station
change_type · changed_fields · previous_valuesbaseline / new / changed / removed, changed fields and old values
quality_flagsmissing_evse_id, duplicate_evse, invalid_evse_format, coords_out_of_country, power_outlier…

How you receive the data

Run it yourself, receive it on a schedule or commission the project.

Apify
You run the actor with your filters and download Excel, CSV or JSON. Pay per result: about $0.50 per 1,000 points, $2 per 1,000 changes and $0.30 per 1,000 in preloaded mode (Bronze plan).
Channels: console, API, MCP
Recurring dataset
Inventory for your countries refreshed weekly, with the history of additions, changes and removals accumulated from day one.
Channels: S3, CSV, JSON
Custom project
Matching against your network, your map or your candidate sites, and more countries on request.

Frequently asked questions about EV charging data

Where does the data come from?

From the three official, public charge point registers: Bundesnetzagentur (Germany), the IRVE national base on data.gouv.fr (France) and the DGT National Access Point (Spain). Rastriq is not affiliated with any of them.

How often is it updated?

France and Spain publish daily and Germany monthly. The usual set-up is a weekly Delta run.

How do I know which points are new or withdrawn?

With Delta mode: the first run returns everything as baseline and later runs only new, changed and removed, with the old values of whatever changed. None of the three sources keeps that history.

Why do some points have no EVSE ID?

Because the German register only publishes it for some points. The actor gives them a stable fallback key and flags them missing_evse_id; you can exclude them with a filter.

Can I get one row per station instead of per point?

Yes. Switch off "one row per charge point" and you get one row per station with its number of points (evse_count) and the list of its EVSE IDs.

How much does the full inventory cost?

About $17.75 for Spain and about $235 for all three countries as a first load (about $141 in preloaded mode, without history). In the following weeks you only pay for changes.

Get an extract for your countries and filters

Tell us countries, power or operators and we will send an extract in the schema you would receive.

  • Spain, Germany and France
  • Additions, changes and removals
  • No personal data
Could not send. Please use the contact form instead.
Received. Meanwhile, download the real samples at /en/samples/.

Keep exploring