Energy Charts API power API

Query power values

OpenAPI Specification

energy-charts-api-power-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Energy-Charts import_export power API
  description: "\n       \n\n<h4>Timestamp Format Options</h4>\n        <p>When specifying timestamps, you can choose from the following three formats:</p>\n        <ol>\n            <li><strong>ISO 8601 Format</strong>:\n                <ul>\n                    <li>This format includes the full date and time, with an optional timezone indicator.</li>\n                    <li>Examples:\n                        <ul>\n                            <li><code>2025-01-01T17:00Z</code> (UTC time)</li>\n                            <li><code>2025-01-01T18:00+01:00</code> (Local time offset by +01:00)</li>\n                        </ul>\n                    </li>\n                </ul>\n            </li>\n            <li><strong>Daily Format</strong>:\n                <ul>\n                    <li>This format specifies only the date.</li>\n                    <li>The start time is assumed to be at 00:00 on the specified date in the local timezone of the specified country or bidding zone (bzn).</li>\n                    <li>The end timestamp is interpreted as the last minute of the specified day in the same local timezone.</li>\n                    <li>Example:\n                        <ul>\n                            <li><code>2025-01-01</code> (Starts at 00:00 and ends at 23:59 on January 1, 2025, local time)</li>\n                        </ul>\n                    </li>\n                </ul>\n            </li>\n            <li><strong>UNIX Timestamp</strong>:\n                <ul>\n                    <li>This format specifies the time as the number of seconds since the Unix Epoch (January 1st, 1970, at 00:00 UTC).</li>\n                    <li>Example:\n                        <ul>\n                            <li><code>1735686000</code></li>\n                        </ul>\n                    </li>\n                </ul>\n            </li>\n        </ol>\n        <h4>Default Behavior for Timestamps</h4>\n        <p>If an end timestamp is not explicitly provided, it is assumed to be the same as the start timestamp. For daily formats, this means that one full day will be returned. If also no start timestamp is provided, the current day in the local timezone is used.</p>\n        <h4>Discontinuation of endpoints</h4>\n        <p>Endpoint discontinuations will be preceded by an announcement at least six months in advance, indicated by setting the \"deprecated\" status to true.</p>\n        <h4>Data License</h4>\n        <p>Unless stated otherwise, the data provided by the Energy-Charts API is licensed under the <a href=\"https://creativecommons.org/licenses/by/4.0/\" target=\"_blank\">CC BY 4.0</a> license. Proper attribution to Energy-Charts.info as the source is required.</p>\n       <details>\n       <summary><b>New in release v1.5 (2025-10-21)</b></summary>\n       <ul>\n       <li>\n          Include stricter rate limitations for public API\n          (please contact <a href=\"mailto:leonhard.gandhi@ise.fraunhofer.de\">leonhard.gandhi@ise.fraunhofer.de</a> for commercial access)\n       </li>\n       <li>Improved load balancing on concurrent requests</li>\n       </ul>\n       </details>\n       <details>\n          <summary><b> Older Releases </b></summary>\n           <details>\n           <summary><b>v1.4 (2024-07-08)</b></summary>\n           <ul>\n           <li>Fix bug with wrong timezone for unix timestamps as input</li>\n           </ul>\n           </details>          \n           <details>\n           <summary><b>v1.3 (2024-04-22)</b></summary>\n           <ul>\n           <li>Fix bug which hid most recent data for /cbet and /cbpf</li>\n           <li>Inlcude deprecated tag to all active endpoints</li>\n           </ul>\n           </details>\n           <details>\n           <summary><b>v1.2 (2024-04-16)</b></summary>\n           <ul>\n           <li>Allow also input timestamps in day format and UNIX timestamp</li>\n           <li>Inlcude license info for price data available at /price</li>\n           </ul>\n           </details>\n           <details>\n           <summary><b>v1.1 (2023-10-20)</b></summary>\n           <ul>\n               <li>Deprecated /ren_share</li>\n               <li>Deprecated /ren_share_prognosis and replaced it with /ren_share_forecast</li>\n               <li>Deprecated /power and replaced it with /public_power</li>\n               <li>Deprecated /price_spot_market and replaced it with /price</li>\n               <li>Deprecated /traffic_signal and replaced it with /signal</li>\n               <li>Added endpoint for cross-border electricity trading (/cbet)</li>\n               <li>Added endpoint for cross-border physical flow (/cbpf)</li>\n               <li>Changed response structure of all endpoints to fit with json specification</li>\n               <li>Simplified the response json structure</li>\n               <li>Removed unnecessary information from responses like names, descriptions and units</li>\n               <li>Added typed response schemes to every endpoint</li>\n               <li>Added example values and example requests to every endpoint</li>\n               <li>Added postal code to /signal, to consider grid state in future implementations</li>\n               <li>Responses that return unix timestamps now all return unix seconds</li>\n               <li>Added error handling for false requests and responses</li>\n               <li>Added a list of available bidding zones for /price</li>\n           </ul>\n           </details>\n          <details>\n              <summary><b>v1.0 (2022-11-30)</b></summary>\n              <ul>\n                  <li>Initial release</li>\n              </ul>\n          </details>\n       </details>\n       \n\n<b>Available countries:</b>\n       \n\n<details><summary>de - Germany (click to show all available countries)</summary>\n       ch - Switzerland<br>\n       eu - European Union<br>\n       all - Europe<br>\n       al - Albania<br>\n       am - Armenia<br>\n       at - Austria<br>\n       az - Azerbaijan<br>\n       ba - Bosnia-Herzegovina<br>\n       be - Belgium<br>\n       bg - Bulgaria<br>\n       by - Belarus<br>\n       cy - Cyprus<br>\n       cz - Czech Republic<br>\n       dk - Denmark<br>\n       ee - Estonia<br>\n       es - Spain<br>\n       fi - Finland<br>\n       fr - France<br>\n       ge - Georgia<br>\n       gr - Greece<br>\n       hr - Croatia<br>\n       hu - Hungary<br>\n       ie - Ireland<br>\n       it - Italy<br>\n       lt - Lithuania<br>\n       lu - Luxembourg<br>\n       lv - Latvia<br>\n       md - Moldova<br>\n       me - Montenegro<br>\n       mk - North Macedonia<br>\n       mt - Malta<br>\n       nie - North Ireland<br>\n       nl - Netherlands<br>\n       no - Norway<br>\n       pl - Poland<br>\n       pt - Portugal<br>\n       ro - Romania<br>\n       rs - Serbia<br>\n       ru - Russia<br>\n       se - Sweden<br>\n       si - Slovenia<br>\n       sk - Slovak Republic<br>\n       tr - Turkey<br>\n       ua - Ukraine<br>\n       uk - United Kingdom<br>\n       xk - Kosovo<br>\n       </details>\n       \n\n<b>Available bidding zones:</b>\n       \n\n<details><summary>AT - Austria (click to show all available bidding zones)</summary>\n        BE - Belgium<br>\n        BG - Bulgaria<br>\n        CH - Switzerland<br>\n        CZ - Czech Republic<br>\n        DE-LU - Germany, Luxembourg<br>\n        DE-AT-LU - Germany, Austria, Luxembourg<br>\n        DK1 - Denmark 1<br>\n        DK2 - Denmark 2<br>\n        EE - Estionia<br>\n        ES - Spain<br>\n        FI - Finland<br>\n        FR - France<br>\n        GR - Greece<br>\n        HR - Croatia<br>\n        HU - Hungary<br>\n        IT-Calabria - Italy Calabria<br>\n        IT-Centre-North - Italy Centre North<br>\n        IT-Centre-South - Italy Centre South<br>\n        IT-North - Italy North<br>\n        IT-SACOAC - Italy Sardinia Corsica AC<br>\n        IT-SACODC - Italy Sardinia Corsica DC<br>\n        IT-Sardinia - Italy Sardinia<br>\n        IT-Sicily - Italy Sicily<br>\n        IT-South - Italy South<br>\n        LT - Lithuania<br>\n        LV - Latvia<br>\n        ME - Montenegro<br>\n        NL - Netherlands<br>\n        NO1 - Norway 1<br>\n        NO2 - Norway 2<br>\n        NO2NSL - Norway North Sea Link<br>\n        NO3 - Norway 3<br>\n        NO4 - Norway 4<br>\n        NO5 - Norway 5<br>\n        PL - Poland<br>\n        PT - Portugal<br>\n        RO - Romania<br>\n        RS - Serbia<br>\n        SE1 - Sweden 1<br>\n        SE2 - Sweden 2<br>\n        SE3 - Sweden 3<br>\n        SE4 - Sweden 4<br>\n        SI - Slovenia<br>\n        SK - Slovakia<br>\n       </details>\n       \n\n<b>Hint:</b> Don't use the <b>Try it out</b> button on this documentation page to download large datasets as it might lead to long loading times.\n       "
  termsOfService: https://energy-charts.info/data-protection.html
  contact:
    name: Contact
    url: https://energy-charts.info/contact.html
  license:
    name: Publishing notes
    url: https://energy-charts.info/publishing-notes.html
  version: '1.5'
tags:
- name: power
  description: Query power values
paths:
  /public_power:
    get:
      tags:
      - power
      summary: Public Power
      description: "Returns the public net electricity production for a given country for each production type. Subtype can be \"solarlog\" for Switzerland (ch).\n    \n\n\n    \n\nResponse schema:\n    \n\n ```json\n{\n  \"unix_seconds\": list[int],\n  \"production_types\": [\n    {\n        \"name\": str,\n        \"data\": list[float]\n    }\n  ],\n  \"deprecated\": bool\n}\n```"
      operationId: public_power_public_power_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: start
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Start
      - name: end
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: End
      - name: subtype
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Subtype
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductionModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /public_power_forecast:
    get:
      tags:
      - power
      summary: Public Power Forecast
      description: "Returns the forecast of the public net electricity production for a given country for each production type.\n    \n\n\n    \n\n<b>production_type:</b> Can be solar, wind_onshore, wind_offshore or load\n    <br><b>forecast_type:</b> Can be current, intraday or day-ahead\n    \n\n\n    \n\nIf no dates are provided, values for today until forecast is available are returned. For load only the forecast type \"day-ahead\" is available.\n    \n\n\n    \n\nResponse schema:\n    \n\n ```json\n{\n  \"unix_seconds\": list[int],\n  \"forecast_values\": list[float],\n  \"production_type\": str,\n  \"forecast_type\": str,\n  \"deprecated\": bool\n}\n```"
      operationId: public_power_forecast_public_power_forecast_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: production_type
        in: query
        required: false
        schema:
          type: string
          default: solar
          title: Production Type
      - name: forecast_type
        in: query
        required: false
        schema:
          type: string
          default: current
          title: Forecast Type
      - name: start
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Start
      - name: end
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: End
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPowerForecastModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /total_power:
    get:
      tags:
      - power
      summary: Total Power
      description: "Returns the total net electricity production (including industrial self supply) for a given country for each production type.\n    \n\n\n    \n\nCurrently only available for Germany.\n    \n\n\n    \n\nResponse schema:\n    \n\n ```json\n{\n  \"unix_seconds\": list[int],\n  \"production_types\": [\n    {\n        \"name\": str,\n        \"data\": list[float]\n    }\n  ],\n  \"deprecated\": bool\n}\n```"
      operationId: total_power_total_power_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: start
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Start
      - name: end
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: End
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductionModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /installed_power:
    get:
      tags:
      - power
      summary: Installed Power
      description: "Returns the installed power for a specified country in GW except for battery storage capacity, which is given in GWh. Monthly installation / decommission numbers are returned in MW instead of GW. \"last_update\" is the time of the last data update, expressed as seconds since the Unix epoch (UTC).\n    \n\n\n    \n\n<b>time_step:</b> Time step can be either \"yearly\" or \"monthly\" (only for Germany)\n    <br><b>installation_decommission:</b> If true, the net installation / decommission numbers are returned instead of total installed power\n    \n\n\n    \n\nResponse schema:\n    \n\n ```json\n{ \n  \"time\": list[str],\n  \"production_types\": [\n    {\n        \"name\": str, \n        \"data\": list[float]\n    }\n  ],\n  \"last_update\": int,\n  \"deprecated\": bool\n}\n```"
      operationId: installed_power_installed_power_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: time_step
        in: query
        required: false
        schema:
          type: string
          default: yearly
          title: Time Step
      - name: installation_decommission
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Installation Decommission
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstalledModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /frequency:
    get:
      tags:
      - power
      summary: Frequency
      description: "Returns the frequency measured at Fraunhofer ISE in Freiburg, Germany. Currently only the frequency in RG Continental Europe (formerly UCTE) is available. The data is available in 1 second timesteps from 1st of May 2022 onwards.\n    \n\n\n    \n\nResponse schema:\n    \n\n ```json\n{\n  \"unix_seconds\": list[int],\n  \"data\": list[float],\n  \"deprecated\": bool\n}\n```"
      operationId: frequency_frequency_get
      parameters:
      - name: region
        in: query
        required: false
        schema:
          type: string
          default: DE-Freiburg
          title: Region
      - name: start
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Start
      - name: end
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: End
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrequencyModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ProductionModel:
      properties:
        unix_seconds:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Unix Seconds
        production_types:
          anyOf:
          - items:
              $ref: '#/components/schemas/NamedData'
            type: array
          - type: 'null'
          title: Production Types
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - deprecated
      title: ProductionModel
    NamedData:
      properties:
        name:
          type: string
          title: Name
        data:
          items:
            anyOf:
            - type: number
            - type: 'null'
          type: array
          title: Data
      type: object
      required:
      - name
      - data
      title: NamedData
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    InstalledModel:
      properties:
        time:
          items:
            type: string
          type: array
          title: Time
        production_types:
          anyOf:
          - items:
              $ref: '#/components/schemas/NamedData'
            type: array
          - type: 'null'
          title: Production Types
        last_update:
          anyOf:
          - type: integer
          - type: 'null'
          title: Last Update
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - time
      - last_update
      - deprecated
      title: InstalledModel
    PublicPowerForecastModel:
      properties:
        unix_seconds:
          items:
            type: integer
          type: array
          title: Unix Seconds
        forecast_values:
          items:
            anyOf:
            - type: number
            - type: 'null'
          type: array
          title: Forecast Values
        production_type:
          type: string
          title: Production Type
        forecast_type:
          type: string
          title: Forecast Type
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - unix_seconds
      - forecast_values
      - production_type
      - forecast_type
      - deprecated
      title: PublicPowerForecastModel
    FrequencyModel:
      properties:
        unix_seconds:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Unix Seconds
        data:
          items:
            anyOf:
            - type: number
            - type: 'null'
          type: array
          title: Data
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - data
      - deprecated
      title: FrequencyModel
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError