Nord Pool ExchangeRate API

The ExchangeRate API from Nord Pool — 2 operation(s) for exchangerate.

Operations 2

GET /api/v2/ExchangeRate/Daily Exchange rates
GET /api/v2/ExchangeRate/Yearly Yearly Exchange rates

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-exchangerate-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-exchangerate-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Nord Pool Market Data Exchange Rate 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. This document is the provider''s published OpenAPI definition, retrieved from https://data-api.nordpoolgroup.com/swagger/v2/swagger.json on 2026-07-11. Access to the data requires a paid Nord Pool Power Data Services subscription; authentication is OAuth 2.0 against https://sts.nordpoolgroup.com.'
  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: ExchangeRate
paths:
  /api/v2/ExchangeRate/Daily:
    get:
      tags:
      - ExchangeRate
      summary: Exchange rates
      description: "Returns the exchange rate used for a specific date.\n            \n### Nordic Day-ahead market and local currencies\nFor the Nordic Day-ahead market, local currency trading is allowed. At the auction day, a preliminary exchange rate is retrieved for local currencies to EUR (for example, SEK -> EUR) from a bank. This preliminary exchange rate is used to calculate order prices in EUR based on user provided input. If the user places an order with price 100 SEK and the SEK -> EUR **preliminary** exchange rate is 0.1, then the order value in EUR is 10. All orders are matched in EUR.\n            \n After the market coupling session is complete, on the first available banking day (on normal week days, this is the same day. On weekends, this usually means next Monday) Nord Pool performs a currency exchange hedging process. Here we get a **final** exchange rate based on how much local currencies are exchanged.\n            \nThe final local currency prices are then re-calculated using the final exchange rate, this time from EUR -> local currency. To continue the sample above, if our final EUR -> SEK exchange rate is  9.98, then the settled price will be 99.80 SEK rather than the original 100 SEK. If the final exchange rate would be 10.02, then the settled price would be 100.20 SEK.\n            \n### Other exchange rates (PLN, RON, GBP)\n\nOther currencies does not follow the same hedging flow as in the Nordics. Usually exchange rate is agreed upon before auctions happen and thus no price adjustments are needed.\n            \n### Response field descriptions\n**rates**: a list currency exchange rates for the day\n- **fromCurrency**: the currency exchanged from\n- **toCurrency**: the currency exchanged to\n- **rate**: the exchange rate used to transform fromCurrency -> toCurrency\n- **status**: Preliminary or Final. Preliminary rates can change, Final rates will not be changed. For usage, see the description above\n- **modified**: the last update time"
      parameters:
      - 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:
                $ref: '#/components/schemas/ApiExchangeRate'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiExchangeRate'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiExchangeRate'
        '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'
  /api/v2/ExchangeRate/Yearly:
    get:
      tags:
      - ExchangeRate
      summary: Yearly Exchange rates
      description: "Returns the exchange rates for a specific year.\n            \n### Nordic Day-ahead market and local currencies\nFor the Nordic Day-ahead market, local currency trading is allowed. At the auction day, a preliminary exchange rate is retrieved for local currencies to EUR (for example, SEK -> EUR) from a bank. This preliminary exchange rate is used to calculate order prices in EUR based on user provided input. If the user places an order with price 100 SEK and the SEK -> EUR **preliminary** exchange rate is 0.1, then the order value in EUR is 10. All orders are matched in EUR.\n            \n After the market coupling session is complete, on the first available banking day (on normal week days, this is the same day. On weekends, this usually means next Monday) Nord Pool performs a currency exchange hedging process. Here we get a **final** exchange rate based on how much local currencies are exchanged.\n            \nThe final local currency prices are then re-calculated using the final exchange rate, this time from EUR -> local currency. To continue the sample above, if our final EUR -> SEK exchange rate is  9.98, then the settled price will be 99.80 SEK rather than the original 100 SEK. If the final exchange rate would be 10.02, then the settled price would be 100.20 SEK.\n            \n### Other exchange rates (PLN, RON, GBP)\n\nOther currencies does not follow the same hedging flow as in the Nordics. Usually exchange rate is agreed upon before auctions happen and thus no price adjustments are needed.\n            \n### Response field descriptions\n**dailyExchangeRates**: a list of exchange rates per delivery date\n            \nEach daily exchange rate contains\n\n**dateCET**: the delivery date in CET time the rate is used for\n            \n**rates**: a list currency exchange rates for the day\n- **fromCurrency**: the currency exchanged from\n- **toCurrency**: the currency exchanged to\n- **rate**: the exchange rate used to transform fromCurrency -> toCurrency\n- **status**: Preliminary or Final. Preliminary rates can change, Final rates will not be changed. For usage, see the description above\n- **modified**: the last update time"
      parameters:
      - name: year
        in: query
        description: Delivery year, referring to CET year. Format yyyy, for example 2024
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ApiYearlyExchangeRate'
            application/json:
              schema:
                $ref: '#/components/schemas/ApiYearlyExchangeRate'
            text/json:
              schema:
                $ref: '#/components/schemas/ApiYearlyExchangeRate'
        '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'
components:
  schemas:
    ExchangeRateDataLake:
      type: object
      properties:
        rates:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ExchangeRates'
        dateCET:
          type: string
          format: date
        updatedAt:
          type: string
          format: date-time
      additionalProperties: false
    ExchangeRateStatus:
      enum:
      - Preliminary
      - Final
      type: string
    ApiAvailableStatus:
      enum:
      - Missing
      - Available
      type: string
    ExchangeRates:
      type: object
      properties:
        fromCurrency:
          type:
          - string
          - 'null'
        toCurrency:
          type:
          - string
          - 'null'
        rate:
          type: number
          format: double
        status:
          $ref: '#/components/schemas/ExchangeRateStatus'
        modified:
          type: string
          format: date-time
      additionalProperties: false
    ApiYearlyExchangeRate:
      type: object
      properties:
        year:
          type: integer
          format: int32
        status:
          $ref: '#/components/schemas/ApiAvailableStatus'
        dailyExchangeRates:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ExchangeRateDataLake'
        updatedAt:
          type: string
          format: date-time
      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: {}
    ApiExchangeRate:
      required:
      - rates
      type: object
      properties:
        dateCET:
          type: string
          format: date
        status:
          $ref: '#/components/schemas/ApiAvailableStatus'
        updatedAt:
          type: string
          format: date-time
        rates:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ExchangeRates'
      additionalProperties: false
  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/