Nord Pool BalanceMarket API

The BalanceMarket API from Nord Pool — 2 operation(s) for balancemarket.

Operations 2

GET /api/v2/BalanceMarket/ManualFrequencyRestorationReserves/ByAreas Manual Frequency Restoration Reserves #
GET /api/v2/BalanceMarket/ManualFrequencyRestorationReserves/Yearly/ByArea Yearly Manual Frequency Restoration Reserves #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/nordpool-balancemarket-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

nordpool-balancemarket-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nord Pool Market Data Balance Market API
  description: 'Nord Pool''s Market Data API (v2) provides programmatic access to European power exchange market data: day-ahead auction prices, price indices, volumes, capacities, flows and aggregated bid curves; intraday continuous statistics, orders, trades and order books; balance market (mFRR) data; power system data (production, consumption, forecasts, hydro reservoir reserves); system price and turnover; and exchange rates.'
  version: v2
  contact:
    name: Nord Pool Power Data Services
    url: https://www.nordpoolgroup.com/en/services/power-market-data-services/
servers:
- url: https://data-api.nordpoolgroup.com
  description: Nord Pool Market Data API (production)
security:
- oauth2: []
tags:
- name: BalanceMarket
paths:
  /api/v2/BalanceMarket/ManualFrequencyRestorationReserves/ByAreas:
    get:
      tags:
      - BalanceMarket
      summary: Manual Frequency Restoration Reserves
      description: 'Returns a list of Manual Frequency Restoration Reserves (mFRR) for a date, currency and a list of areas.


        ### Response field descriptions

        - **status**: Missing if no data exists. Available if data is present

        - **exchangeRate**: exchange rate used to calculate values from EUR. If the currency is EUR, then the exchange rate is 1


        **manualFrequencyRestorationReserves**: a list of delivery periods for the day, containing

        - **deliveryStart**: start of delivery period

        - **deliveryEnd**: end of delivery period

        - **acceptedUpBidVolume**: the total volume of orders available for up activation, given in MW

        - **activatedUpVolume**: the volume of activated up regulation, given in MW

        - **acceptedDownBidVolume**: the total volume of orders available for down activation, given in MW

        - **activatedDownBidVolume**: the volume of activated down regulation, given in MW

        - **downPrice**: the price for down regulation. Given in currency/MWh

        - **upPrice**: the price for up regulation. Given in currency/MWh

        - **imbalancePrice**: the overall imbalance price. Usually equal to either upPrice or downPrice depending on what activations are done.


        Note that non-EUR prices are just estimates - we do not guarantee (or expect) that TSOs are using the same exchange rates as we do.


        Data source: **Entso-e Transparency platform. Update frequency and data availability depends on data being reported to Entso-e.**'
      externalDocs:
        description: Data portal link
        url: https://data.nordpoolgroup.com/power-system/manual-frequency-restoration-reserve?deliveryDate=latest&deliveryAreas=NO1&viewMode=All
      parameters:
      - name: areas
        in: query
        description: 'Comma-separated list of areas (e.g., NO1, NO2).

          Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2'
        required: true
        schema:
          minItems: 1
          type: string
          items:
            type: string
      - name: currency
        in: query
        description: 'Currency of returned prices. Restricted to 1 currency per query. Supported: EUR, SEK, NOK, DKK'
        required: true
        schema:
          maxLength: 3
          minLength: 3
          type: string
      - name: date
        in: query
        description: Delivery date, referring to CET date. Format yyyy-MM-dd, for example 2024-08-15
        required: true
        schema:
          type: string
          format: date
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiMfrr'
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiMfrr'
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiMfrr'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
      operationId: getApiV2BalanceMarketManualFrequencyRestorationReservesByAreas
      x-operation-id-source: derived
  /api/v2/BalanceMarket/ManualFrequencyRestorationReserves/Yearly/ByArea:
    get:
      tags:
      - BalanceMarket
      summary: Yearly Manual Frequency Restoration Reserves
      description: 'Returns an annual summary of Manual Frequency Restoration Reserves (mFRR) for a year, currency and one area.


        This yearly summary is updated in a rolling manner, and is updated daily.


        ### Response field descriptions


        **yearlySummary**:

        - **acceptedUpBidVolume**: total volume of accepted orders for up regulation for the year, in MWh

        - **activatedUpBidVolume**: total volume of activated up regulation bids for the year, in MWh

        - **acceptedDownBidVolume**: total volume of accepted orders for down regulation for the year, in MWh

        - **activatedDownBidVolume**: total volume of activated down regulation bids for the year, in MWh

        - **downPrice**: average down price for the year, in currency / MWh

        - **upPrice**: average up price for the year, in currency / MWh

        - **imbalancePrice**: average imbalance price for the year, in currency / MWh


        **monthlySummaries**:

        - **acceptedUpBidVolume**: total volume of accepted orders for up regulation for the month, in MWh

        - **activatedUpBidVolume**: total volume of activated up regulation bids for the month, in MWh

        - **acceptedDownBidVolume**: total volume of accepted orders for down regulation for the month, in MWh

        - **activatedDownBidVolume**: total volume of activated down regulation bids for the month, in MWh

        - **downPrice**: average down price for the month, in currency / MWh

        - **upPrice**: average up price for the month, in currency / MWh

        - **imbalancePrice**: average imbalance price for the month, in currency / MWh

        - **deliveryDateStartCET**: the earliest date taken into account in this monthly summary

        - **deliveryDateEndCET**: the latest date taken into account in this monthly summary


        **dailySummaries**: a list of average values for the day

        - **acceptedUpBidVolume**: total volume of accepted orders for up regulation for the day, in MWh

        - **activatedUpBidVolume**: total volume of activated up regulation bids for the day, in MWh

        - **acceptedDownBidVolume**: total volume of accepted orders for down regulation for the day, in MWh

        - **activatedDownBidVolume**: total volume of activated down regulation bids for the day, in MWh

        - **downPrice**: average down price for the day, in currency / MWh

        - **upPrice**: average up price for the day, in currency / MWh

        - **imbalancePrice**: average imbalance price for the day, in currency / MWh

        - **deliveryDateCET**: the CET delivery date for this summary


        **content**: a list of delivery periods, containing

        - **deliveryStart**: start of delivery period

        - **deliveryEnd**: end of delivery period

        - **acceptedUpBidVolume**: the total volume of orders available for up activation, given in MW

        - **activatedUpVolume**: the volume of activated up regulation, given in MW

        - **acceptedDownBidVolume**: the total volume of orders available for down activation, given in MW

        - **activatedDownBidVolume**: the volume of activated down regulation, given in MW

        - **downPrice**: the price for down regulation. Given in currency/MWh

        - **upPrice**: the price for up regulation. Given in currency/MWh

        - **imbalancePrice**: the overall imbalance price. Usually equal to either upPrice or downPrice depending on what activations are done.


        Note that non-EUR prices are just estimates - we do not guarantee (or expect) that TSOs are using the same exchange rates as we do.


        Data source: **Entso-e Transparency platform. Update frequency and data availability depends on data being reported to Entso-e.**'
      parameters:
      - name: area
        in: query
        description: 'One area. For example NO1.

          Supported: NO1,NO2,NO3,NO4,NO5,SE1,SE2,SE3,SE4,FI,DK1,DK2'
        required: true
        schema:
          minLength: 1
          type: string
      - name: currency
        in: query
        description: 'Currency of returned prices. Restricted to 1 currency per query. Supported: EUR, SEK, NOK, DKK'
        required: true
        schema:
          maxLength: 3
          minLength: 3
          type: string
      - name: year
        in: query
        description: 'Year in CET (format: yyyy, e.g., 2024)'
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiYearlyMfrr'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiYearlyMfrr'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiYearlyMfrr'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ValidationProblemDetails'
      operationId: getApiV2BalanceMarketManualFrequencyRestorationReservesYearlyByArea
      x-operation-id-source: derived
components:
  schemas:
    ApiMfrr:
      required:
      - currency
      type: object
      properties:
        deliveryDateCET:
          type: string
          format: date
        updatedAt:
          type: string
          format: date-time
        deliveryArea:
          type:
          - string
          - 'null'
        status:
          $ref: '#/components/schemas/ApiAvailableStatus'
        currency:
          type:
          - string
          - 'null'
        exchangeRate:
          type:
          - number
          - 'null'
          format: double
        manualFrequencyRestorationReserves:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ApiMfrrEntry'
      additionalProperties: false
    ApiMfrrEntry:
      type: object
      properties:
        deliveryStart:
          type: string
          format: date-time
        deliveryEnd:
          type: string
          format: date-time
        acceptedUpBidVolume:
          type:
          - number
          - 'null'
          format: double
        acceptedDownBidVolume:
          type:
          - number
          - 'null'
          format: double
        activatedUpVolume:
          type:
          - number
          - 'null'
          format: double
        activatedDownVolume:
          type:
          - number
          - 'null'
          format: double
        downPrice:
          type:
          - number
          - 'null'
          format: double
        upPrice:
          type:
          - number
          - 'null'
          format: double
        imbalancePrice:
          type:
          - number
          - 'null'
          format: double
      additionalProperties: false
    ValidationProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
        errors:
          type:
          - object
          - 'null'
          additionalProperties:
            type: array
            items:
              type: string
      additionalProperties: {}
    MfrrMonthlySummary:
      type: object
      properties:
        acceptedUpBidVolume:
          type:
          - number
          - 'null'
          format: double
        acceptedDownBidVolume:
          type:
          - number
          - 'null'
          format: double
        activatedUpVolume:
          type:
          - number
          - 'null'
          format: double
        activatedDownVolume:
          type:
          - number
          - 'null'
          format: double
        downPrice:
          type:
          - number
          - 'null'
          format: double
        upPrice:
          type:
          - number
          - 'null'
          format: double
        imbalancePrice:
          type:
          - number
          - 'null'
          format: double
        deliveryDateStartCET:
          type: string
          format: date
        deliveryDateEndCET:
          type: string
          format: date
      additionalProperties: false
    ApiYearlyMfrr:
      required:
      - currency
      - deliveryArea
      type: object
      properties:
        year:
          type: integer
          format: int32
        deliveryArea:
          type:
          - string
          - 'null'
        currency:
          type:
          - string
          - 'null'
        status:
          $ref: '#/components/schemas/ApiAvailableStatus'
        updatedAt:
          type: string
          format: date-time
        unit:
          type:
          - string
          - 'null'
          readOnly: true
        totalVolumeUnit:
          type:
          - string
          - 'null'
          readOnly: true
        dailySummaries:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/MfrrDailySummary'
        monthlySummaries:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/MfrrMonthlySummary'
        yearlySummary:
          $ref: '#/components/schemas/MfrrEntry'
        content:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/YearlyMfrrEntry'
      additionalProperties: false
    MfrrEntry:
      type: object
      properties:
        acceptedUpBidVolume:
          type:
          - number
          - 'null'
          format: double
        acceptedDownBidVolume:
          type:
          - number
          - 'null'
          format: double
        activatedUpVolume:
          type:
          - number
          - 'null'
          format: double
        activatedDownVolume:
          type:
          - number
          - 'null'
          format: double
        downPrice:
          type:
          - number
          - 'null'
          format: double
        upPrice:
          type:
          - number
          - 'null'
          format: double
        imbalancePrice:
          type:
          - number
          - 'null'
          format: double
      additionalProperties: false
    MfrrDailySummary:
      type: object
      properties:
        acceptedUpBidVolume:
          type:
          - number
          - 'null'
          format: double
        acceptedDownBidVolume:
          type:
          - number
          - 'null'
          format: double
        activatedUpVolume:
          type:
          - number
          - 'null'
          format: double
        activatedDownVolume:
          type:
          - number
          - 'null'
          format: double
        downPrice:
          type:
          - number
          - 'null'
          format: double
        upPrice:
          type:
          - number
          - 'null'
          format: double
        imbalancePrice:
          type:
          - number
          - 'null'
          format: double
        deliveryDateCET:
          type: string
          format: date
      additionalProperties: false
    YearlyMfrrEntry:
      type: object
      properties:
        acceptedUpBidVolume:
          type:
          - number
          - 'null'
          format: double
        acceptedDownBidVolume:
          type:
          - number
          - 'null'
          format: double
        activatedUpVolume:
          type:
          - number
          - 'null'
          format: double
        activatedDownVolume:
          type:
          - number
          - 'null'
          format: double
        downPrice:
          type:
          - number
          - 'null'
          format: double
        upPrice:
          type:
          - number
          - 'null'
          format: double
        imbalancePrice:
          type:
          - number
          - 'null'
          format: double
        deliveryStart:
          type: string
          format: date-time
        deliveryEnd:
          type: string
          format: date-time
      additionalProperties: false
    ApiAvailableStatus:
      enum:
      - Missing
      - Available
      type: string
  securitySchemes:
    oauth2:
      type: oauth2
      description: Oauth2 Authentication
      flows:
        authorizationCode:
          authorizationUrl: https://sts.nordpoolgroup.com/connect/authorize
          tokenUrl: https://sts.nordpoolgroup.com/connect/token
          scopes:
            marketdata_api: '...'
externalDocs:
  description: Nord Pool Developer Portal
  url: https://developers.nordpoolgroup.com/