{"schema_version":"2.0","title":"Energy-Charts API v2","description":"European electricity data (production, forecasts, day-ahead prices, cross-border exchange, renewable shares, grid frequency) by energy-charts.info / Fraunhofer ISE. Every data endpoint returns the same self-describing envelope: ISO 8601 timestamps in the stated `timezone`, series identified by the ids listed in `series`, units and resolution declared inline, and `available_from` / `available_until` marking the span that actually contains data. Timestamps always mark the START of the period they refer to, with one exception: installed_power, where values represent the state at the END of the labelled year or month.","openapi_url":"/openapi.json","response_envelope":"TimeSeriesResponseV2","endpoints":[{"path":"/v2/cbet","method":"GET","summary":"Cross-border electricity trading (scheduled commercial exchanges)","description":"Cross-border electricity trading (scheduled commercial exchanges) in gigawatt (GW) between a country and each of its neighbors, plus a 'sum' series. Positive values are imports, negative values exports. Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.","tag":"import_export v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"start","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"end","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."}]},{"path":"/v2/cbpf","method":"GET","summary":"Cross-border physical flows","description":"Cross-border physical electricity flows in gigawatt (GW) between a country and each of its neighbors, plus a 'sum' series. Positive values are imports, negative values exports. Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.","tag":"import_export v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"start","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"end","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."}]},{"path":"/v2/frequency","method":"GET","summary":"Grid frequency (RG Continental Europe), 1 second resolution","description":"Grid frequency in hertz (Hz) measured at Fraunhofer ISE in Freiburg, Germany (RG Continental Europe). Available in 1 second steps from 2022-05-01 on; the requested interval is limited to 3 days. Timestamps are ISO 8601 in UTC.","tag":"power v2","parameters":[{"name":"region","type":"string","required":false,"default":"DE-Freiburg","allowed_values":null,"description":"Measurement region (currently only 'DE-Freiburg')"},{"name":"start","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"end","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."}]},{"path":"/v2/installed_power","method":"GET","summary":"Installed power per production type","description":"Installed power per production type. Units are carried per series (typically GW; battery storage capacity in GWh; monthly installation / decommission figures in MW). NOTE: unlike all other endpoints, timestamps here label the reporting year or month, and values represent the installed power at the END of that period (or, with installation_decommission=true, the net change during the period).","tag":"power v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"time_step","type":"string","required":false,"default":"yearly","allowed_values":["yearly","monthly"],"description":"'monthly' is only available for Germany"},{"name":"installation_decommission","type":"boolean","required":false,"default":"False","allowed_values":null,"description":"If true, net installation / decommission per period is returned instead of cumulative installed power"}]},{"path":"/v2/price","method":"GET","summary":"Day-ahead spot market price","description":"Day-ahead spot market price for a bidding zone in EUR/MWh. The `license` field states the license of the returned data; for several zones the data is CC BY 4.0 from Bundesnetzagentur | SMARD.de, for all other zones it is restricted to private and internal use. Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.","tag":"prices v2","parameters":[{"name":"bzn","type":"string","required":false,"default":"DE-LU","allowed_values":["DE-LU","AT","BE","BG","CH","CZ","DK1","DK2","EE","ES","FI","FR","GR","HR","HU","IT-Calabria","IT-Centre-North","IT-Centre-South","IT-North","IT-SACOAC","IT-SACODC","IT-Sardinia","IT-Sicily","IT-South","LT","LV","ME","NL","NO1","NO2","NO2NSL","NO3","NO4","NO5","PL","PT","RO","RS","SE1","SE2","SE3","SE4","SI","SK","DE-AT-LU","IE(SEM)","UA-IPS","UA-BEI","IT-Brindisi","IT-Foggia","IT-GR","IT-North-AT","IT-North-CH","IT-North-SI","IT-North-FR","IT-Priolo","IT-Rossano"],"description":"Bidding zone"},{"name":"start","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"end","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."}]},{"path":"/v2/price_current","method":"GET","summary":"Day-ahead spot market price of the current interval","description":"Day-ahead spot market price of the interval that contains the current time, as a single-record envelope. `attributes.valid_until` states when the returned price expires (start of the next interval); re-fetch after that time. Returns 404 if no price is available for the current interval. License handling as for /v2/price.","tag":"prices v2","parameters":[{"name":"bzn","type":"string","required":false,"default":"DE-LU","allowed_values":["DE-LU","AT","BE","BG","CH","CZ","DK1","DK2","EE","ES","FI","FR","GR","HR","HU","IT-Calabria","IT-Centre-North","IT-Centre-South","IT-North","IT-SACOAC","IT-SACODC","IT-Sardinia","IT-Sicily","IT-South","LT","LV","ME","NL","NO1","NO2","NO2NSL","NO3","NO4","NO5","PL","PT","RO","RS","SE1","SE2","SE3","SE4","SI","SK","DE-AT-LU","IE(SEM)","UA-IPS","UA-BEI","IT-Brindisi","IT-Foggia","IT-GR","IT-North-AT","IT-North-CH","IT-North-SI","IT-North-FR","IT-Priolo","IT-Rossano"],"description":"Bidding zone"}]},{"path":"/v2/price_next_day","method":"GET","summary":"Day-ahead spot market price for the next day","description":"Day-ahead spot market prices for the next local day of the bidding zone (the day after today), covering the full day. `attributes.delivery_date` states the day the prices refer to. Returns 404 while tomorrow's auction results are not yet published (results typically become available in the early afternoon CET of the current day). License handling as for /v2/price.","tag":"prices v2","parameters":[{"name":"bzn","type":"string","required":false,"default":"DE-LU","allowed_values":["DE-LU","AT","BE","BG","CH","CZ","DK1","DK2","EE","ES","FI","FR","GR","HR","HU","IT-Calabria","IT-Centre-North","IT-Centre-South","IT-North","IT-SACOAC","IT-SACODC","IT-Sardinia","IT-Sicily","IT-South","LT","LV","ME","NL","NO1","NO2","NO2NSL","NO3","NO4","NO5","PL","PT","RO","RS","SE1","SE2","SE3","SE4","SI","SK","DE-AT-LU","IE(SEM)","UA-IPS","UA-BEI","IT-Brindisi","IT-Foggia","IT-GR","IT-North-AT","IT-North-CH","IT-North-SI","IT-North-FR","IT-Priolo","IT-Rossano"],"description":"Bidding zone"}]},{"path":"/v2/public_power","method":"GET","summary":"Public net electricity production per production type","description":"Public net electricity production in megawatt (MW) for a given country, one series per production type. Timestamps are ISO 8601 in the local timezone and mark the interval start. Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.","tag":"power v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"start","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"end","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"subtype","type":"string","required":false,"default":"","allowed_values":null,"description":"Optional subtype, e.g. \"solarlog\" for Switzerland"}]},{"path":"/v2/public_power_forecast","method":"GET","summary":"Forecast of public net electricity production or load","description":"Forecast of the public net electricity production (or load) in megawatt (MW). If no dates are provided, values from today until the end of the available forecast are returned. Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.","tag":"power v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"production_type","type":"string","required":false,"default":"solar","allowed_values":["solar","wind_onshore","wind_offshore","load","wind"],"description":"Forecasted quantity"},{"name":"forecast_type","type":"string","required":false,"default":"current","allowed_values":["current","intraday","day-ahead","week-ahead"],"description":"Forecast horizon; 'load' supports only 'day-ahead'"},{"name":"start","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"end","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."}]},{"path":"/v2/ren_share_daily_avg","method":"GET","summary":"Average daily renewable share of load","description":"Average daily renewable share of load in percent, either for the trailing 365 days (year = -1) or for a given calendar year. Timestamps mark local midnight of each day.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"year","type":"integer","required":false,"default":"-1","allowed_values":null,"description":"Calendar year; -1 = trailing 365 days"}]},{"path":"/v2/ren_share_forecast","method":"GET","summary":"Renewable share of load forecast","description":"Forecast of the renewable share of load in percent from today until the end of the available forecast, including the solar, wind onshore and wind offshore contributions.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"}]},{"path":"/v2/signal","method":"GET","summary":"Electricity traffic signal (renewable share of load)","description":"Renewable share of load in percent from today until the end of the available forecast, together with a traffic light signal per timestamp: -1 = red (grid congestion), 0 = red (low renewable share), 1 = yellow (average), 2 = green (high renewable share).","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"postal_code","type":"string","required":false,"default":"","allowed_values":null,"description":"Reserved for future local-grid awareness"}]},{"path":"/v2/solar_share","method":"GET","summary":"Solar share of load","description":"Solar share of load in percent from today until the end of the available forecast, as measured values plus forecast.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"}]},{"path":"/v2/solar_share_daily_avg","method":"GET","summary":"Average daily solar share of load","description":"Average daily solar share of load in percent, either for the trailing 365 days (year = -1) or for a given calendar year. Timestamps mark local midnight of each day.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"year","type":"integer","required":false,"default":"-1","allowed_values":null,"description":"Calendar year; -1 = trailing 365 days"}]},{"path":"/v2/total_power","method":"GET","summary":"Total net electricity production (incl. industrial self supply)","description":"Total net electricity production (including industrial self supply) in megawatt (MW), one series per production type. Currently only available for Germany. Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.","tag":"power v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code (currently only 'de')"},{"name":"start","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."},{"name":"end","type":"string","required":false,"default":"","allowed_values":null,"description":"Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start."}]},{"path":"/v2/wind_offshore_share","method":"GET","summary":"Wind offshore share of load","description":"Wind offshore share of load in percent from today until the end of the available forecast, as measured values plus forecast.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"}]},{"path":"/v2/wind_offshore_share_daily_avg","method":"GET","summary":"Average daily wind offshore share of load","description":"Average daily wind offshore share of load in percent, either for the trailing 365 days (year = -1) or for a given calendar year. Timestamps mark local midnight of each day.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"year","type":"integer","required":false,"default":"-1","allowed_values":null,"description":"Calendar year; -1 = trailing 365 days"}]},{"path":"/v2/wind_onshore_share","method":"GET","summary":"Wind onshore share of load","description":"Wind onshore share of load in percent from today until the end of the available forecast, as measured values plus forecast.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"}]},{"path":"/v2/wind_onshore_share_daily_avg","method":"GET","summary":"Average daily wind onshore share of load","description":"Average daily wind onshore share of load in percent, either for the trailing 365 days (year = -1) or for a given calendar year. Timestamps mark local midnight of each day.","tag":"ren_share v2","parameters":[{"name":"country","type":"string","required":false,"default":"de","allowed_values":["ch","eu","all","at","ba","be","bg","cy","cz","de","dk","ee","es","fi","fr","ge","gr","hr","hu","ie","it","lt","lu","lv","md","me","mk","nl","no","pl","pt","ro","rs","se","si","sk","ua","uk","xk"],"description":"Country code"},{"name":"year","type":"integer","required":false,"default":"-1","allowed_values":null,"description":"Calendar year; -1 = trailing 365 days"}]}]}