Nord Pool Public Data Portal API

The free, unauthenticated JSON API behind Nord Pool's public Data Portal website, returning published day-ahead prices and price indices per delivery area in 15-minute resolution. Verified live on 2026-07-11, and widely used by open-source integrations such as Home Assistant, but it is not part of the officially documented developer offering and carries no SLA - endpoints in the referenced OpenAPI are modeled from observed responses.

OpenAPI Specification

nordpool-data-portal-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Nord Pool Data Portal API (Public)
  version: '1.0'
  description: >-
    The unauthenticated JSON API behind the Nord Pool Data Portal
    (data.nordpoolgroup.com), where Nord Pool publishes day-ahead electricity
    prices for the Nordic, Baltic, CWE, and UK bidding areas. These endpoints
    return the same day-ahead auction results shown on the public website, in
    15-minute Market Time Unit resolution, and are widely used by open-source
    integrations such as Home Assistant. IMPORTANT - this API is not part of
    Nord Pool's officially documented, subscription-backed developer offering.
    It is not covered by an SLA or the API General Terms, and Nord Pool may
    change or restrict it at any time. The two operations below were observed
    live and verified returning data on 2026-07-11; request and response
    shapes are modeled from those observed responses rather than from official
    reference documentation. For supported programmatic access, use the Nord
    Pool Market Data API (data-api.nordpoolgroup.com) with a Power Data
    Services subscription.
  contact:
    name: Nord Pool
    url: https://data.nordpoolgroup.com/
externalDocs:
  description: Nord Pool Data Portal (public day-ahead prices site)
  url: https://data.nordpoolgroup.com/
servers:
  - url: https://dataportal-api.nordpoolgroup.com
    description: Nord Pool Data Portal backend (public, unauthenticated)
tags:
  - name: Day-Ahead Prices
    description: Public day-ahead auction prices and price indices.
paths:
  /api/DayAheadPrices:
    get:
      operationId: getDayAheadPrices
      tags:
        - Day-Ahead Prices
      summary: Day-ahead prices by delivery area
      description: >-
        Returns day-ahead auction prices for one or more delivery areas on a
        given CET delivery date, in 15-minute Market Time Unit entries plus
        per-area block-average aggregates and daily statistics. Verified live
        (HTTP 200 with price data) on 2026-07-11.
      parameters:
        - name: date
          in: query
          required: true
          description: Delivery date (CET), format yyyy-MM-dd.
          schema:
            type: string
            format: date
            example: '2026-07-10'
        - name: market
          in: query
          required: true
          description: Market to query. DayAhead is the day-ahead auction market.
          schema:
            type: string
            example: DayAhead
        - name: deliveryArea
          in: query
          required: true
          description: >-
            Comma-separated bidding/delivery area codes, for example NO2 or
            SE3,FI,DK1.
          schema:
            type: string
            example: NO2
        - name: currency
          in: query
          required: true
          description: Currency for returned prices (EUR or a local currency such as NOK, SEK, DKK).
          schema:
            type: string
            example: EUR
      responses:
        '200':
          description: Day-ahead prices for the requested areas and date.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DayAheadPrices'
        '204':
          description: No data published yet for the requested delivery date.
  /api/DayAheadPriceIndices:
    get:
      operationId: getDayAheadPriceIndices
      tags:
        - Day-Ahead Prices
      summary: Day-ahead price indices by index name
      description: >-
        Returns day-ahead price index values (area price indices at a chosen
        resolution) for a given CET delivery date. Verified live (HTTP 200)
        on 2026-07-11.
      parameters:
        - name: date
          in: query
          required: true
          description: Delivery date (CET), format yyyy-MM-dd.
          schema:
            type: string
            format: date
            example: '2026-07-10'
        - name: market
          in: query
          required: true
          description: Market to query. DayAhead is the day-ahead auction market.
          schema:
            type: string
            example: DayAhead
        - name: indexNames
          in: query
          required: true
          description: Comma-separated index names (typically area codes such as NO2 or SE3).
          schema:
            type: string
            example: NO2
        - name: currency
          in: query
          required: true
          description: Currency for returned index values.
          schema:
            type: string
            example: EUR
        - name: resolutionInMinutes
          in: query
          required: false
          description: Index resolution in minutes (for example 15 or 60).
          schema:
            type: integer
            example: 60
      responses:
        '200':
          description: Day-ahead price index values for the requested indices and date.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DayAheadPrices'
        '204':
          description: No data published yet for the requested delivery date.
components:
  schemas:
    DayAheadPrices:
      type: object
      description: Observed response shape (2026-07-11); fields may evolve without notice.
      properties:
        deliveryDateCET:
          type: string
          format: date
          example: '2026-07-10'
        version:
          type: integer
          example: 3
        updatedAt:
          type: string
          format: date-time
        deliveryAreas:
          type: array
          items:
            type: string
          example:
            - NO2
        market:
          type: string
          example: DayAhead
        multiAreaEntries:
          type: array
          description: Per-Market-Time-Unit price entries (15-minute resolution).
          items:
            type: object
            properties:
              deliveryStart:
                type: string
                format: date-time
              deliveryEnd:
                type: string
                format: date-time
              entryPerArea:
                type: object
                additionalProperties:
                  type: number
                description: Map of area code to price for the interval.
        currency:
          type: string
          example: EUR
        exchangeRate:
          type: number
        areaStates:
          type: array
          items:
            type: object
            properties:
              state:
                type: string
                example: Final
              areas:
                type: array
                items:
                  type: string