No black boxes.
Every figure on this map can be traced to a source and a method. This page shows the working, and where each number stops being reliable.
What the map shows
Each dot is a grid node where the operator has published spare capacity for new demand: the load a datacenter or factory could draw there today, on the operator's own numbers. Injection capacity for generators is a different market, and it only appears here as the clearly labelled grid-strength proxy layer.
There is no pan-European source for any of this. Coverage was built one market at a time: find the regulator, find the licensed operators, find each one's capacity publication, then force it all into a single schema.
Headroom is shared
Nearby nodes hang off the same upstream circuits and transformers, so published headroom is not additive. A big load at one node eats its neighbours' margin too.
Never add two dots together.
The firm-power engine
The headline tiles come from a chronological battery simulation run on the latest full year of measured system load per market, hourly, against the Duke seasonal thresholds (the highest summer and winter loads served over the nine study years). A candidate load draws continuously. The battery (energy = load × duration, ~88% round-trip) discharges through every interval where the load would push the system past its observed peak, and it can only recharge when there is spare room under that peak, through the same connection. That last constraint is the whole point: back-to-back constraint days with thin recharge windows are exactly where a candidate load fails, and a method that ignores event clustering would never see it.
Uptime here means the share of intervals served at full power. Any shortfall counts the whole interval as downtime, which is how an SLA would count it. 99.9% works out to about 8.8 hours of curtailment a year. Move the slider and the tiles recompute.
The ceiling is the Duke seasonal threshold: the highest summer and winter loads the system has actually served over the study years, nothing above. Let the system go just 3% above it and the 2 h figure roughly triples, so we keep the strict floor. These are also system-level numbers: the local network still gets a veto at any specific node.
Flexible load, no battery
The flexible-load tile and the Load growth panel replicate the Nicholas Institute's Rethinking Load Growth method (Norris, Profeta, Patino-Echeverri and Cowie-Haskell, Duke, February 2025) step by step on European hourly load: nine years of data per market; two thresholds per market, the highest summer load and the highest winter load the system has served, the summer one governing April to October and the winter one November to March; hourly curtailment is whatever the existing load plus the new load would exceed the threshold by; the new load's annual curtailed energy divided by its potential consumption, averaged over the years, is its curtailment rate; the engine then solves for the largest constant load whose rate equals the limit (0.25, 0.5, 1 or 5%). Hours curtailed, the share of those hours that keep at least half, three-quarters or nine-tenths of the load, event lengths and the seasonal split are reported the way the report does.
One adaptation, in the optimistic direction. The report took its seasonal peaks from June–August and December–February and stretched that by a month in four US cases. Europe's winter-peaking systems carry April and October loads well above their June–August maximum, so the strict reading leaves no room at all; we take each threshold as the highest load in all the months it governs, which is never below the report's threshold. The strict figure is kept alongside. That is an energy tolerance, for a load that can flex itself. The battery tiles use uptime, which is stricter.
The fit score
Each demand node gets a 0–100 score for the firming wedge at your chosen target load. Firming-gap economics carries the most weight, 40%: the sweet spot is a node whose published headroom covers most of the target but not all of it, so a right-sized battery bridges the rest. Connectivity is 20%, from fibre-route and interconnection-facility distance. Voltage class is 15%. Queued demand within 30 km is another 15%, where the market publishes a queue at all. Industrial land within 3 km is the last 10%.
The score ranks where to spend screening effort. It is not a bankability rating.
Published vs measured
Published headroom is a statement by the operator, not a measurement. Where substation-level metering exists (Portugal today, ~4,000 GB nodes once the API keys land), we build the real load-duration curve and compute how much added load a 2 h or 8 h battery could actually firm. Those nodes carry a measured badge and an orange ring on the map.
The two disagree in both directions. When the published figure runs above the metered minimum headroom, believe the meter.
Solar & BESS assets (GB)
Asset dots join REPD, the government's renewable planning database, with NESO's TEC connection register. REPD gives coordinates, status and the year a project went live; TEC adds the connection site and queue gate. Pipeline projects show as potential capacity, operational ones as installed. Neither source publishes battery duration in MWh, so the popups say so instead of guessing. The DNO register join will fill that gap.
Candidate sites
Industrial and warehouse polygons from OpenStreetMap, within 3 km of a node with published demand headroom: distribution substations from 5 MW (GB, Spain, Nordics) up to transmission nodes. No country in Europe lets you look up contracted power per building, so treat these as a shortlist to verify through meter-level records, not as confirmed spare power.