Operations 4
Documentation
Documentation
https://developer.data.elexon.co.uk/
Documentation
https://bmrs.elexon.co.uk/api-documentation/guidance
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/elexon-system-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Insights.Api Balancing Mechanism Dynamic System API
version: '1.0'
description: Dynamic data.
servers:
- url: https://data.elexon.co.uk/bmrs/api/v1
tags:
- name: System
description: Transmission System data.
paths:
/system/frequency:
get:
tags:
- System
summary: System frequency (FREQ)
description: 'This endpoint allows for retrieving a collection of recent system frequency data from National Grid ESO. Results
can be filtered by a range of DateTime parameters. This endpoint is useful for ad-hoc querying frequency data.'
parameters:
- name: from
in: query
schema:
type: string
format: date-time
- name: to
in: query
schema:
type: string
format: date-time
- name: format
in: query
description: Response data format. Use json/xml to include metadata.
schema:
enum:
- json
- xml
- csv
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
application/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
text/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
application/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
text/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
text/csv:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency'
/system/frequency/stream:
get:
tags:
- System
summary: System frequency (FREQ) stream
description: 'This endpoint allows for retrieving a stream of recent system frequency data from National Grid ESO. Results can
be filtered by a range of DateTime parameters. This endpoint has an optimised JSON payload and aimed at frequent
request for the frequency data.'
parameters:
- name: from
in: query
schema:
type: string
format: date-time
- name: to
in: query
schema:
type: string
format: date-time
responses:
'200':
description: OK
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
/system/warnings:
get:
tags:
- System
summary: System warnings (SYSWARN)
description: 'This endpoint provides system warnings data. Results can be filtered by warning type and a range of DateTime parameters.
- If no parameters are specified then the latest message is returned
- If just a warning type is specified then the latest message of that type is returned
- If just publish times are specified then all messages within that range are returned'
parameters:
- name: warningType
in: query
schema:
type: string
example: IT SYSTEMS OUTAGE
example: IT SYSTEMS OUTAGE
- name: publishDateTimeFrom
in: query
schema:
type: string
format: date-time
example: 2023/06/01 07:00
example: 2023/06/01 07:00
- name: publishDateTimeTo
in: query
schema:
type: string
format: date-time
example: 2023/06/30 10:00
example: 2023/06/30 10:00
- name: format
in: query
description: Response data format. Use json/xml to include metadata.
schema:
enum:
- json
- xml
- csv
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
application/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
text/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
application/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
text/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
text/csv:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData'
/system/demand-control-instructions:
get:
tags:
- System
summary: Demand control instructions (DCI)
description: 'This endpoint provides demand control instruction data, filtered by the time range of the instruction.
There is no date range limit on parameters.
If no query parameters are supplied all data is returned.'
parameters:
- name: from
in: query
schema:
type: string
format: date-time
example: 2021-04-30T00:00Z
example: 2021-04-30T00:00Z
- name: to
in: query
schema:
type: string
format: date-time
example: 2021-04-30T20:00Z
example: 2021-04-30T20:00Z
- name: format
in: query
description: Response data format. Use json/xml to include metadata.
schema:
enum:
- json
- xml
- csv
type: string
responses:
'200':
description: OK
content:
text/plain:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
application/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
text/json:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
application/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
text/xml:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
text/csv:
schema:
$ref: '#/components/schemas/Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
components:
schemas:
Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemFrequency:
type: object
properties:
data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemFrequency'
metadata:
$ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
additionalProperties: false
Insights.Api.Models.Responses.Misc.DemandControlInstructionData:
type: object
properties:
mRID:
type:
- string
- 'null'
example: DCI_202104300853_00000030
revisionNumber:
type: integer
format: int32
example: 1
publishTime:
type:
- string
- 'null'
format: date-time
example: '2021-04-30T08:53:39Z'
publishingPeriodCommencingTime:
type: string
format: date-time
example: '2021-04-30T08:53:39Z'
affectedDso:
type:
- string
- 'null'
example: SP(D)
demandControlId:
type:
- string
- 'null'
example: '00135'
instructionSequence:
type: integer
format: int32
example: 1
demandControlEventFlag:
type: string
example: I
timeFrom:
type: string
format: date-time
example: '2021-04-30T12:45:00Z'
timeTo:
type:
- string
- 'null'
format: date-time
example: '2021-04-30T13:09:00Z'
volume:
type: number
format: double
example: 68
systemManagementActionFlag:
type:
- string
- 'null'
example: T
amendmentFlag:
type:
- string
- 'null'
example: ORI
additionalProperties: false
Insights.Api.Models.Metadata.ApiResponseSourceMetadata:
type: object
properties:
datasets:
type:
- array
- 'null'
items:
type: string
example:
- DATASET
additionalProperties: false
Insights.Api.Models.Responses.Misc.SystemFrequency:
type: object
properties:
measurementTime:
type: string
format: date-time
frequency:
type: number
format: double
additionalProperties: false
Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.SystemWarningsData:
type: object
properties:
data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.SystemWarningsData'
metadata:
$ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
additionalProperties: false
Insights.Api.Models.Responses.ResponseWithMetadata-1_Insights.Api.Models.Responses.Misc.DemandControlInstructionData:
type: object
properties:
data:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Insights.Api.Models.Responses.Misc.DemandControlInstructionData'
metadata:
$ref: '#/components/schemas/Insights.Api.Models.Metadata.ApiResponseSourceMetadata'
additionalProperties: false
Insights.Api.Models.Responses.Misc.SystemWarningsData:
type: object
properties:
publishTime:
type:
- string
- 'null'
format: date-time
example: 2022-09-20T00:00Z
warningType:
type:
- string
- 'null'
example: IT SYSTEMS OUTAGE
warningText:
type:
- string
- 'null'
example: NATIONAL GRID NOTIFICATION of excess energy prices used for settlement outside of BALIT for SO to SO Transactions
additionalProperties: false