GET /api/v1/cities/{slug}/solar-roofs
Rooftop solar cadastre per city, federated (Tier A)
Rooftop solar cadastre per city from the official state aggregates (NRW: Solarkataster NRW, MaStR/LANUK/Geobasis NRW, DL-DE/Zero 2.0; Bavaria: Energie-Atlas Bayern, CC BY 4.0; Berlin: Umweltatlas/SenMVKU, DL-DE/Zero 2.0; Hamburg: LGV solar potential analysis, DL-DE/BY 2.0). Returns the total installable rooftop PV potential (potential_kwp, potential_yield_mwh), the already installed stock (installed_kwp, installed_yield_mwh), the exploitation ratio (exploitation_pct) and the potential broken down per building category (potential_by_category). Coverage varies by source (e.g. Hamburg potential only, no categories). Unlike /solar (PVGIS irradiation per kWp) this route carries the per-city quantities. Partial coverage, federated per state: toggle off -> 200 source_status="disabled"; city outside covered states -> 200 source_status="not_covered" (with covered_cities); covered city without a seed entry -> 200 source_status="no_data".
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string |
Code samples
curl "https://infranode.dev/api/v1/cities/hamburg/solar-roofs"const res = await fetch("https://infranode.dev/api/v1/cities/hamburg/solar-roofs");
const data = await res.json();
console.log(data);import httpx
res = httpx.get("https://infranode.dev/api/v1/cities/hamburg/solar-roofs")
res.raise_for_status()
print(res.json())