Rooftop solar potential of the main building (model)
solar_potential26 fieldsNot in the demo
Available with: a separate agreement, switched on per account · Ask about an agreement
What this does not say
Quoted verbatim from the section’s warnings field, exactly as the API returns it. They are not translated: a translation would show something other than what your response actually contains.
- Estimate, not a quote, a site survey or a production guarantee: roof planes found in the 1 m surface model, irradiance from NVE's 1991-2020 map, standard assumptions for losses and usable area (assumptions lists every one).
- Roof planes: DOM1/DTM1 pixels inside the matrikkel footprint and at least 2 m above the terrain, grouped as flat or by facing into eight sectors, each with a least-squares plane (pitch_deg, azimuth_deg clockwise from north). Irradiance: NVE Solressurser global horizontal irradiance per season, split 50/50 into beam and diffuse and transposed to each plane; beam is zero while the sun is behind the horizon profile (roof level, computed with the sun_hours horizon code on DOM1 and on a 6 km terrain tile). kwh_per_kwp = irradiance on the plane x 0.80 performance ratio. Planes under 600 kWh/kWp or steeper than 60 degrees get no modules; usable area is 60 % of a pitched plane and 40 % of a flat roof (modules then assumed tilted 10 degrees south); 0.20 kWp per m2.
- annual_value_nok assumes half the production is used in the house (saving the spot price and the grid company's energy charge incl. levies) and half exported at spot (12-month mean in the price area). No subsidy, supplier margin or fixed-charge effect. payback_years is null unless an installation cost per kWp was set for the run (install_cost_nok_per_kwp_assumed): no installation price is invented.
- 1 m surface data resolves the main roof planes only: dormers, chimneys, roof windows, snow cover and roof condition are not seen. Trees are shading as captured in the surface model's survey year. The validation block compares the best plane's yield with PVGIS (EU JRC), another model, not measured production.
- Sources: NVE Solressurser (licence not stated by NVE; collection is disabled until it is confirmed), Kartverket DOM1/DTM1 (CC BY 4.0), matrikkel footprint (Kartverket Matrikkel, by agreement), energy prices and NVE grid tariffs. Model: Approach.
Fields
5 of 26 fields are value fields — the ones that decide whether a record actually says anything. The rest are context: identifiers, codes and timestamps.
| Field | Type | Role |
|---|---|---|
| method | string | null | context |
| method_version | string | null | context |
| building_id | string | null | context |
| footprint_area_m2 | number | null (m2) | context |
| roof_plane_count | integer | null | context |
| usable_roof_area_m2 | number | null (m2) | value |
| system_kwp | number | null | value |
| annual_yield_kwh | number | null (kWh) | value |
| kwh_per_kwp_best_plane | number | null | value |
| kwh_per_kwp_system | number | null | context |
| best_plane_pitch_deg | number | null (grader) | context |
| best_plane_azimuth_deg | number | null (grader) | context |
| roof_planes | array<object> | null | context |
| irradiance_horizontal_kwh_m2 | number | null (m2) | context |
| irradiance_fetched_at | string | null | context |
| horizon_profile_deg | array<number> | null | context |
| price_area | string | null | context |
| spot_price_nok_kwh_12m | number | null (kWh) | context |
| grid_energy_charge_nok_kwh | number | null (kWh) | context |
| grid_tariff_month | string | null | context |
| annual_value_nok | number | null (NOK) | value |
| install_cost_nok_per_kwp_assumed | number | null | context |
| payback_years | number | null | context |
| assumptions | object | null | context |
| validation | object | null | context |
| updated_at | timestamp | null | context |
Fetch this section
Send the key in the X-API-Key header. The section can be fetched with the rest of the address, or on its own with pagination.
curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/285717643?include=solar_potential' # paginated, one section at a time curl --fail-with-body --silent --show-error \ -H "X-API-Key: $APPROACH_API_KEY" \ 'https://api.approach.no/api/v1/addresses/285717643/sections/solar_potential?limit=25'
Why it cannot be tried here
This section is not part of the public demo projection. That is a licensing and privacy decision, not a sign the data is missing: it is served to customers granted the section.