---
title: "Market Index Data (MID)"
method: GET
path: "/datasets/MID"
tags: ["BMRS Datasets"]
---

# Market Index Data (MID)

`GET /datasets/MID`

This endpoint provides Market Index Data received from NGESO.
            
Market Index Data is a key component in the calculation of System Buy Price and System Sell Price for each
Settlement Period. This data is received from each of the appointed Market Index Data Providers (MIDPs) and
reflects the price of wholesale electricity in Great Britain in the short term markets. The Market Index Data
which is received from each MIDP for each Settlement Period consists of a Market Index Volume and
Market Index Price, representing the volume and price of trading for the relevant period in the market operated
by the MIDP. The Market Price (the volume weighed average Market Index Price) is used to derive
the Reverse Price (SBP or SSP)."
            
The two data providers available to query are N2EX ("N2EXMIDP") and APX ("APXMIDP").

By default, the from and to parameters filter the data by time inclusively. If the settlementPeriodFrom or
settlementPeriodTo parameters are provided, the corresponding from or to parameter instead filters on settlement
date, allowing for searching by a combination of time and/or settlement date & settlement period.
Note: When filtering via settlement date, from/to are treated as Dates only, with the time being ignored. For
example, 2022-06-01T00:00Z and 2022-06-01T11:11Z are both treated as the settlement date 2022-06-01.
            
All Dates and DateTimes should be expressed as defined within
<a href="https://datatracker.ietf.org/doc/html/rfc3339#section-5.6" target="_blank">RFC 3339</a>.
            
Some examples of date parameter combinations are shown below.
            
Filtering from start time to start time:
            
    /datasets/mid?from=2022-06-01T00:00Z&to=2022-07-01T00:00Z
            
Filtering from start time to settlement date and period:
            
    /datasets/mid?from=2022-06-01T00:00Z&to=2022-07-01T00:00Z&settlementPeriodTo=1
            
Filtering from settlement date and period to start time:
            
    /datasets/mid?from=2022-06-01T00:00Z&to=2022-07-01T00:00Z&settlementPeriodFrom=1
            
Filtering from settlement date and period to settlement date and period:
            
    /datasets/mid?from=2022-06-01T00:00Z&to=2022-07-01T00:00Z&settlementPeriodFrom=1&settlementPeriodTo=1

## Query parameters

- `from` string, date-time, required
- `to` string, date-time, required
- `settlementPeriodFrom` integer
- `settlementPeriodTo` integer
- `dataProviders` string[]
- `format` 'json' | 'xml' | 'csv'

## Response `200`

Data retrieved

- InsightsApiModelsResponsesDatasetResponse1InsightsApiModelsResponsesBalancingDatasetRowsMarketIndexDatasetResponse
  - `data` InsightsApiModelsResponsesBalancingDatasetRowsMarketIndexDatasetResponse[], nullable
    - `dataset` string, nullable
    - `startTime` string, date-time
    - `dataProvider` string, nullable
    - `settlementDate` string, date
    - `settlementPeriod` integer
    - `price` number, double
    - `volume` number, double

## Other responses

- `400` — Error with query parameters - see response for details
- `429` — Too many requests
- `500` — Server error - please try again later

---

[API](https://skmtc.net/elexon/apis/bmrs-insights.md) · [All operations](https://skmtc.net/elexon/apis/bmrs-insights/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elexon/bmrs-insights/versions/d94e9edb295e/schema)
