InfraNode.dev
MCP InfraNode is also available as an MCP server for AI assistants like Claude and ChatGPT.

Solar API for German cities (PVGIS)

Solar potential per city through a free, keyless REST API. The source is PVGIS by the European Commission (JRC), aggregated to a comparable metric per city and delivered as consistent JSON with source, license and reference period on every response.

What data you get

For each city the endpoint returns a multi-year climatological average at the city centre, normalized to a 1 kWp system at the optimal tilt: annual PV yield in kWh per kWp, global irradiation in kWh per square meter, the optimal tilt and azimuth, and twelve monthly values. It is not a daily value but a long-term average; the reference period is given as a year range in the response.

  • Annual PV yield (kWh/kWp)
  • Global irradiation (kWh/m²)
  • Optimal tilt (degrees)
  • Optimal azimuth (degrees, 0 = south)
  • 12 monthly values (yield + irradiation)
  • Reference period (year range)

Source: PVGIS, European Commission (JRC). License: EU reuse policy (effectively CC BY 4.0). Source, license URL and timestamp are included in every API response in the meta and attribution block.

How to fetch it

A simple GET request, no key and no sign-up:

curl https://infranode.dev/api/v1/cities/berlin/solar

For another city, just put the slug from the cities list into the path.

No key, no sign-up, free.

Covered cities

Solar data is available for all 84 covered cities: PVGIS computes any coordinate in Europe, the values refer to the city centre.

Available for all 84 covered cities. The exact per-city status is on the coverage and status page, the full list of cities on the cities overview.

Endpoint reference

All parameters, fields and response examples are in the API reference for this endpoint. InfraNode is also available as an MCP server for AI assistants.

Frequently asked questions

Is the solar API free and keyless?
Yes. No key, no sign-up, free, a single GET request is enough. The rate limit is 300 requests per minute per IP.
What does kWh per kWp mean?
It is the expected annual yield of a photovoltaic system per installed kilowatt-peak at the optimal tilt. This lets you compare locations directly and scale to your planned system size.
Are these live measurements?
No. PVGIS provides a multi-year climatological average, a long-term mean rather than a daily value. That is why observed_at is null; the reference period is given as a year range (period_start/period_end) in the response.

More data types