Skip to content

← API reference

The kommune's drinking-water and sewer networks: age, material, renewal and failures

municipal_water_network29 fields29 of these fields open in the demo
Source
SSB KOSTRA 13143 and 13144 (Ledningsnett og tilknytning)
Geography
Municipality
Reported stale after
540 days
Access
Requires an API key granted this section
Contract version
1
In packages
area_context

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.

  • Totals for the whole municipal network as the kommune reports them to KOSTRA, not the pipe in this street: the pipes under a particular property are in FKB-LedningVA, which is not open data. An address on a private well or septic tank is not on these networks at all.
  • The derived age-band and material percentages use the full reported water or sewer network length, including portions of unknown age or material. sewer_combined_share_pct instead divides combined length by combined plus separate length. Every required component must be reported; missing components or a zero denominator return null, while reported zero remains zero. *_unknown_age_share_pct is the source-reported share with unknown age. updated_at is the oldest timestamp among the municipality rows and rows contributing to the national comparison medians; an unknown contributing timestamp makes it null. renewal_rate_3y_pct is the share of the network renewed per year, averaged over three years — at 1 % a network is replaced about once a century. sewer_combined_share_pct is the share of sewer pipes that also carry stormwater, which overflows in heavy rain; sewer_basement_flooding_liability_cases counts closed cases where the kommune accepted liability for a flooded basement that year.

Fields

14 of 29 fields are value fields — the ones that decide whether a record actually says anything. The rest are context: identifiers, codes and timestamps. Fields marked “open” return values to anonymous callers; the rest require a key.

FieldTypeRoleDemo
municipality_codestring | nullcontextopen
municipality_namestring | nullcontextopen
yearinteger | null (årstall)contextopen
water_network_length_mnumber | null (m)valueopen
water_avg_pipe_age_yearsnumber | nullvalueopen
water_unknown_age_share_pctnumber | null (%)contextopen
water_laid_before_1971_pctnumber | null (%)valueopen
water_asbestos_cement_pctnumber | null (%)valueopen
water_iron_pctnumber | null (%)contextopen
water_plastic_pctnumber | null (%)contextopen
water_renewal_rate_3y_pctnumber | null (%)valueopen
water_leak_repairs_per_kmnumber | null (km)valueopen
water_estimated_leakage_m3_per_m_yearnumber | null (årstall)valueopen
water_population_connected_pctnumber | null (%)contextopen
sewer_network_length_mnumber | null (m)valueopen
sewer_avg_pipe_age_yearsnumber | nullvalueopen
sewer_unknown_age_share_pctnumber | null (%)contextopen
sewer_laid_before_1980_pctnumber | null (%)valueopen
sewer_combined_share_pctnumber | null (%)valueopen
sewer_renewal_rate_3y_pctnumber | null (%)valueopen
sewer_blockages_per_kmnumber | null (km)valueopen
sewer_combined_overflowsnumber | nullcontextopen
sewer_basement_flooding_liability_casesnumber | nullvalueopen
sewer_population_connected_pctnumber | null (%)contextopen
norway_median_water_pipe_age_yearsnumber | nullcontextopen
norway_median_water_renewal_rate_3y_pctnumber | null (%)contextopen
norway_median_sewer_pipe_age_yearsnumber | nullcontextopen
norway_median_sewer_renewal_rate_3y_pctnumber | null (%)contextopen
updated_atstring | nullcontextopen

Fetch this section

curl -H "X-API-Key: $APPROACH_API_KEY" \
  "https://api.approach.no/api/v1/addresses/285717643?include=municipal_water_network"

# paginated, one section at a time
curl -H "X-API-Key: $APPROACH_API_KEY" \
  "https://api.approach.no/api/v1/addresses/285717643/sections/municipal_water_network?limit=25"

Try it now

This is a real call against the public demo, from here. What appears below is what the API returned — not a sample.