GET /api/v1/cities/{slug}/solar
Solar irradiation + PV yield per city (PVGIS, Tier A)
Solar potential per city from the keyless PVGIS computation API (EU JRC, PVcalc). PVGIS computes any EU coordinate, so all cities are covered. A multi-year climatological average at the city centre, normalized to a 1 kWp system at the optimal tilt: annual_yield_kwh_kwp (annual yield kWh/kWp), annual_irradiation_kwh_m2 (global irradiation kWh/m²), optimal_slope_deg/optimal_azimuth_deg and 12 monthly values (monthly). system_loss_pct is the configured (intended) system loss from cabling/inverter/soiling (the loss parameter passed to PVGIS, typically 14 %), NOT the overall performance delta; that is carried separately as total_performance_delta_pct (PVGIS l_total, incl. temperature/irradiance/ angle effects, negative = overall reduction). No observation timestamp, so observed_at=null; the reference period is carried as period_start/period_end. Tier A (EU reuse policy). Toggle off -> 200 source_status="disabled"; dead upstream with no cache -> 503 with a hint.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
slug | path | yes | string |
Code samples
curl "https://infranode.dev/api/v1/cities/hamburg/solar"const res = await fetch("https://infranode.dev/api/v1/cities/hamburg/solar");
const data = await res.json();
console.log(data);import httpx
res = httpx.get("https://infranode.dev/api/v1/cities/hamburg/solar")
res.raise_for_status()
print(res.json())