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

Solar cadastre API for German cities (rooftop PV)

Rooftop photovoltaic potential per city through a free, keyless REST API. The sources are the official state solar cadastres (NRW: LANUK/Geobasis NRW/MaStR; Bavaria: Bavarian Environment Agency; Berlin: Umweltatlas/SenMVKU; Hamburg: LGV), aggregated per municipality and delivered as consistent JSON with source and license on every response.

What data you get

For each covered city the endpoint returns the total installable rooftop PV potential (capacity in kWp and annual yield in MWh), the already installed stock and the exploitation ratio in percent; for NRW also the potential broken down per building category. Coverage varies by source: Berlin includes potential and installed stock, Hamburg currently only the potential. Unlike the solar API (irradiation and yield per kWp from PVGIS), this interface returns the per-city quantities.

  • Installable potential (kWp)
  • Potential annual yield (MWh)
  • Installed stock (kWp)
  • Exploitation ratio (%)
  • Potential per building category (NRW)
  • Reference date

Source: State solar cadastres (NRW: LANUK/Geobasis NRW; Bavaria: LfU; Berlin: Umweltatlas; Hamburg: LGV). License: DL-DE Zero 2.0 (NRW, Berlin), CC BY 4.0 (Bavaria), DL-DE BY 2.0 (Hamburg). 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/koeln/solar-roofs

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

No key, no sign-up, free.

Covered cities

The rooftop solar cadastre is federated per federal state. Currently covered are the cities in North Rhine-Westphalia and Bavaria as well as the city states Berlin and Hamburg; more states follow once their open municipal aggregate is available.

Currently available for 42 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 cadastre 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.
How does this differ from the solar API?
The solar API (PVGIS) returns solar irradiation and the expected yield per installed kilowatt-peak for any city. This solar cadastre API returns the actual rooftop potential per city: how much PV is installable and how much is already installed.
Which states are covered?
Currently North Rhine-Westphalia (Solarkataster NRW, DL-DE Zero 2.0), Bavaria (Energie-Atlas Bayern, CC BY 4.0), Berlin (Umweltatlas, DL-DE Zero 2.0) and Hamburg (solar potential analysis, DL-DE BY 2.0). Rooftop solar cadastres are compiled per federal state; more states are added once an open municipal aggregate is available. For cities without a covered state the API answers honestly with not_covered instead of guessing.

More data types