UK Electricity Grid Scraper (Elexon BMRS) โ€“ Generation & Demand avatar

UK Electricity Grid Scraper (Elexon BMRS) โ€“ Generation & Demand

Pricing

from $0.40 / 1,000 results

Go to Apify Store
UK Electricity Grid Scraper (Elexon BMRS) โ€“ Generation & Demand

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

ninhothedev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

FieldTypeDefaultDescription
modeselect: generation | demandgenerationgeneration = output by fuel type. demand = national demand outturn.
fromDatestring YYYY-MM-DD(empty)Start of the settlement-date window. Empty = latest available data.
toDatestring YYYY-MM-DD(empty)End of the settlement-date window (inclusive). Empty = today.
maxItemsinteger500Row 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 maxItems accordingly.


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's startTime / publishTime (...Z) to ISO-8601 UTC.
  • settlement_period โ€” 1โ€“48; each UK settlement period is 30 minutes.
  • generation_mw โ€” Elexon's generation, in megawatts. 0 is meaningful (e.g. coal off) and is preserved, never dropped.
  • demand_mw โ€” Elexon's initialDemandOutturn (INDO).
  • transmission_demand_mw โ€” Elexon's initialTransmissionSystemDemandOutturn (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:

EndpointUsed forResponse shape
/datasets/FUELHH?settlementDateFrom=&settlementDateTo=Generation by fuel type for a date window (half-hourly){"data": [...]}
/generation/outturn/summaryLatest rolling generation summary when no dates are givenbare 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.


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.