Energy Charts API Power API

Query power values

Operations 5

GET /public_power Public Power #
GET /public_power_forecast Public Power Forecast #
GET /total_power Total Power #
GET /installed_power Installed Power #
GET /frequency Frequency #

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/energy-charts-api:energy-charts-api-power-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

energy-charts-api-power-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Energy-Charts Power API
  description: 'Timestamp Format Options


    When specifying timestamps, you can choose from the following three formats:


    ISO 8601 Format:


    This format includes the full date and time, with an optional timezone indicator. Examples:


    2026-01-01T17:00Z (UTC time)


    2026-01-01T18:00+01:00 (Local time offset by +01:00)


    Daily Format:


    This format specifies only the date. 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). The end timestamp is interpreted as the last minute of the specified day in the same local timezone. Example:


    2026-01-01 (Starts at 00:00 and ends at 23:59 on January 1, 2026, local time)


    UNIX Timestamp:


    This format specifies the time as the number of seconds since the Unix Epoch (January 1st, 1970, at 00:00 UTC). Example:


    1767222000


    Default Behavior for Timestamps


    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. Timestamp Semantics in Responses


    All timestamps returned by the API mark the beginning of the period the value refers to. Single exception: /installed_power and /v2/installed_power, where the timestamp labels the reporting year or month and the value represents the installed power at the end of that period (or, with installation_decommission=true, the net change during the period). Rate Limiting


    Requests are limited per client IP and per endpoint (token bucket, so short bursts are allowed). The default is 2 requests per minute with a burst of 4; /signal allows 20 per minute (burst 40), /price 2 per minute (burst 2), and every /v2 endpoint inherits the limit of its v1 counterpart. In addition, the limits are adjusted dynamically to the current server load, so the effective limit can be lower during peak times. Exceeding a limit returns HTTP 429 with a Retry-After header giving the number of seconds to wait. Clients should honour that header instead of assuming fixed limits, and cache responses on their side. For higher limits (commercial access) please contact leonhard.gandhi@ise.fraunhofer.de. Discontinuation of endpoints


    Endpoint discontinuations will be preceded by an announcement at least six months in advance, indicated by setting the "deprecated" status to true. Data License


    Unless stated otherwise, the data provided by the Energy-Charts API is licensed under the CC BY 4.0 license. Proper attribution to Energy-Charts.info as the source is required. New in release v2.0 (2026-07-20)


    New machine-readable /v2/...'
  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: '2.0'
tags:
- name: Power
  description: Query power values (legacy v1)
paths:
  /public_power:
    get:
      tags:
      - Power
      summary: Public Power
      description: 'Returns the public net electricity production in Megawatt (MW) for a given country for each production type. Subtype can be "solarlog" for Switzerland (ch).


        Response schema:


        ```json

        {

        "unix_seconds": list[int],

        "production_types": [

        {

        "name": str,

        "data": list[float]

        }

        ],

        "deprecated": bool

        }

        ```'
      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 in Megawatt (MW) for a given country for each production type.


        production_type: Can be solar, wind_onshore, wind_offshore or load


        forecast_type: Can be current, intraday or day-ahead


        If no dates are provided, values for today until forecast is available are returned. For load only the forecast type "day-ahead" is available.


        Response schema:


        ```json

        {

        "unix_seconds": list[int],

        "forecast_values": list[float],

        "production_type": str,

        "forecast_type": str,

        "deprecated": bool

        }

        ```'
      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) in Megawatt (MW) for a given country for each production type.


        Currently only available for Germany.


        Response schema:


        ```json

        {

        "unix_seconds": list[int],

        "production_types": [

        {

        "name": str,

        "data": list[float]

        }

        ],

        "deprecated": bool

        }

        ```'
      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). Note: unlike all other endpoints, the entries in "time" label the reporting year or month and the values represent the installed power at the end of that period (or, with installation_decommission=true, the net change during the period).


        time_step: Time step can be either "yearly" or "monthly" (only for Germany)


        installation_decommission: If true, the net installation / decommission numbers are returned instead of total installed power


        Response schema:


        ```json

        {

        "time": list[str],

        "production_types": [

        {

        "name": str,

        "data": list[float]

        }

        ],

        "last_update": int,

        "deprecated": bool

        }

        ```'
      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.


        Response schema:


        ```json

        {

        "unix_seconds": list[int],

        "data": list[float],

        "deprecated": bool

        }

        ```'
      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:
    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
    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
    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
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    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
    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
x-provenance:
  method: harvested
  publisher: Energy Charts API
  source: https://api.energy-charts.info/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)