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.
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
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)