UK Electricity Grid Scraper (Elexon BMRS) โ Generation & Demand
Pricing
from $0.40 / 1,000 results
UK Electricity Grid Scraper (Elexon BMRS) โ Generation & Demand
$0.4/1K ๐ฅ UK grid scraper! Electricity generation by fuel type & national demand, half-hourly. No key. JSON, CSV, Excel or API in seconds. Power energy trading & grid analytics โก
Pricing
from $0.40 / 1,000 results
Rating
0.0
(0)
Developer
ninhothedev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
UK Electricity Grid Scraper (Elexon BMRS)
Scrape UK national electricity grid data โ half-hourly generation by fuel type and national demand outturn โ straight from the official Elexon BMRS Insights API. No API key, no login, no proxy required.
Every run gives you clean, flat rows (one fuel type per settlement period) with ISO-8601 timestamps, settlement dates and settlement periods, ready to export as JSON, CSV, Excel or XML, or to pull through the Apify API into your own model.
What you get
Generation mode โ how much electricity Great Britain produced, split by fuel type:
WIND, NUCLEAR, CCGT, COAL, BIOMASS, NPSHYD, PS, OCGT, OIL, OTHER, plus interconnector flows (INTFR, INTNED, INTNEM, INTIFA2, INTNSL, INTVKL, INTELEC, INTEW, INTGRNL).
Demand mode โ Initial National Demand Outturn (INDO) and Initial Transmission System Demand Outturn (ITSDO) per settlement period.
Use cases
- Energy trading โ build half-hourly fuel-mix and demand features for power price models, spark/dark spread analysis and intraday position sizing.
- Grid analytics โ monitor renewables penetration, interconnector flows and demand curves; spot ramping events and low-carbon records.
- ESG & carbon reporting โ derive grid carbon intensity and Scope 2 market-based emissions from a real, auditable fuel mix instead of annual averages.
- Renewables research โ quantify wind and solar output against capacity, study curtailment, and back-test forecasting models over historical settlement periods.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select: generation | demand | generation | generation = output by fuel type. demand = national demand outturn. |
fromDate | string YYYY-MM-DD | (empty) | Start of the settlement-date window. Empty = latest available data. |
toDate | string YYYY-MM-DD | (empty) | End of the settlement-date window (inclusive). Empty = today. |
maxItems | integer | 500 | Row cap. Max 5000. |
Example input
{"mode": "generation","fromDate": "2026-07-20","toDate": "2026-07-21","maxItems": 2000}
Leave fromDate and toDate empty to get the latest rolling 24 hours of generation.
One day of generation data โ 48 settlement periods ร ~18 fuel types โ 860 rows. Size
maxItemsaccordingly.
Output
mode: "generation"
{"start_time": "2026-07-19T23:00:00+00:00","settlement_date": "2026-07-20","settlement_period": 1,"fuel_type": "CCGT","generation_mw": 3678.0,"publish_time": "2026-07-19T23:30:00+00:00","dataset": "FUELHH","type": "generation","source": "elexon","scraped_at": "2026-07-28T13:35:04.948298+00:00"}
mode: "demand"
{"start_time": "2026-07-26T23:00:00+00:00","settlement_date": "2026-07-27","settlement_period": 1,"demand_mw": 20760.0,"transmission_demand_mw": 22905.0,"publish_time": "2026-07-26T23:30:00+00:00","dataset": "INDO","type": "demand","source": "elexon","scraped_at": "2026-07-28T13:35:05.406625+00:00"}
All fields are nullable โ the upstream API omits values for some periods, and the scraper never fails a row because of a missing field.
Field notes
start_time/publish_timeโ normalised from Elexon'sstartTime/publishTime(...Z) to ISO-8601 UTC.settlement_periodโ 1โ48; each UK settlement period is 30 minutes.generation_mwโ Elexon'sgeneration, in megawatts.0is meaningful (e.g. coal off) and is preserved, never dropped.demand_mwโ Elexon'sinitialDemandOutturn(INDO).transmission_demand_mwโ Elexon'sinitialTransmissionSystemDemandOutturn(ITSDO).datasetโ which upstream dataset the row came from, so you can trace provenance.
Endpoints used
All under https://data.elexon.co.uk/bmrs/api/v1 โ the open Elexon Insights (BMRS) API, no key required:
| Endpoint | Used for | Response shape |
|---|---|---|
/datasets/FUELHH?settlementDateFrom=&settlementDateTo= | Generation by fuel type for a date window (half-hourly) | {"data": [...]} |
/generation/outturn/summary | Latest rolling generation summary when no dates are given | bare array with nested data[] per period |
/datasets/FUELINST?publishDateTimeFrom=&publishDateTimeTo= | Fallback 5-minute instantaneous fuel mix | {"data": [...]} |
/demand/outturn?settlementDateFrom=&settlementDateTo= | National demand outturn (INDO + ITSDO) | {"data": [...]} |
The scraper handles both shapes and flattens the nested summary payload (parent startTime / settlementPeriod are inherited by each fuel-type child row).
Pricing
Roughly $0.5 per 1,000 rows on the Apify pay-per-result model. A full day of UK fuel-mix data (~860 rows) costs well under a dollar; there are no Elexon fees on top, since the Insights API is free and open.
Notes & limits
- Runs on 512 MB โ cheap enough to schedule every 30 minutes alongside settlement periods.
- Data is published by Elexon with a short lag; the newest settlement period may not be available yet.
- Requesting a very wide date window is capped by
maxItems; split long back-fills into several runs by date range. - Times are UTC. UK settlement periods 1โ48 run from 23:00 UTC the previous day.
Related actors
- Energy Charts Scraper โ European power generation, prices and load.
- Carbon Intensity Scraper โ UK grid carbon intensity forecasts and regional data.
- World Bank Scraper โ global energy, emissions and macro indicators.
- Eurostat Scraper โ EU energy statistics and datasets.
Data source & licensing
Data comes from Elexon's BMRS Insights API, published under Elexon's open data terms. This actor is an unofficial client and is not affiliated with or endorsed by Elexon or NESO. Check Elexon's terms before redistributing raw data.