Built 2026-09-21 (21 September 2026)

Free Electricity Data API

A free, read only JSON API with 4 datasets and 5 endpoints, data to 2026-09-20. There is no key and no server: each response is a static file at /api/v1/, rebuilt with every site build and served with open CORS headers. Every payload carries the source attribution and licence you must keep.

Key Facts

  • Annual electricity generation, demand and emissions by country: 215 countries, 1985 to 2025, from Ember (CC BY 4.0).
  • Monthly electricity generation and demand by country: 88 countries, 1999-01 to 2026-08, from Ember (CC BY 4.0).
  • US grid region daily electricity demand and generation: 14 US grid regions, 2025-08-16 to 2026-09-20, from U.S. Energy Information Administration (US Government work, public domain).
  • European cross border physical electricity flows: 88 borders, 2026-08-21 to 2026-09-19 (30 days), from ENTSO-E Transparency Platform (ENTSO-E Terms of Use plus CC BY 4.0 for listed data items).
  • 5 endpoints, plus an index and an OpenAPI 3 description. Files are static and rebuilt with every site build.

Endpoints

Base https://worldpowermonitor.com/api/v1
PathReturnsFiles
/api/v1/index.jsonDatasets with coverage, cadence, attribution and endpoints.1
/api/v1/openapi.jsonOpenAPI 3 description of the endpoints below.1
/api/v1/countries.json List of countries with a data file. 215
/api/v1/countries/{id}.json Ember annual and monthly series for one country. 215
/api/v1/regions.json List of US grid regions with a daily file. 14
/api/v1/regions/{id}.json Daily demand and generation for one US grid region. 14
/api/v1/europe/flows.json Physical cross border flows between European zones over a dated window. 1

Examples

curl

curl -s https://worldpowermonitor.com/api/v1/index.json
curl -s https://worldpowermonitor.com/api/v1/countries/germany.json

JavaScript fetch, which works from a browser on any site

const res = await fetch('https://worldpowermonitor.com/api/v1/countries/germany.json');
const data = await res.json();
console.log(data.attribution);

Operator data is a separate dataset: https://worldpowermonitor.com/api/v1/regions/eia-texas.json.

Fields

FieldTypeMeaning
api_versiontextAlways v1 for these files.
attributionobject or listSource name and URL, the exact attribution text, licence name and licence URL. Keep it with any copy.
dataset, as_of, changestextDataset id, the last year, month or day in the file, and what World Power Monitor changed from the source.
years, months, dateslistThe time axis. Every series in the same block has one value per entry, in the same order.
*_twh, *_gw, *_mwh, *_pct, *_mtco2, *_gco2_kwhnumberRaw values, never formatted strings. The unit is the field name suffix. null means missing.
generation_twh, share_pct, capacity_gw, emissions_mtco2objectSeries keyed by fuel id (coal, gas, nuclear, hydro, wind, solar and others).

Datasets, licences and update cadence

Data as of 2026-09-20
DatasetCoverageLicenceUpdate cadence
Annual electricity generation, demand and emissions by country 215 countries, 1985 to 2025 CC BY 4.0 Ember publishes annual figures as national statistics arrive, mostly once a year, with revisions. The files are rebuilt from the latest Ember release with every site build.
Monthly electricity generation and demand by country 88 countries, 1999-01 to 2026-08 CC BY 4.0 Ember adds a month of data as national sources publish it, usually a month or two after the month ends. The file is rebuilt from the latest release with every site build.
US grid region daily electricity demand and generation 14 US grid regions, 2025-08-16 to 2026-09-20 US Government work, public domain EIA publishes hourly grid data with a lag of about one hour for demand and up to 13 hours for generation by fuel. Daily totals are rebuilt with every site build and cover a rolling window of about 400 days.
European cross border physical electricity flows 88 borders, 2026-08-21 to 2026-09-19 (30 days) ENTSO-E Terms of Use plus CC BY 4.0 for listed data items A rolling 30 day window, rebuilt with every site build from the latest ENTSO-E physical flow data.

Using the API

  • Attribution. Keep the attribution field, or the text below, with any copy or derived work. It is the same text on every dataset page.
  • Two layers. Ember statistics (countries) and operator data (EIA, ENTSO-E) are separate endpoints and are not merged into one figure. Do not add the US Lower 48 region to the other US regions.
  • Only cleared datasets. A dataset is served only when its licence allows republishing it; other series on the site are not available here.
  • CORS and caching. Responses send Access-Control-Allow-Origin: * and cache for an hour at the edge. Files change at most once per site build, so poll no more than hourly.
  • Stability. Version 1 keeps existing fields; new fields may be added. A breaking change would ship as /api/v2/.
  • Missing values. A null is a value the source did not report. Days of exactly zero regional demand are reported as null, not zero.

Annual electricity generation, demand and emissions by country. Source: Ember (ember-energy.org), licensed under CC BY 4.0.

Monthly electricity generation and demand by country. Source: Ember (ember-energy.org), licensed under CC BY 4.0.

US grid region daily electricity demand and generation. Source: U.S. Energy Information Administration (EIA).

European cross border physical electricity flows. Source: ENTSO-E Transparency Platform (transparency.entsoe.eu), CC BY 4.0. Aggregated and converted by World Power Monitor; ENTSO-E does not endorse this site.

Source: Ember (ember-energy.org), licensed under CC BY 4.0. Source: U.S. Energy Information Administration (EIA). (US Government work, public domain) Source: ENTSO-E Transparency Platform (transparency.entsoe.eu), CC BY 4.0. Aggregated and converted by World Power Monitor; ENTSO-E does not endorse this site. (ENTSO-E Terms of Use plus CC BY 4.0 for listed data items) Data as of 2026-09-20. Each dataset has its own as-of date.