UK grid capacity API
The GB capacity heatmaps, in one schema
Ofgem's Long Term Development Statement requires every GB distribution network operator to publish a capacity heatmap in one standard JSON format. The API reads each operator's file where it is openly available and serves it with the operator's own licence terms.
Free plan, 250 requests a month, no card.
One standard, six operators, fourteen licence areas
The Form of LTDS asks for capacity heatmaps refreshed on or before 31 May and 30 November each year, in a JSON information model. In practice each operator ships it differently: as portal attachments, alternative exports, keyed datasets, or behind a bot challenge. Field spellings drift, and headroom arrives in MVA, alongside a red-amber-green status and a limiting factor.
The API keeps the MVA as MVA. Converting it to MW would need a power factor the operators do not publish, so value_mw is null and an MW filter will not match these records; filter with unit=MVA instead. The RAG status and the limiting factor travel with the value.
What the heatmaps publish
- Per substation: demand headroom, generation headroom and reverse-power-flow capacity, in MVA.
- A red-amber-green status and the constraint that limits headroom, carried verbatim in the record's details.
- A twice-yearly refresh cycle, with each file's own date as the operator's effective date.
- Licences that are mostly open (CC BY 4.0, or the operator's own open-data licence permitting commercial use), shown per source with the attribution each asks for.
Endpoints
| Method | Path | Returns |
|---|---|---|
| GET | /v1/capacity/search?country=GB&unit=MVA | Every heatmap record in MVA, filterable by direction. |
| GET | /v1/operators?country=GB | The GB operators and their sources. |
| GET | /v1/sources/{id} | One operator's heatmap: licence, cadence, health. |
| GET | /v1/capacity/nearby | Headroom around a site, nearest first. |
Example
Request
curl "https://api.gridcapacityapi.com/v1/capacity/search?country=GB&direction=injection&unit=MVA&min_capacity=10" \ -H "Authorization: Bearer gc_live_..."min_capacity filters in the requested unit. min_capacity_mw would return nothing here, by design: none of these values is in MW.
Response shapeplaceholder values — not a capacity claim
{
"data": [
{
"id": "cap_…",
"series_id": "cs_…",
"asset": {
"id": "sub_…",
"type": "substation",
"name": "…",
"slug": "…",
"country": "GB",
"operator": {
"id": "op_…",
"slug": "…",
"name": "…",
"type": "DSO"
},
"network_level": "…",
"voltage_kv": 33,
"location": {
"type": "Point",
"coordinates": [
0,
0
],
"precision": "exact"
}
},
"direction": "injection",
"technology": "generic_generation",
"capacity": {
"type": "available",
"value": 0,
"unit": "MVA",
"value_mw": null,
"qualifier": null,
"status": null,
"status_label": null
},
"firmness": "firm",
"curtailment": null,
"horizon": {
"type": "snapshot",
"year": null,
"label": null
},
"methodology": {
"id": "…",
"comparability_class": "…",
"non_additive": true,
"binding": false
},
"freshness": {
"source_effective_at": "…",
"retrieved_at": "…",
"last_confirmed_at": "…",
"source_health": "healthy"
},
"provenance": {
"source_id": "…",
"source_url": "https://…",
"license": "…",
"rights_mode": "…"
},
"access": {
"status": "granted",
"attribution": "…"
},
"decision_context": {
"binding": false,
"formal_connection_study_required": true,
"source_indicative": true,
"statement": "The operator's latest published dataset reports … under methodology …."
},
"details": {
"limiting_factor": "…"
}
}
],
"pagination": {
"has_more": true,
"next_cursor": "…",
"limit": 20
},
"meta": {
"request_id": "req_…"
}
}What the API holds today
Read from the API as this page renders. A source is listed with its rights status, because a listed source is not always a served one.
What people build with it
GB site finding
Screen every GB licence area for generation or demand headroom with one query and one schema.
Twice-yearly diffs
See which substations gained or lost headroom when a new heatmap lands, from the change feed.
Portfolio monitoring
Watch the substations behind a project pipeline and get a webhook when their figures move.
Questions
Why MVA and not MW?
Are all six operators included?
Is the heatmap a connection offer?
Start building on grid-capacity data
A key in under a minute, on the Free plan.