Energy Charts API Ren Share API

Renewable shares

Operations 9

GET /signal Traffic Signal #
GET /ren_share_forecast Renewable Share Forecast #
GET /ren_share_daily_avg Ren Share Daily Avg #
GET /solar_share Solar Share #
GET /solar_share_daily_avg Solar Share Daily Avg #
GET /wind_onshore_share Wind Onshore Share #
GET /wind_onshore_share_daily_avg Wind Onshore Share Daily Avg #
GET /wind_offshore_share Wind Offshore Share #
GET /wind_offshore_share_daily_avg Wind Offshore Share Daily Avg #

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-ren-share-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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-ren-share-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Energy-Charts Ren Share 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: ren_share
  description: Renewable shares (legacy v1)
paths:
  /signal:
    get:
      tags:
      - ren_share
      summary: Traffic Signal
      description: 'Electricity traffic signal


        Returns the renewable share of load in percent from today until prediction is currently available and the corresponding traffic light.


        The traffic light "signal" is indicated by the following numbers:


        -1: Red (grid congestion),

        0: Red (low renewable share),

        1: Yellow (average renewable share),

        2: Green (high renewable share)


        If no data is available from the primary data providers, a best guess is made from historic data. This is indicated by "substitute" set to True.


        "postal_code" is an optional input parameter, which will consider the local grid state (e.g. transmission line overload) in future implementations.


        Response schema:


        ```json

        {

        "unix_seconds": [int],

        "share": [float],

        "signal": [int],

        "substitute": bool,

        "deprecated": bool

        }

        ```'
      operationId: traffic_signal_signal_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: postal_code
        in: query
        required: false
        schema:
          type: string
          default: ''
          title: Postal Code
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TrafficModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ren_share_forecast:
    get:
      tags:
      - ren_share
      summary: Renewable Share Forecast
      description: 'Renewable share forecast


        Returns the renewable share of load forecast in percent from today until prediction is currently available. It also includes the forecast for solar, wind on- and offshore share of load.


        If no data is available from the primary data providers, a best guess is made from historic data. This is indicated by "substitute" set to True.


        Response schema:


        ```json

        {

        "unix_seconds": [int],

        "ren_share": [float],

        "solar_share": [float],

        "wind_onshore_share": [float],

        "wind_offshore_share": [float],

        "substitute": bool,

        "deprecated": bool

        }

        ```'
      operationId: renewable_share_forecast_ren_share_forecast_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RenShareModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ren_share_daily_avg:
    get:
      tags:
      - ren_share
      summary: Ren Share Daily Avg
      description: 'Average daily renewable share of load


        Returns the average daily renewable share of load of the last 365 days (year = -1) or for a given year if provided.


        Response schema:


        ```json


        {

        "days": ["dd.mm.yyyy"],

        "data": [float],

        "deprecated": bool

        }


        ```'
      operationId: ren_share_daily_avg_ren_share_daily_avg_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: year
        in: query
        required: false
        schema:
          type: integer
          default: -1
          title: Year
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyAvgDict'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /solar_share:
    get:
      tags:
      - ren_share
      summary: Solar Share
      description: 'Solar Share of Load


        Returns the solar share of load from today until prediction is currently available


        Response schema:


        ```json

        {

        "unix_seconds": list[int],

        "data": list[float],

        "forecast": list[float],

        "deprecated": bool

        }

        ```'
      operationId: solar_share_solar_share_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShareModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /solar_share_daily_avg:
    get:
      tags:
      - ren_share
      summary: Solar Share Daily Avg
      description: 'Average daily solar share of load


        Returns the average daily solar share of load of the last 365 days (year = -1) or for a given year if provided.


        Response schema:


        ```json

        {

        "days": ["dd.mm.yyyy"],

        "data": [float],

        "deprecated": bool

        }

        ```'
      operationId: solar_share_daily_avg_solar_share_daily_avg_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: year
        in: query
        required: false
        schema:
          type: integer
          default: -1
          title: Year
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyAvgDict'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /wind_onshore_share:
    get:
      tags:
      - ren_share
      summary: Wind Onshore Share
      description: 'Wind Onshore Share of Load


        Returns the wind onshore share of load from today until prediction is currently available


        Response schema:


        ```json

        {

        "unix_seconds": list[int],

        "data": list[float],

        "forecast": list[float],

        "deprecated": bool

        }

        ```'
      operationId: wind_onshore_share_wind_onshore_share_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShareModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /wind_onshore_share_daily_avg:
    get:
      tags:
      - ren_share
      summary: Wind Onshore Share Daily Avg
      description: 'Average daily wind onshore share of load


        Returns the average daily wind onshore share of load of the last 365 days


        Response schema:


        ```json

        {

        "days": ["dd.mm.yyyy"],

        "data": [float],

        "deprecated": bool

        }

        ```'
      operationId: wind_onshore_share_daily_avg_wind_onshore_share_daily_avg_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: year
        in: query
        required: false
        schema:
          type: integer
          default: -1
          title: Year
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyAvgDict'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /wind_offshore_share:
    get:
      tags:
      - ren_share
      summary: Wind Offshore Share
      description: 'Wind Offshore Share of Load


        Returns the wind offshore share of load from today until prediction is currently available


        Response schema:


        ```json

        {

        "unix_seconds": list[int],

        "data": list[float],

        "forecast": list[float],

        "deprecated": bool

        }

        ```'
      operationId: wind_offshore_share_wind_offshore_share_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShareModel'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /wind_offshore_share_daily_avg:
    get:
      tags:
      - ren_share
      summary: Wind Offshore Share Daily Avg
      description: 'Average daily wind offshore share of load


        Returns the average daily wind offshore share of load of the last 365 days


        Response schema:


        ```json


        {

        "days": ["dd.mm.yyyy"],

        "data": [float],

        "deprecated": bool

        }


        ```'
      operationId: wind_offshore_share_daily_avg_wind_offshore_share_daily_avg_get
      parameters:
      - name: country
        in: query
        required: false
        schema:
          type: string
          default: de
          title: Country
      - name: year
        in: query
        required: false
        schema:
          type: integer
          default: -1
          title: Year
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DailyAvgDict'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    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
    ShareModel:
      properties:
        unix_seconds:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Unix Seconds
        data:
          anyOf:
          - items:
              anyOf:
              - type: number
              - type: 'null'
            type: array
          - type: 'null'
          title: Data
        forecast:
          anyOf:
          - items:
              anyOf:
              - type: number
              - type: 'null'
            type: array
          - type: 'null'
          title: Forecast
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - deprecated
      title: ShareModel
    TrafficModel:
      properties:
        unix_seconds:
          items:
            type: integer
          type: array
          title: Unix Seconds
        share:
          items:
            anyOf:
            - type: number
            - type: 'null'
          type: array
          title: Share
        signal:
          items:
            anyOf:
            - type: integer
            - type: 'null'
          type: array
          title: Signal
          description: "\n    0: Red (low renewable share)\n    1: Yellow (average renewable share)\n    2: Green (high renewable share)\n    "
        substitute:
          type: boolean
          title: Substitute
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - unix_seconds
      - share
      - substitute
      - deprecated
      title: TrafficModel
    DailyAvgDict:
      properties:
        days:
          items:
            type: string
          type: array
          title: Days
          description: List of days in the format dd.mm.yyyy
        data:
          items:
            anyOf:
            - type: number
            - type: 'null'
          type: array
          title: Data
          description: List of average daily values
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - days
      - data
      - deprecated
      title: DailyAvgDict
    RenShareModel:
      properties:
        unix_seconds:
          items:
            type: integer
          type: array
          title: Unix Seconds
        ren_share:
          items:
            anyOf:
            - type: number
            - type: 'null'
          type: array
          title: Ren Share
        solar_share:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Solar Share
        wind_onshore_share:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Wind Onshore Share
        wind_offshore_share:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Wind Offshore Share
        substitute:
          type: boolean
          title: Substitute
        deprecated:
          type: boolean
          title: Deprecated
      type: object
      required:
      - unix_seconds
      - ren_share
      - substitute
      - deprecated
      title: RenShareModel
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)