GrünstromIndex (Corrently) API
Free German renewable energy forecast API with no key: hourly green-power share, wind and solar split, CO2 intensity and grid price by postcode. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the GrünstromIndex (Corrently) API?
The GrünstromIndex, served through Corrently's API, forecasts the renewable share of German electricity for a given postcode hour by hour. Each forecast entry gives the green-energy index, wind and solar contributions, CO2 grams per kilowatt-hour and an indicative energy price.
German electricity is greenest in specific hours and specific places, depending on local wind and solar output and on grid congestion. The GrünstromIndex turns that into an hourly forecast keyed by postcode, so a load can be shifted to when the local grid mix is cleanest rather than merely when power is cheapest — the two rarely coincide exactly.
Two fields carry the actual signal. `gsi` is the headline green power index from 0 to 100, and `co2_g_standard` alongside `co2_g_oekostrom` gives you grams of CO2 per kilowatt-hour for a standard tariff versus a green tariff — the difference between them being the point of the whole exercise. `sci` is a related carbon-intensity score aligned with the Green Software Foundation's specification, which is why this API turns up in carbon-aware scheduling libraries. Every response also carries a `signee` field holding a blockchain address, a leftover from Corrently's energy-token work that you can safely ignore. Fair-use terms apply and a paid tier exists for higher volume.
Quick facts
- Base URL
https://api.corrently.io/v2.0/gsi- Authentication
- No API key for the forecast endpoint under fair use. Corrently sells a paid tier for higher request volumes.
- Rate limit
- Fair-use policy rather than a published number. Forecasts are hourly — one call per postcode per hour is plenty.
- Pricing
- Free under fair use; paid plans lift the limits.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the GrünstromIndex (Corrently) API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Forecast the green power index for a postcode
GET https://api.corrently.io/v2.0/gsi/prediction?zip=69168
curl 'https://api.corrently.io/v2.0/gsi/prediction?zip=69168'const res = await fetch("https://api.corrently.io/v2.0/gsi/prediction?zip=69168");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.corrently.io/v2.0/gsi/prediction?zip=69168", timeout=20)
res.raise_for_status()
print(res.json()){
"support": "If you have any question please contact dev@stromdao.com or visit https://premium.corrently.de/",
"info": "https://corrently.io/books/stromdao-gmbh/page/fair-use-policy",
"documentation": "https://corrently.io/books/grunstromindex",
"commercial": "https://corrently.energy/products/corrently-apis-rate-limit-erhohung",
"signee": "0xE7Fe0626D7B8e3F2e5ECD146F9b11daac1DBE447",
"forecast": [
{
"epochtime": 1787292000,
"eevalue": 35,
"ewind": 31,
"esolar": 7,
"ensolar": 7,
"enwind": 31,
"sci": 29,
"gsi": 33.25,
"timeStamp": 1787292000000,
"energyprice": "-0.0175000",
"co2_avg": null,
"co2_g_standard": null,
"co2_g_oekostrom": 45,
"timeframe": {
"start": 1787292000000,
"end": 1787295600000
},
"iat": 1787298371142,
"zip": "69168",
"signature": "0x4559f3283cb78723a1bfdb6e099c8bcde11ba6e7b7e73cd18e7719243876549b29071bb06c6f905c8d67524324d5a02aa53514f855840e6bb7c417318972e3421b"
},
{
"epochtime": 1787295600,
"eevalue": 18,
"ewind": 9,
"esolar": 13,
"ensolar": 13,
"enwind": 9,
"sci": 32,
"gsi": 17.099999999999998,
"timeStamp": 1787295600000,
"energyprice": "-0.0090000",
"co2_avg": null,
"co2_g_standard": null,
"co2_g_oekostrom": 55,
"timeframe": {
"start": 1787295600000,
"end": 1787299200000
},
"iat": 1787298371143,
"zip": "69168",
"signature": "0x57b61e77fb8da8654f49ee512994970c12b06eace6068d29121c297d769Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
zip | query | Required | German postcode. The forecast is regional because wind and solar output vary across the grid. 69168 |
city | query | Optional | City name as an alternative to the postcode. Berlin |
Response fields
forecastarray- Hourly forecast entries, chronological.
forecast[].gsifloat- GrünstromIndex, 0 to 100. Higher means a greener local mix in that hour.
forecast[].eevalueinteger- Renewable share as a percentage, the simpler cousin of `gsi`.
forecast[].ewind / esolarinteger- Wind and solar contributions to that percentage, so you can see which resource is driving it.
forecast[].enwind / ensolarinteger- Normalised wind and solar values for the same hour.
forecast[].sciinteger- Carbon-intensity score aligned with the Green Software Foundation specification, used by carbon-aware schedulers.
forecast[].co2_g_standard / co2_g_oekostrominteger- Grams of CO2 per kilowatt-hour on a standard versus a green tariff. Either can be null when unavailable.
forecast[].energypricestring- Indicative price as a decimal string. Negative values occur during renewable surpluses.
forecast[].epochtime / timeStampinteger- The hour in Unix seconds and in milliseconds respectively.
forecast[].timeframeobject- Explicit `start` and `end` millisecond bounds for the hour.
signeestring- Blockchain address from Corrently's energy-token work. Not needed for reading the forecast.
support / info / documentation / commercialstring- Contact, fair-use policy, documentation and commercial upgrade links, restated in every response.
What you can build with the GrünstromIndex (Corrently) API
- Schedule EV charging or heat pumps for the greenest local hours
- Add carbon-aware timing to a build or batch job running in Germany
- Show households when their regional grid mix is cleanest
- Compare green share against price to see where the two diverge
Common errors and how to fix them
Null CO2 fields
Not every hour has both tariff figures available.
Fix: Fall back to `gsi` or `sci`, which are populated far more consistently.
Price arithmetic fails
`energyprice` is a string such as `"-0.0175000"`.
Fix: Parse to a float first, and expect negative values during renewable surplus hours.
Same values for distant postcodes
The forecast is regional rather than street-level.
Fix: Neighbouring postcodes in the same grid region will legitimately match.
Rate limited
Fair-use policy applies to the free tier.
Fix: One call per postcode per hour is ample. The `info` field in every response links to the policy.
GrünstromIndex (Corrently) API — frequently asked questions
Is the GrünstromIndex API free?
Yes, free with no key under a fair-use policy. Corrently sells a paid tier for higher request volumes, and every response links to both the policy and the upgrade path.
What does the gsi value mean?
It is the GrünstromIndex from 0 to 100, expressing how green the local electricity mix is forecast to be in that hour. Higher is greener, and it varies by postcode because wind and solar output are regional.
Why does it need a postcode?
Because German grid mix is not uniform. Northern regions carry far more wind, southern regions more solar, and grid congestion changes what is actually delivered locally.
What is the sci field?
A carbon-intensity score aligned with the Green Software Foundation's Software Carbon Intensity specification, which is why carbon-aware scheduling libraries use this API as a data source.
Tools that pair with this API
Electricity Cost Calculator
Calculate what appliances cost to run: enter watts, hours per day and days per week to get kWh and cost per day, month and year, for a whole list of devices.
Solar Panel Calculator
Work out the solar system size, panel count, roof area and annual kWh your home needs from your daily use and peak sun hours, then see the simple payback.
Percentage Calculator
Calculate what X% of a number is, what percent one number is of another, and percentage increase or decrease between two values — instantly and free.
GrünstromIndex (Corrently) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.