Nord Pool Intraday Trading API

WebSocket API for continuous intraday power trading - clients speak STOMP over secure WebSocket (port 443) to parallel Market Data and Trading services for streaming contracts, order books, and capacities, and for order entry and private execution reports. A newer binary PMD v2 feed uses Protocol Buffers over WebSockets. Free to use but only for onboarded Nord Pool trading customers; channel names in the AsyncAPI are modeled from public GitHub examples.

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-intraday-trading-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 email required.

A second provider on the same verified email joins the account you already have.

AsyncAPI Specification

nordpool-intraday-asyncapi.yml Raw ↑
asyncapi: 2.6.0
info:
  title: Nord Pool Intraday Trading API (WebSocket/STOMP)
  version: '1.0'
  description: >-
    Nord Pool's Intraday Trading API is a genuine WebSocket API. Clients open
    secure WebSocket connections (port 443) and speak STOMP over them to two
    web services - a Market Data service (public market data streams such as
    contracts, order books / local views, capacities, delivery areas, and
    tickers) and a Trading service (order entry, modification, and private
    execution/trade reports) - for continuous intraday power trading on the
    Nord Pool platform. Authentication uses a token issued by Nord Pool's SSO
    for API credentials provisioned by Nord Pool (idapi@nordpoolgroup.com);
    access requires being a Nord Pool trading customer. Nord Pool also ships a
    newer Intraday Binary PMD v2 market-data feed over WebSockets using
    Protocol Buffers. This AsyncAPI document is MODELED - the WebSocket+STOMP
    transport, dual Market Data / Trading connections, heartbeats, and token
    refresh are confirmed from Nord Pool's public GitHub examples
    (NordPool/public-intraday-api and NordPool/public-intraday-api-example)
    and the developer portal, but exact host names are environment-specific
    and provided during onboarding, and channel names below are
    representative rather than verbatim. Consult
    https://developers.nordpoolgroup.com/ for the authoritative topic list.
  contact:
    name: Nord Pool Intraday API Support
    email: idapi@nordpoolgroup.com
    url: https://developers.nordpoolgroup.com/
  x-transport-notes: >-
    Transport is WebSocket (wss, port 443) carrying STOMP frames - this is a
    true bidirectional WebSocket API, unlike HTTP streaming or SSE. Clients
    maintain STOMP heartbeats and refresh SSO access tokens over the live
    connection. Hosts are per-environment (test and production) and are
    issued to onboarded trading customers, so placeholder hosts are used
    below.
externalDocs:
  description: Nord Pool Developer Portal - Intraday introduction
  url: https://developers.nordpoolgroup.com/v1.0/docs/id-introduction
defaultContentType: application/json
servers:
  marketData:
    url: wss://{marketDataHost}
    protocol: stomp
    description: >-
      Intraday Market Data web service. Streams public market data topics
      (contracts, local views / order books, capacities, delivery areas,
      configuration, ticker). Host provided at onboarding; placeholder used
      here (modeled).
    variables:
      marketDataHost:
        description: Environment-specific Market Data service host issued by Nord Pool.
        default: intraday-marketdata.example.nordpoolgroup.com
    security:
      - ssoToken: []
  trading:
    url: wss://{tradingHost}
    protocol: stomp
    description: >-
      Intraday Trading web service. Accepts order entry and modification
      requests and streams private execution reports and trades. Host
      provided at onboarding; placeholder used here (modeled).
    variables:
      tradingHost:
        description: Environment-specific Trading service host issued by Nord Pool.
        default: intraday-trading.example.nordpoolgroup.com
    security:
      - ssoToken: []
channels:
  streaming/contracts:
    description: Tradable intraday contracts and their state (representative topic; modeled).
    subscribe:
      operationId: receiveContracts
      summary: Receive contract definitions and updates
      message:
        $ref: '#/components/messages/contract'
  streaming/localview:
    description: >-
      Order book / local market view for the member's delivery areas
      (representative topic; modeled).
    subscribe:
      operationId: receiveLocalView
      summary: Receive order book updates
      message:
        $ref: '#/components/messages/orderBookUpdate'
  streaming/capacities:
    description: Cross-border transmission capacities between areas (representative topic; modeled).
    subscribe:
      operationId: receiveCapacities
      summary: Receive area-to-area capacity updates
      message:
        $ref: '#/components/messages/capacity'
  streaming/ticker:
    description: Public trade ticker for the intraday market (representative topic; modeled).
    subscribe:
      operationId: receiveTicker
      summary: Receive public trade ticker events
      message:
        $ref: '#/components/messages/tickerTrade'
  orderEntry:
    description: >-
      Order entry destination on the Trading service - submit, modify, and
      cancel intraday orders (representative destination; modeled).
    publish:
      operationId: sendOrder
      summary: Send an order entry request
      message:
        $ref: '#/components/messages/orderEntryRequest'
  orderExecutionReport:
    description: >-
      Private execution reports for the member's own orders (representative
      destination; modeled).
    subscribe:
      operationId: receiveExecutionReport
      summary: Receive private order execution reports
      message:
        $ref: '#/components/messages/executionReport'
  privateTrade:
    description: Private trade confirmations for the member (representative destination; modeled).
    subscribe:
      operationId: receivePrivateTrade
      summary: Receive private trade confirmations
      message:
        $ref: '#/components/messages/privateTrade'
components:
  securitySchemes:
    ssoToken:
      type: userPassword
      description: >-
        API credentials issued by Nord Pool (idapi@nordpoolgroup.com) are
        exchanged with the Nord Pool SSO for an access token, which is
        presented when opening the STOMP connection and refreshed while the
        WebSocket session is live.
  messages:
    contract:
      name: contract
      title: Intraday contract
      summary: A tradable intraday contract definition or state change.
      payload:
        type: object
        additionalProperties: true
    orderBookUpdate:
      name: orderBookUpdate
      title: Order book update
      summary: Aggregated order book / local view rows for subscribed areas.
      payload:
        type: object
        additionalProperties: true
    capacity:
      name: capacity
      title: Transmission capacity
      summary: Available transmission capacity between two delivery areas.
      payload:
        type: object
        additionalProperties: true
    tickerTrade:
      name: tickerTrade
      title: Ticker trade
      summary: Public information about an executed intraday trade.
      payload:
        type: object
        additionalProperties: true
    orderEntryRequest:
      name: orderEntryRequest
      title: Order entry request
      summary: Order submission, modification, or cancellation sent by the member.
      payload:
        type: object
        additionalProperties: true
    executionReport:
      name: executionReport
      title: Execution report
      summary: Private report on the lifecycle of the member's order.
      payload:
        type: object
        additionalProperties: true
    privateTrade:
      name: privateTrade
      title: Private trade
      summary: Private confirmation of the member's executed trade.
      payload:
        type: object
        additionalProperties: true