UK Electricity Imbalance Prices — Elexon BMRS System Prices avatar

UK Electricity Imbalance Prices — Elexon BMRS System Prices

Pricing

from $33.50 / 1,000 bmrs price records

Go to Apify Store
UK Electricity Imbalance Prices — Elexon BMRS System Prices

UK Electricity Imbalance Prices — Elexon BMRS System Prices

Great Britain electricity system buy and sell (imbalance) prices, net imbalance volume and market index prices per half-hour settlement period, from Elexon's official BMRS data. Since 2015. Part of NexGen Signal — official-source data products

Pricing

from $33.50 / 1,000 bmrs price records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Official source. No API key. Pay per record.

This actor gives you Great Britain's electricity system prices — the System Buy Price and System Sell Price that settle every half-hour of imbalance in the GB market — together with the market index prices that feed into them, straight from Elexon's official Balancing Mechanism Reporting Service (BMRS). Elexon runs settlement under the Balancing and Settlement Code; these are the figures the market settles on.

Two datasets are covered:

  • systemPrices — one record per half-hour settlement period: System Sell Price and System Buy Price (£/MWh), net imbalance volume, reserve scarcity price, price adjustments, replacement price, accepted offer and bid volumes, and the price derivation code. Available from late 2015.
  • marketIndex — one record per settlement period and provider: the short-term wholesale market index price (£/MWh) and volume. Available from 2017. In practice this is almost all the APX provider: Elexon publishes nearly every N2EX row with a price and volume of zero (all N2EX rows on sampled June days from 2018 to 2026, and all but 6 of 960 periods in 1–20 September 2026). The actor skips zero rows and never charges for them.

A normal day has 48 settlement periods; the spring clock-change day has 46 and the autumn one 50. A full month of system prices is about 1,490 records (1,488 for August 2026).

Who buys this and for what job

  • Energy traders, suppliers and aggregators tracking imbalance prices and net imbalance volume to manage position and imbalance risk.
  • Battery storage and flexibility operators valuing imbalance and short-term price spreads for dispatch and revenue models.
  • Renewable generators and route-to-market providers reconciling imbalance charges.
  • Analysts, consultants and academics studying GB balancing costs and market tightness.
  • Data teams building a clean half-hourly price history without paging the BMRS API day by day.

Sample output

Sample output — UK Electricity Imbalance Prices

{
"record_id": "BMRS:SP:2026-09-28:6",
"dataset": "systemPrices",
"settlement_date": "2026-09-28",
"settlement_period": 6,
"start_time_utc": "2026-09-28T01:30:00Z",
"settlementDate": "2026-09-28",
"settlementPeriod": 6,
"startTime": "2026-09-28T01:30:00Z",
"createdDateTime": "2026-09-28T02:19:03Z",
"systemSellPrice": 125.67,
"systemBuyPrice": 125.67,
"bsadDefaulted": false,
"priceDerivationCode": "N",
"reserveScarcityPrice": 0,
"netImbalanceVolume": -125.65138666666667,
"sellPriceAdjustment": 0,
"buyPriceAdjustment": 0,
"replacementPrice": null,
"replacementPriceReferenceVolume": null,
"totalAcceptedOfferVolume": 613,
"totalAcceptedBidVolume": -857.1166644444445,
"totalAdjustmentSellVolume": 0,
"totalAdjustmentBuyVolume": 117.5,
"totalSystemTaggedAcceptedOfferVolume": 613,
"totalSystemTaggedAcceptedBidVolume": -856.1166644444445,
"totalSystemTaggedAdjustmentSellVolume": null,
"totalSystemTaggedAdjustmentBuyVolume": 117.5,
"api_url": "https://data.elexon.co.uk/bmrs/api/v1/balancing/settlement/system-prices/2026-09-28?format=json",
"source": "Elexon — Balancing Mechanism Reporting Service (BMRS) Insights API (https://data.elexon.co.uk/bmrs/api/v1)",
"licence": "BMRS open data licence — Elexon grants a 'worldwide, royalty-free, perpetual, non-exclusive licence' to copy, publish and 'exploit the BMRS Data, including commercially' (https://www.elexon.co.uk/bsc/data/balancing-mechanism-reporting-agent/copyright-licence-bmrs-data/).",
"attribution": "Contains BMRS data © Elexon Limited copyright and database right 2026.",
"licence_url": "https://www.elexon.co.uk/bsc/data/balancing-mechanism-reporting-agent/copyright-licence-bmrs-data/",
"observed_at": "2026-09-28T03:54:26Z"
}

A market index record looks like this (provenance fields omitted):

{"record_id": "BMRS:MID:APXMIDP:2026-09-28:10", "dataset": "marketIndex", "settlement_date": "2026-09-28", "settlement_period": 10, "start_time_utc": "2026-09-28T03:30:00Z", "dataProvider": "APXMIDP", "price": 137.87, "volume": 2703.55}

Pricing

Apify planPrice per record
Free$0.05
Bronze$0.045
Silver$0.04
Gold and above$0.0335

You pay only for records delivered to your dataset. maxRecords caps what a run can cost: 500 records cost $25 on the Free plan.

Input

FieldWhat it doesDefault
datasetssystemPrices, marketIndex, or bothsystemPrices
lastDaysOnly settlement dates in the last N dayslast 7 days if no dates are given
fromDate, toDateFirst and last settlement date (YYYY-MM-DD)7 days ago → tomorrow
marketIndexProvidersAPXMIDP and/or N2EXMIDP (N2EX rows are published as zero and skipped)both
maxRecordsMaximum records delivered and billed500

Newest settlement periods come first. When both datasets are asked for, system prices are delivered first, then market index data.

Example — all August 2026 system prices:

{"datasets": ["systemPrices"], "fromDate": "2026-08-01", "toDate": "2026-08-31", "maxRecords": 5000}

(That returned 1,488 records — 31 days × 48 periods — in 15 seconds.)

Example — market index prices for the first 20 days of September 2026:

{"datasets": ["marketIndex"], "fromDate": "2026-09-01", "toDate": "2026-09-20", "maxRecords": 5000}

Output

FieldMeaning
record_idBMRS:SP:<date>:<period> or BMRS:MID:<provider>:<date>:<period>
datasetsystemPrices or marketIndex
settlement_date, settlement_period, start_time_utcThe half-hour the record covers
Every BMRS fieldUnder its API name and exactly as returned: systemSellPrice, systemBuyPrice, netImbalanceVolume, reserveScarcityPrice, priceDerivationCode, createdDateTime… or dataProvider, price, volume
api_url, source, licence, attribution, licence_url, observed_atProvenance, including Elexon's required attribution statement

Prices are £/MWh and volumes MWh, as Elexon publishes them. Nothing is recalculated.

Reading the system price fields

  • systemSellPrice / systemBuyPrice — the prices at which imbalance is settled for the period. Since the single imbalance price came in, the two are normally equal; the actor keeps both exactly as Elexon publishes them.
  • netImbalanceVolume — the system's net imbalance for the period in MWh, as Elexon publishes it; its sign shows whether the system was long or short.
  • priceDerivationCode — Elexon's code for how the price was derived.
  • reserveScarcityPrice, sellPriceAdjustment, buyPriceAdjustment, replacementPrice — the components and fallbacks Elexon reports alongside the price.
  • totalAccepted… and totalSystemTagged… volumes — the accepted balancing volumes behind the price.
  • createdDateTime — when this version of the period's prices was produced.

Elexon's own BMRS documentation describes each field in full.

Tips

  • Daily feed: schedule a run each morning with lastDays: 1 to pick up yesterday's complete day and today so far; record_id stays the same for a period, so later runs can overwrite earlier values.
  • Spreads: join marketIndex to systemPrices on settlement_date and settlement_period to compare imbalance and wholesale prices.
  • Long histories: request a year at a time; each settlement date is one request.

Cost guidance

A week of system prices is 336 records ($11 on Gold); a month about 1,490 ($50); a year about 17,500 ($587). Market index data is about one record per period (APX, plus the rare non-zero N2EX row), so a month is about 1,490 records; 1–20 September 2026 gave 962. A daily run with lastDays: 1 (yesterday plus today so far) is between about 50 and 100 records — $2–$4 on Gold for system prices.

Why imbalance prices matter

The system price is what a party pays or receives for every megawatt-hour it is out of balance in a half-hour, so it sets the value of flexibility in Great Britain. Batteries, demand response and flexible generation earn by being on the right side of it; suppliers and generators with forecasting errors pay it. A clean history of system prices, net imbalance volume and the market index is the starting point for valuing a battery, pricing a power purchase agreement's balancing risk or checking a supplier's imbalance bill.

How a run works

The actor checks robots.txt (data.elexon.co.uk serves none — HTTP 404 — which is recorded in the run receipt as "no policy", not as permission), then asks the BMRS API for system prices one settlement date at a time and for market index data in windows of six days (the API allows at most seven per request). Records are pushed to your dataset first and charged only after they are delivered; if you set a maximum charge, the run stops cleanly when it is reached. Test runs took 3–15 seconds. Every run saves a receipt (RUN_RECEIPT) with the robots decision, requests made, days read and any request that failed. If the API cannot be reached after several retries, the run ends with a clear message and nothing is charged.

Honest limitations

  • Latest settlement run only. For each period the API returns prices from the latest settlement run available when you read it; early values can be revised in later runs, and the actor delivers what the API returns at that moment (createdDateTime tells you when it was produced).
  • History. System prices start in late 2015 (1 December 2015 returned data, 1 November 2015 did not); market index data from 2017, with gaps in its first months.
  • Today is partial. Periods that have not happened yet have no system price.
  • GB only. Northern Ireland is part of the separate all-island market.
  • Not the full BMRS. Balancing bids and offers, generation by fuel type and other BMRS datasets are not included.

Licence and attribution

Elexon's BMRS open data licence (for users who are not parties to the Balancing and Settlement Code) grants "a worldwide, royalty-free, perpetual, non-exclusive licence" to copy, publish, adapt and "exploit the BMRS Data, including commercially", provided the source is acknowledged with its attribution statement and, where possible, a link to the licence. Every record carries that statement — Contains BMRS data © Elexon Limited copyright and database right [year] — and the licence link. This actor is not affiliated with or endorsed by Elexon.

Differentiation

Elexon actors on the Store — such as ninhothedev/elexon-grid-scraper and parseforge/elexon-bmrs-generation-scraper — focus on grid and generation data. This actor is built for GB price data: system buy and sell prices with every settlement field, plus the market index price and volume, by date range, with Elexon's required attribution on every record.

The NexGen Signal family

Part of NexGen Signal — official-source data products, no API keys, pay per record. Related actors: