| area_context | Area context Population, population change, age and income for the municipality, for one address, a list of addresses or an area. Caveats- Per municipality only. Finer resolutions need grunnkrets statistics as an aggregatable section, which does not exist yet.
- Municipality-level statistics; time_period is the observation period, updated_at is import time.
- Area aggregate in NOK, not the income of address residents.
| 10 fields · municipality · NLOD-2.0 |
| civil_protection | Civil protection Emergency-service premises, shelters and dispatch geography. Straight-line proximity is not response time. Caveats- Ten nearest known stations by straight-line UTM33 distance, not emergency response coverage or arrival time.
- Ten nearest known premises by straight-line UTM33 distance; incomplete coverage, no opening-hours or emergency response guarantee. Most matches use registered names, not verified public services. Reviewed identity/address exceptions include Grønland (Oslo district office), checked against Politiet on 2026-09-27; fetched_at is the register retrieval time, not a renewed operational verification.
- Registered business units by næringskode, geocoded from their registered address; a registered unit is not proof of a staffed, open service and geocode_precision tells how exact the position is.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- © OpenStreetMap contributors, ODbL 1.0. Community-mapped; presence, name and position are unverified and absence means unmapped, not absent. Licence limits: ODbL is share-alike. Showing these records needs the attribution "© OpenStreetMap contributors" beside them, and a database you build from them and pass on or publish must itself be offered under ODbL, so the records cannot be folded into a proprietary dataset or resold under different terms. NLOD and CC BY terms elsewhere in this API do not apply to them.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- © OpenStreetMap contributors, ODbL 1.0. Community-mapped; presence, name and position are unverified and absence means unmapped, not absent. Licence limits: ODbL is share-alike. Showing these records needs the attribution "© OpenStreetMap contributors" beside them, and a database you build from them and pass on or publish must itself be offered under ODbL, so the records cannot be folded into a proprietary dataset or resold under different terms. NLOD and CC BY terms elsewhere in this API do not apply to them.
- Public shelters only; private shelters in buildings are not listed. Capacity is registered places, not present readiness.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Municipality-level annual counts, not this property's fire history or risk. residential_fires is boligbranner; building_fires is bygningsbranner. Deaths and injuries are not provided by this source and are absent, not zero. year is the statistical period; updated_at is successful import time, not source publication time, and remains unknown for unrefreshed legacy rows.
| 2 fields · address · ODbL-1.0 |
| core | Core The small default-sized profile: identity, buildings and dwelling units with their source status, mapped hazard zones and the zoning plan. Fast and cheap to read; pick further packages or include ids for more. A package does not establish source completeness or grant rights. Caveats- Elevation uses the stated source. easting_utm33 and northing_utm33 are EPSG:25833 metres and authoritative; lat and lon are the same point in WGS84 degrees, derived from them and rounded to 6 decimals.
- Cached internal-use data. A working live Matrikkel connection is not implied.
- Owner data and raw source payloads are excluded; inferred/backfilled area values are not official registered area. building_year (where a section derives it) is the year of the earliest status Matrikkelen recorded for the building, usually the permit; a house was often taken into use the year after.
- Internal-use cached facts. Source retrieval time is unverified; source permissions must be approved before partner export.
- Zero area, room, bathroom and WC counts in the legacy dwelling cache are ambiguous and returned as null, not verified measurements. A genuine zero cannot be distinguished until source provenance is restored. Completeness measures area, rooms, bathrooms and WC; type and floor codes are context.
- cache_only means source completeness is unverified. snapshot_consistent means all IDs from the last address snapshot exist in the cache, not that the source is current. Missing building records never prove the address has no building. Legacy counts describe historic address links, not necessarily the current snapshot.
- The canonical hazard answer: hazards, safety_and_regulations and ground_integrity answer from the same zones and the same rule. Point-in-polygon against locally ingested NVE zones. True reports a match in a mapped zone. False reports no match, and only where the address's kommune is in the layer's coverage (/coverage) — that proves we hold zones there, not complete municipal surveying. Outside coverage the answer is null and the matching *_status is unknown_not_covered. Missing matches never establish absence of hazard. Null must never be read as clearance. Source freshness is unverified unless a retrieval timestamp is supplied.
- flood_min_return_period is the lowest present-climate recurrence whose zone covers the point (e.g. 20 = inside the 20-year flood zone); flood_climate_adjusted is true when the point lies in NVE's climate-adjusted (year-2100) zone, so in_flood_zone true with a null flood_min_return_period means the 2100 zone only. Quick clay reports the most severe NVE grade at the point, whether that zone is the release area (where a slide starts) or the run-out area (where the masses end up), and NVE's risk class 1-5. landslide_hazard_type 'combined' is NVE's joint zone for every slide type in steep terrain. Not an engineering assessment.
- Point-in-polygon lookup against ingested plan geometries (currently Oslo), with a live lookup in DiBK's national plan base (NAP) at the point everywhere else. No match never means the address is unregulated: a kommune that has not published to NAP answers nothing. Verify the legally binding plan and provisions via plan_register_url/provisions_url.
- Overlapping plans, including kommunedelplaner and different vertical levels, can all apply to the same point; plan_status can be empty in the source register.
| 2 fields · address · agreement |
| environment_nuisance | Environment and nuisance Noise, grid and pollution context from strategic mapping and registers; zone membership and proximity, not measurements at the façade. Caveats- A screening calculation at a point 4 m above ground, not a measurement, a façade level or a legal noise zone (T-1442); the official mapped bands are shown beside it for comparison. Road and rail levels are summed energetically per source; businesses and residential density are indicators that raise the index by at most 10 points and carry no dB. Rail vehicle mix is assumed; airports are indicators until a calibrated fit exists.
- best_estimate_lden_db and exposure_index use the mixture of the physics and an ML model trained on the official noise maps when the release has one (best_estimate says which); the ML part reproduces those maps, which are calculations, and lden_db and sources stay the physics alone.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Strategic noise mapping (rød sone Lden ≥ 65 dB, gul sone ≥ 55 dB) of state/county roads nationwide, and of municipal roads with AADT over 1 000 in the Oslo, Bergen, Trondheim, Stavanger and Fredrikstad/Sarpsborg urban areas per the source's own scope; façade-level values are not included. Our load currently holds far fewer zones for those four cities than that scope implies (Trondheim: none), a known coverage gap under investigation, not evidence the source excludes municipal roads there. noise_levels' agglomeration_roads scope (round 4, 2022) models every road in those same urban areas and is the fuller answer for an address not matched here.
- calculated_year is the prognosis year of the noise model (T-1442 mapping is computed for a forecast year, typically 2040 for roads), not the year of a measurement or of publication.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- ÅDT is Statens vegvesen's annual average daily traffic for a road stretch in the year adt_year (from counting or estimation, see basis and adt_counted), not live traffic. Discs are straight-line distance from the address point (_100m, _500m, _1000m; each disc includes the smaller ones) and say nothing about whether a road is reachable, audible or screened from the address.
- traffic_load_<r> is Σ(ÅDT × metres of the stretch inside the disc) / 1000 / disc area in km², in vehicle-km per km² per day. Each NVDB stretch counts once; separate carriageways and one-way streets are separate stretches carrying their own traffic. NVDB leaves ÅDT off many municipal and private roads, so the load is a lower bound: those roads are unknown, not zero. A disc with no ÅDT stretch has adt_segments 0 and null ÅDT figures (adt_status no_adt_road_in_ring); no_adt_data_within_20km means we hold no ÅDT stretch within 20 km of the address (NVDB has none there, or the area is not loaded), and every ÅDT figure is null.
- busiest_road_<r>.adt_applies_to is one_carriageway_of_divided_road when NVDB records the ÅDT for one carriageway only; the road's two-way traffic is then roughly the sum of both carriageways. heavy_vehicle_share_pct is NVDB's share of long vehicles (5.6 m and over). NVDB carries no street name for ÅDT stretches; road_number (EV18, FV24, KV1234) identifies the road.
- Sensor figures are never summed across sensors: sensors on one road count the same vehicles. sensor_combined_adt_<r> is the sum over distinct road numbers of the busiest sensor on each road (sensor_combination_method), with the roads listed in sensor_roads_<r>. Sensors are sparse, so sensor_count_<r> is mainly a data-quality indicator and a disc without sensors (sensor_status no_sensor_in_ring) is not measured, not free of traffic. busiest_sensor_<r>.vehicles_per_hour is the latest reading at updated_at, not a live congestion measure.
- T-1442 planning zones for Bane NOR's network; noise_levels' rail source_type (round 3, 2017) carries the EU END dB bands for major and agglomeration rail and can hold a result where this layer does not.
- calculated_year is the prognosis year of the noise model (T-1442 mapping is computed for a forecast year, typically 2040 for roads), not the year of a measurement or of publication.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- T-1442 planning zones for Avinor's airports; noise_levels' airport source_type (round 4, 2022) carries the EU END dB bands for major airports and can hold a result where this layer does not.
- calculated_year is the prognosis year of the noise model (T-1442 mapping is computed for a forecast year, typically 2040 for roads), not the year of a measurement or of publication.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Impulse-noise sources; opening hours and activity level are not included.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Regional and central grid lines (≥ 33 kV typically); local distribution lines are not in this dataset.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- The source register is explicitly incomplete; absence of a nearby site is never evidence of clean ground, and a registered locality is not a measured condition at this address. Verify the case via faktaark_url.
- Ten nearest registered sites by straight-line UTM33 distance. risk_class is the health-based condition class; 'Ikke satt' is common. NLOD 2.0, Miljødirektoratet.
- Counts and nearest distances from the NGU GRANADA borehole registry within 2 km. Registration is mandatory for drillers so modern coverage is good, but historic wells are under-registered — zero is not proof of no well.
- A nearby groundwater well can indicate private (non-municipal) water supply; energy wells indicate geothermal heating. This is registry proximity, not confirmation of this property's own supply.
- Latest known position per vessel within roughly 10 km, from the last six hours; a snapshot of shipping activity, not a traffic statistic. Vessel identifiers are public AIS data.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
| 2 fields · address · NLOD-2.0 |
| hazard_screen | Natural-hazard screen What share of the addresses in an area lie in mapped flood, quick-clay and landslide zones, at one address or per grunnkrets, postal code or municipality. Caveats- A share counts addresses flagged inside a mapped zone. An address outside every mapped zone is counted as not flagged, which is not the same as safe: mapping covers prioritised areas only.
- Screening is not a site assessment and replaces none.
- Deprecated: kept for existing integrations, answered live from the same mapped zones and the same coverage rule as hazard_zones, which carries the reason for every unknown (flood_status, quick_clay_status, landslide_status) and should be used instead. True is a match in a mapped zone. False is no match in a kommune whose zones we hold (see /coverage). Null is unknown — the kommune is not covered — and never clearance; missing matches never establish absence of hazard.
- Flood figures count present-climate zones only: flood_return_period is the lowest and flood_max_return_period the highest return period whose zone covers the point. in_flood_<n>yr is null inside a zone of another period, because NVE does not map every period everywhere. quick_clay_hazard_level is the most severe NVE grade at the point.
| 8 fields · address, grunnkrets, postal_code, municipality · NLOD-2.0 |
| home_profile | Home profile Address identity and cached housing facts. Building coverage and recipient permission must be checked; a package does not establish source completeness or grant rights. Caveats- Elevation uses the stated source. easting_utm33 and northing_utm33 are EPSG:25833 metres and authoritative; lat and lon are the same point in WGS84 degrees, derived from them and rounded to 6 decimals.
- Cached internal-use data. A working live Matrikkel connection is not implied.
- Owner data and raw source payloads are excluded; inferred/backfilled area values are not official registered area. building_year (where a section derives it) is the year of the earliest status Matrikkelen recorded for the building, usually the permit; a house was often taken into use the year after.
- Internal-use cached facts. Source retrieval time is unverified; source permissions must be approved before partner export.
- Zero area, room, bathroom and WC counts in the legacy dwelling cache are ambiguous and returned as null, not verified measurements. A genuine zero cannot be distinguished until source provenance is restored. Completeness measures area, rooms, bathrooms and WC; type and floor codes are context.
- cache_only means source completeness is unverified. snapshot_consistent means all IDs from the last address snapshot exist in the cache, not that the source is current. Missing building records never prove the address has no building. Legacy counts describe historic address links, not necessarily the current snapshot.
| 2 fields · address · agreement |
| local_economy | Local economy Registered companies at the address, on the same property and within 500 metres, plus aggregate business, insolvency and civic context for the wider area; nothing about an occupant. Sole traders are counted, never named. Caveats- The relationship field distinguishes the selected address, another address on the same cadastral property, the same street number with another letter, and other registered addresses within 500 metres. Registration does not prove that employees, operations, visitors or assets are physically present there. c/o, post-box and unmatched addresses are absent.
- Legal persons only. A sole proprietorship (enkeltpersonforetak) is its owner, trading under the owner's name and often registered at the owner's home, so it and every other register entry that is, or may be, a natural person are left out, with the same rule as the company events section: a NUF, foreign entity or bankruptcy estate is listed only when its name ends in the designator of a legal person. Sole traders are counted, never named, in business_neighbourhood.
- The endpoint returns at most 100 companies per page. Follow next_cursor on the single-section API when an address has more.
- Aggregates over enheter whose registered business address matched an address point within 1 km (about 84 % of active companies; c/o and post-box addresses do not match). A holding company counts where its office is, a chain where each shop is. Bankruptcies and forced liquidations are counted by the day Brønnøysund announced them (the latest Konkursåpning, or oppløsning/tvangsoppløsning), placed by the company's registered address; the rate is per 100 active companies. A status with no such announcement in the ledger has no date and is not counted in a window; that includes every sole proprietorship (enkeltpersonforetak), whose bankruptcy the ledger does not list under its organisation number. The announcement ledger is read for every day from bankruptcy_tracking_since. Accounts are the latest filed annual accounts (regnskapstype SELSKAP, at most 30 months old) of active companies; revenue in million NOK, equity ratio is total equity over total assets. Payment defaults (betalingsanmerkninger) are not in any open register and are not represented. industry_mix_1000m maps NACE section to its share of active companies; industry_mix_summary_1000m is the same for the five largest, as text. leaders_connected_share_1000m is the share of active companies (with roles on record) where a daglig leder, styreleder, nestleder, styremedlem or innehaver also holds such a role in another company; avg_other_companies_per_leader_1000m averages how many. norway_* and kommune_* carry the same measures over every company in the register for Norway and the kommune (not only geocoded ones), so each figure can be read against its baseline; registered_12m_per_100 and bankruptcies_36m_per_100 are rates per 100 active companies.
- Kommune-level household composition (SSB 06070: private households by type) and persons 67-79 and 80+ living alone (SSB 06844), latest published year. Elderly living alone is the strongest single predictor of fire deaths in DSB's analyses; shares are of all households in the kommune and of all persons in the age band, with the Norway figure next to them. Not a fact about this household.
- Business presence by registered business address in the same postal code, not at this address; a postal code can span a whole rural municipality or a few city blocks. Employees are BRREG's registered headcount.
- Counts of company insolvency announcements by registered postal code and municipality; a business-climate signal for the area, never a statement about any occupant.
- Nearest cooperatives by their registered (geocoded) address; the address is not thereby known to belong to any of them. Total debt is the cooperative's balance-sheet debt, not fellesgjeld per unit.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Area aggregate in NOK, not the income of address residents.
- National figures from the labour-force survey. These are NOT this municipality's employment or unemployment, and nothing here describes the address, its neighbourhood or its residents. SSB publishes no municipality breakdown in this table; a local figure would need a different source.
- A sample survey, seasonally adjusted, published monthly. Counts are converted from SSB's thousands to persons.
- Aggregate results for the polling district (stemmekrets) the address register assigns to this address, plus the municipality total; nothing about any voter. Districts are redrawn between elections.
| 2 fields · address · NLOD-2.0 |
| models | Datakilde models Every estimate Datakilde computes itself, such as noise by source (road, rail, air), settlement under the building, storm-surge freeboard, snow load, solar potential and fire-service response time. Each record carries method, method_version, inputs and validation; an estimate is never the official figure it approximates. Same grants and lookup count as any section. Caveats- Estimate, not a flood map: a screening of where water goes when the ground alone decides, from the national 10 m terrain model: depression_depth_m is how deep water would stand at the point before it drains (a blue spot), hand_value_m the height above the nearest drainage line, flow_accumulation_cells how many 10 m cells drain through the point, slope_degrees the local slope. The 0-100 scores weight these 30/25/20/15 with 10 for the position in the tile's elevation range. A 10 m grid sees neither kerbs, culverts nor drains: not a flood model, not an engineering assessment or an insurance rating.
- Computed nightly in rotation through the kommuner, one 2 km DTM tile at a time (from 6 Oct 2026; a national pass takes about four nights, after which rows older than a year are recomputed in turn). Until an address has been computed the section is not_found with reason not_yet_computed: unknown, never low risk. Addresses where Kartverket's DTM has no ground under the point (sea, lakes, survey holes) stay not computed. Flood zones and quick clay are in hazard_zones.
- area_m2 is the unit's effective floor area: its registered BRA where that is complete, otherwise derived from the building's per-floor housing BRA (area_basis says which) — Matrikkel registers bruksenhet areas partially or as 0 for a fifth of residential buildings while the building's floors are kept up. estimated_value_nok is Skatteetaten's boligverdi model (SSB 14737 coefficients per grunnkrets, housing type and age band) applied to the unit's BRA where the model expects P-ROM — the basis of formuesverdi, not a market appraisal; null where the grunnkrets, type or age band has no coefficients. One record per bruksenhet, so a house with a sokkelleilighet shows both.
- No rent estimate: the asking rents it was built from are FINN's, whose terms do not permit redistributing them.
- Two 0-100 indices, higher is more exposed, each the sum of documented factor points (fire_factors, burglary_factors) over the inputs listed; a factor whose input is missing contributes 0, never a mid-scale default. They rank addresses against each other and are NOT probabilities: no open register holds fire or burglary outcomes per address to calibrate against (DSB and SSB publish per kommune, the police per district). fire_coverage and burglary_coverage are the share (0-1) of the 8 factors on each side that had a real observation rather than a missing input contributing 0 — a low-coverage index is thin evidence, not a low-exposure address. municipal_scope_inputs names the inputs keys (inside `inputs`) that are kommune-wide KOSTRA/SSB rates rather than this address's own history. method names the weighting version; a fitted model replaces it when a partner supplies claim outcomes.
- inputs.theft_burglary_90d_5km counts Politiloggen theft and burglary messages whose named settlement, grunnkrets/bydel neighbourhood or postal area has its centre within 5 km of the address. Politiloggen gives no incident position; kommune-centroid-only messages are excluded. A neighbourhood centre is approximate and does not establish that the incident occurred within 5 km. inputs.police_log_match_share is the fraction of the kommune's own theft/burglary messages in the same 90 days matched by those same settlement, neighbourhood or postal methods. A zero count beside low matching coverage is missing placement evidence, not proof that no incidents occurred.
- Read off the national 10 m terrain model, so slope is over a 20 m baseline and a cut-in driveway, a retaining wall or a filled plot is invisible to it; not a survey. aspect_name is the downhill compass direction (flatt below 1°). relief_100m_m and relief_250m_m are the height difference within that radius; tpi_100m_m is the elevation minus the mean within 100 m, and position_class reads it as rygg (ridge, +5 m or more), søkk (hollow, -5 m or less), skråning (6° or steeper) or flate. height_above_low_250m_m is how far the address sits above the lowest ground within 250 m: near zero means water collects here before anywhere else nearby. steep_share_100m is the share of ground within 100 m steeper than 25°. No record until terrain-enrichment has reached the tile.
- Crowns detected on the 1 m surface model minus the terrain model (height above ground 2.5-30 m, blob-shaped, not roof-like), so a count is a count of crown blobs, not of trunks, and a hedge of small trees may read as one. A blob wider than 12 m of crown radius is a forest edge rather than a tree, and is reported as nearest_woodland_m with kind woodland in the list; Norway's broadest single crowns stay inside that. Distances run from the building's edge to the crown's edge; the building is the roof blob under the Matrikkel building point (building_source matrikkel_point), else the roof-like blob nearest the address point (nearest_roof), else a 5 m disc around the point (address_point), in which case the distances are to the point. trees lists up to 25 crowns nearest the building with east_m/north_m from the address point, height_m and crown_radius_m. canopy_share_30m is the share of ground within 30 m of the address point under a crown. No record until vegetation-enrichment has reached the address.
- Counts within straight-line bands over the POI layers listed in coverage; the score is a banded heuristic, and a zero count reflects our POI coverage as much as the neighbourhood.
- Licence: derived in part from OpenStreetMap (ODbL 1.0, share-alike). The score is a produced work and needs the attribution "© OpenStreetMap contributors" where it is shown; the per-address counts are database extracts, and passing them on in bulk can bring ODbL's share-alike terms with it. Approach has not cleared them for bulk redistribution under other terms, so treat the section as ODbL-encumbered. The other inputs are public registers under their own terms.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Penalty-based screening from public map layers; 100 means no penalty found in the layers listed in coverage, not that the ground has been investigated.
- A snapshot from the scoring run (updated_at), not a live answer. Its flood and quick clay flags follow hazard_zones' rule — true in a zone, false only in a kommune whose zones we hold, null otherwise — and the score is null when either is unknown. Between runs hazard_zones, which is answered live, is the canonical hazard answer. Rows before method penalties-v2 predate that rule and the quick clay release areas.
- landslide_zones_within_500m counts recorded landslide and avalanche events (NVE skredhendelser) within 500 m, not mapped hazard zones.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Estimate, not measured sunshine: clear-sky geometric hours above the terrain and surface horizon at the address point; vegetation and future buildings are as captured in the surface model, and weather is not modelled.
- Sensitive to where the point stands: the observer is 1.6 m above the surface model at the address point, which can be a roof, and a 10° sector is decided by single 4 m cells. Moving the point 2.2 m changed the 21 June hours by 2.4 h on average over 30 addresses (6 Oct 2026); read the figure as the character of the plot, not to the hour.
- Computed nightly in rotation through the kommuner (method horizon-36az-noaa-v2 from 6 Oct 2026; a national pass takes about four nights). An address without a row is not_found with reason not_yet_computed: unknown, not no sun. method horizon-36az-noaa-v1 rows are older per-address windows and are rescored in turn.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- A screening calculation at a point 4 m above ground, not a measurement, a façade level or a legal noise zone (T-1442); the official mapped bands are shown beside it for comparison. Road and rail levels are summed energetically per source; businesses and residential density are indicators that raise the index by at most 10 points and carry no dB. Rail vehicle mix is assumed; airports are indicators until a calibrated fit exists.
- best_estimate_lden_db and exposure_index use the mixture of the physics and an ML model trained on the official noise maps when the release has one (best_estimate says which); the ML part reproduces those maps, which are calculations, and lden_db and sources stay the physics alone.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- A screening indicator built from mapped hazard zones and projections, not an insurance price or a geotechnical assessment. The index is the worst component plus a bounded share of the others; a component whose source does not cover the address is reported as missing and left out, so the index is then a lower bound.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Estimate from area fire statistics, not a probability that this building will burn and not an insurance price; fitted on fire-service callouts per area, applied to the building's features (ecological inference).
- relative_risk is the modelled building-fire callout rate (DSB BRIS type 10026, Brann i bygning) for an area made of buildings like this one, divided by the national rate; risk_band is its quintile over Norway's buildings (1 lowest, 5 highest). area_expected_fires_per_1000_buildings_per_year is the model's rate for the address's postnummer. A building feature beyond the most extreme area in the training data is held at that area (clipped_features).
- Computed with the accepted fit named by artifact_sha256; validation carries the trainer's held-out figures (deviance against the national rate, calibration, rank correlation). An address without a row is not_found with reason not_yet_computed: unknown, not low risk.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Terrain-only line of sight from 4 m above ground; buildings and trees are not modelled unless the surface model includes them.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- An estimate, not a fire-risk assessment or an insurance rating: wildfire_exposure_index (0-100) multiplies how often the weather in the address's 1 km cell reaches MET's level 3 fire danger (FWI 17 or more; share of observed days, saturating at 15 %), the flammability-weighted share of AR50 land cover within 100 m (weight 0.6) and 500 m (0.4), and an isolation factor (1.5 with at most 3 buildings within 100 m, 1.2 with 4-10, 1.0 above). Flammability weights are assumptions (coniferous forest 1.0, mixed 0.8, deciduous 0.5, heath and open ground 0.4, wetland 0.2), not calibrated.
- MET publishes only about 32 days of FWI analyses, so the fire-weather history is accumulated from 6 Oct 2026 onwards: status fwi_history_partial means fewer than 365 days are observed and the share describes that period only (autumn-biased in the first months). Null is never zero: the index is null (status inputs_missing) when the cell has no FWI history or no AR50 land cover reaches the address.
- validation names the metric and reference dataset (NASA FIRMS satellite fire detections); its value is null until that reference is ingested. Building materials, distance to the fire service and fuel moisture on the day are not modelled.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- An estimate, not an air-quality or noise measurement: vessel-hours count distinct (ship, clock hour) pairs of AIS positions in 250 m cells whose centre lies within 500 m or 1 km of the address over the last 365 days, by AIS ship type (passenger 60-69, cargo 70-79, tanker 80-89, fishing 30, tug and service 31-32 and 50-59, other). AIS coverage depends on what has been collected from Kystdatahuset; small craft without AIS are not counted.
- berth_nox_index_kg is indicative, from stated assumptions because the ship register has no engine power: hours at berth of ships of at least 5 000 GT at the nearest port within 2 km x auxiliary power (0.10 kW per GT for passenger and cruise ships, 0.02 kW per GT for others) x 10 g NOx per kWh (order of magnitude for IMO Tier II auxiliary engines; IMO Fourth GHG Study 2020, EMEP/EEA Guidebook 2023). Shore power is not known and not deducted. cruise_calls_365d counts calls by passenger ships of at least 10 000 GT or a ship type naming cruise.
- Only addresses within 1 km of recorded AIS traffic have a record; no record means no vessel traffic was recorded within 1 km, which inland is the expected answer. validation compares AIS vessel-hours around each port with Kystverket's port-call register and is null until both are populated.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- ÅDT is Statens vegvesen's annual average daily traffic for a road stretch in the year adt_year (from counting or estimation, see basis and adt_counted), not live traffic. Discs are straight-line distance from the address point (_100m, _500m, _1000m; each disc includes the smaller ones) and say nothing about whether a road is reachable, audible or screened from the address.
- traffic_load_<r> is Σ(ÅDT × metres of the stretch inside the disc) / 1000 / disc area in km², in vehicle-km per km² per day. Each NVDB stretch counts once; separate carriageways and one-way streets are separate stretches carrying their own traffic. NVDB leaves ÅDT off many municipal and private roads, so the load is a lower bound: those roads are unknown, not zero. A disc with no ÅDT stretch has adt_segments 0 and null ÅDT figures (adt_status no_adt_road_in_ring); no_adt_data_within_20km means we hold no ÅDT stretch within 20 km of the address (NVDB has none there, or the area is not loaded), and every ÅDT figure is null.
- busiest_road_<r>.adt_applies_to is one_carriageway_of_divided_road when NVDB records the ÅDT for one carriageway only; the road's two-way traffic is then roughly the sum of both carriageways. heavy_vehicle_share_pct is NVDB's share of long vehicles (5.6 m and over). NVDB carries no street name for ÅDT stretches; road_number (EV18, FV24, KV1234) identifies the road.
- Sensor figures are never summed across sensors: sensors on one road count the same vehicles. sensor_combined_adt_<r> is the sum over distinct road numbers of the busiest sensor on each road (sensor_combination_method), with the roads listed in sensor_roads_<r>. Sensors are sparse, so sensor_count_<r> is mainly a data-quality indicator and a disc without sensors (sensor_status no_sensor_in_ring) is not measured, not free of traffic. busiest_sensor_<r>.vehicles_per_hour is the latest reading at updated_at, not a live congestion measure.
- Estimate, not a survey or a geotechnical assessment: velocities of radar reflectors (roofs, walls, ground) within the building footprint plus 20 m, as a trend over the InSAR measurement period (measurement_from to measurement_to), relative to NGU's local reference per processing tile. It does not say the building is damaged or will be.
- Method insar-building-v1. vertical_mm_per_year is the median per-point vertical velocity, negative = moving down. With geometry_mode asc_desc the ascending and descending tracks are combined into east and vertical velocity (north neglected); with los_only each point's line-of-sight velocity is divided by its upward component, which assumes purely vertical movement and is wrong where the ground moves sideways or down a slope. settlement_p90_mm_per_year is the 90th percentile of settlement (positive = going down). differential_mm_per_year_per_10m is the tilt of a robust (Tukey biweight) plane fitted to the points, per 10 m: uneven settlement, the part that cracks foundations.
- Fewer than 5 usable points (los_up at least 0.3, coherence at least 0.5) leaves every figure and the class null; points_used says how many were found. Roof and ground reflectors are mixed, so a roof that moves with temperature or a settling terrace can dominate a small sample. No record means the kommune's InSAR points are not loaded or the pipeline has not reached it; absence is not stability.
- subsidence_class: attention when settlement is at least 5 mm/yr, settlement_p90 at least 8 mm/yr or differential at least 1.0 mm/yr per 10 m; stable when settlement is under 2 mm/yr and differential under 0.5 mm/yr per 10 m (about the noise level of the product); slow otherwise. These are Approach screening thresholds, not a standard.
- Footprints: footprint_source names the outline used. 'osm' is an OpenStreetMap outline matched to the Matrikkel building number (ODbL, © OpenStreetMap contributors); 'address_point' means no outline was held and a 20 m disc around the address point was used. FKB building outlines are not used.
- Licence: NLOD 2.0 (Norwegian Licence for Open Government Data), stated by NGU on https://insar.ngu.no/. The service contains modified Copernicus Sentinel data. Attribution: Geological Survey of Norway (NGU), InSAR Norway, with NORCE, NVE and the Norwegian Space Agency.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
- Estimate, not a drilling plan, a ground investigation or a permit answer: depth to bedrock is interpolated from registered wells nearby, and indicative_drilling_m is a rule-of-thumb length. A driller sizes a real well from the heat need, a thermal response test and the rock actually met.
- Method heatpump-v1. depth_to_bedrock_m is the median of the up to 8 nearest GRANADA wells within 1 km that report depth to bedrock (boretLengdeTilBerg), with the 25th and 75th percentile as spread; null with fewer than 3 such wells (depth_wells_used). Soil depth can change over a few metres, so a wide spread means the local figure is uncertain.
- indicative_drilling_m = heated area x heat demand per m2 for the building's era (Approach round figures: 200 kWh before 1956, 180 for 1956-70, 160 for 1971-86, 140 for 1987-96, 125 for 1997-2006, 100 for 2007-16, 75 from 2017, space heating and hot water), scaled by the nearest MET station's heating degree days against the national median (bounded 0.6-1.8), divided by 3000 full-load hours, divided by 50 W of heat-pump power per metre of borehole (the rule of thumb quoted by Norsk Kjøleteknisk Forening, which itself warns that real dimensioning uses the energy need), plus the depth to bedrock that is cased and not active. Rounded to 10 m; indicative_wells splits lengths over 300 m. Null when the building year or heated area is not registered.
- drilling_constraints lists the constraints found at the address. constraints_checked gives every checked constraint as true, false or null (layer not loaded, or the kommune's quick-clay zones are not mapped); null is not clearance. constraints_not_checked names what is not checked at all: drinking-water protection zones (klausulerte nedslagsfelt) are not held in our data. Drilling an energy well needs a notice to the kommune and, in some zones, permission; ask the kommune.
- Licences: NGU GRANADA and NVE layers NLOD; Miljødirektoratet Grunnforurensning NLOD 2.0; Riksantikvaren data NLOD; Matrikkelen via Kartverket. Attribution: NGU, NVE, Miljødirektoratet, Riksantikvaren, Kartverket, MET Norway.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
- Estimate, not a measured or registered building height and not the storey count in Matrikkelen: the laser-scanned surface minus the terrain inside the footprint, from Kartverket's national elevation model, whose scan year varies by area. A building built, extended or demolished after the scan is not as it stands.
- Method dom-dtm-height-v1. The footprint is rasterised on the 1 m grid and eroded by one cell so walls and eaves mixing with ground do not count; at least 4 cells are needed. height_p95_m is near the ridge (a chimney or antenna does not move it), height_median_m the typical roof height. estimated_storeys = round(height_median_m / 3 m), at least 1: 3 m per storey is a common floor-to-floor allowance, and a pitched roof's median lies between eaves and ridge, so loft storeys count only under a high roof. Null when the median is under 2 m (no building in the surface model).
- matrikkel_storeys is the storey count registered in Matrikkelen, shown for comparison; null when not registered. footprint_source 'osm' is an OpenStreetMap outline matched to the Matrikkel building number (ODbL, © OpenStreetMap contributors); 'roof_blob' is the roof shape detected under the Matrikkel building point when no outline is held; 'address_point' means neither was found and every figure is null. FKB building outlines are not used.
- Licence: Kartverket høydedata CC BY 4.0, attribution Kartverket.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
- Estimate, not a measurement: the current on a line is not published and is unknown here. The field is computed for an ASSUMED load per voltage class (field_typical_ut for a typical annual mean, field_high_load_ut for a high load); the real field can be lower or higher, and only a measurement over time says what it is.
- Method emf-flat3-v1: each NVE overhead line within 300 m is modelled as a balanced three-phase line with its conductors side by side at a typical height and spacing for its voltage class, and the field 1 m above ground at the address point's horizontal distance is computed with Biot-Savart (inputs lists every assumed spacing, height and current). The largest single-line figure is served; fields of separate lines are not added because their phases are unknown.
- above_investigation_level_* compares the figure with 0.4 µT, the annual-mean level at which DSA asks for an investigation of measures when new homes, schools or kindergartens are planned near power lines. It is a planning trigger, not a health limit (the ICNIRP public reference level is 200 µT). A line of unknown voltage within 300 m leaves a false flag null.
- The NVE dataset holds the regional and central grid: local distribution lines (22 kV and below), cables in the ground, transformers and wiring inside buildings are not included, and they are often the larger source indoors. lines_within_300m 0 means no mapped line within 300 m: the flags are false for the mapped lines and the field is null, not zero.
- Licence: NVE Nettanlegg via Geonorge, NLOD. Attribution: NVE.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
- Estimate, not the fire service's own response plan or a guaranteed arrival time: free-flow driving on the road graph plus an assumed turnout time. Real response depends on which crew is available, weather, traffic, the 110 centre's handling and road conditions; the brannvesen's own risk and vulnerability analysis is the authority.
- Method fire-response-v1. Candidates are the 5 nearest DSB fire stations by straight line plus the nearest full-time (24h_kasernert) station; each is routed by car (OSRM, OpenStreetMap, no live traffic) and given a turnout time by station_manning: 1.5 min for 24h_kasernert, 5 min for ikke_kasernert (part-time on call, 4-6 min is the usual range), dagkasernert (crewed in the daytime only) and unknown. estimated_response_minutes is the fastest drive + turnout; drive_minutes and turnout_minutes are its parts. Stations further than 100 km are not considered: no candidate leaves the figures null.
- Requirement: brann- og redningsvesenforskriften § 22 (in force 1 March 2022, replacing dimensjoneringsforskriften § 4-8) says utrykningstid shall not exceed 20 minutes to fires in tettsteder and should not exceed 30 minutes outside them. settlement_type is tettsted when the address register names a tettsted (SSB urban settlement) for the address. The 10-minute requirement for dense buildings with rapid fire spread, hospitals, care homes and concentrated business areas cannot be read from our data: within_10_minutes is shown for information and requirement_minutes is never 10.
- Licences: DSB brannstasjoner (open data, DSB); routing on OpenStreetMap data, ODbL, © OpenStreetMap contributors.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
- Estimate, not a measurement and not an official classification: a screening composite of public map layers. Each component's own value and source is in components; read them rather than the single number, which weighs unlike things against each other.
- Method nuisance-v1. Every component has a 0-100 score (0 = nothing found, 100 = severe). noise: the loudest of the EU END Lden band (inside an END agglomeration with no band, below 55 dB, scored as 50 dB), the T-1442 zone (red 65 dB, yellow 55 dB) and the in-house road-noise model when it is available; 45 dB scores 0 and 75 dB 100; noise_basis names the source used. air_quality: NO2 and PM2.5 means over the last 365 days at the nearest station within 5 km with at least 30 days of readings, scored from the WHO 2021 guideline (10 and 5 µg/m³) to 40 and 15 µg/m³. radon: særlig høy 100, høy 75, moderat til lav 20, usikker null. contamination: a registered site within 50 m 100, within 100 m 50. power_line: an NVE overhead line 100 at 0 m to 0 at 300 m. ship: from the ship-exposure model when available.
- nuisance_index = sum(weight x score) / sum(weights of the components that have a score), weights noise 0.35, air_quality 0.20, radon 0.15, contamination 0.10, power_line 0.10, ship 0.10; null when fewer than 3 components have a score. weight_coverage is the share of the total weight that was available. A missing component is null and is left out, never counted as quiet or clean: outside END agglomerations and T-1442 zones most homes have no noise figure at all until the road-noise model covers them.
- Licences: Miljødirektoratet END maps, SVV/Bane NOR/Avinor T-1442 zones, NGU/DSA radon, Miljødirektoratet Grunnforurensning and NVE Nettanlegg under NLOD; air quality from MET Norway/NILU (NLOD 2.0 / CC BY 4.0).
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
- Estimate, not this address's own journey: one trip per grunnkrets (statistical tract), planned from the median point of its addresses, on the published timetable for one reference weekday. Walking from the door, delays, cancellations, school holidays and timetable changes after reference_departure are not in it.
- Method entur-0730-v1. Entur Journey Planner is asked for up to 3 trips departing 07:30 Europe/Oslo on a reference Tuesday (reference_departure); *_minutes is the earliest arrival minus 07:30, so the wait for the first departure is included. *_transfers counts changes between transit legs; *_walk_minutes is walking in that trip. *_status is ok, walk_only (walking is faster than any departure), no_trip_found or planner_error; the minutes are null unless ok or walk_only, never zero. Every mode Entur plans is allowed, ferries and flights included.
- Targets: kommune_centre is the median point of the addresses in the kommune's largest tettsted (the administrative centre is not in our data), or of all its addresses when it has none. The regional hub is the nearest by straight line of 20 main public-transport stops in large urban settlements (Oslo S, Bergen, Stavanger, Trondheim S, Drammen, Fredrikstad, Skien, Kristiansand, Tromsø Prostneset, Ålesund, Tønsberg, Moss, Haugesund, Sandefjord, Bodø, Arendal, Hamar, Larvik, Halden, Lillehammer), an Approach list of approximately the 20 largest SSB tettsteder; the nearest hub is not necessarily the one people commute to.
- Licence: Entur Journey Planner, NLOD 2.0. Attribution: Entur AS and the public transport operators.
- validation lists each figure the model is checked by, against the reference named in it. value null with status not_yet_computed means the check has not been run on the data yet; it is not a pass.
- Estimate, not Kartverket's storm-surge map (stormflo aktsomhetskart) and not a flood assessment of the plot: a modelled still-water margin from public height and sea-level data.
- freeboard_<T>y_<year>_m = ground height at the address point (Kartverket Høydedata, NN2000; ground_height_source says which terrain model answered, dtm1 where the 1 m model covers it) minus the still-water level of the T-year storm surge in that year. Negative means the water stands above the ground. Return levels today and land uplift come from Kartverket's tide API, sampled once per 2 km of coast (the API answers per tide zone, so neighbouring buildings share one answer). The 2100 level adds Kartverket's projected relative change between its 200-year polygons today and in 2100 at the nearest stretch of coast (relative_sea_level_change_2100_m; uplift is already in it, absolute_sea_level_rise_2100_m adds it back for transparency). 2050 interpolates that change linearly from 2020 (reference_year), which overstates an accelerating rise slightly, so 2050 errs low. The same change is applied to the 20- and 1000-year levels.
- Still water only: waves, wind set-up, river flow and rain are not included, and the address point is not the lowest door or the basement. first_reaching_scenario reads today, 2050, 2100 in turn and within each year the 20-, 200- and 1000-year event; null means none of the nine reaches the ground, or the inputs are missing (scenarios_evaluated says how many could be computed). A future scenario is null, not today's value, when the sea-level change is unknown.
- Only addresses within 500 m of Kartverket's largest storm-surge extent are scored; inland addresses have no row. in_storm_surge_200y_present_polygon and polygon_agrees are null outside Kartverket's model coverage. The validation block is agreement with Kartverket's own 200-year polygons over all scored addresses: both use terrain heights and similar levels, so it checks consistency, not truth on the ground.
- Licence: Kartverket tide API and Høydedata, CC BY 4.0; Stormflo og havnivå polygons, NLOD. Attribution: Kartverket. Model: Approach.
- Estimate, not the characteristic snow load of NS-EN 1991-1-3 / TEK and not a roof load: a modelled 50-year ground snow load from NVE's seNorge snow model for the 1 km cell that holds the address.
- Annual maximum of seNorge daily snow water equivalent per hydrological year (1 Sep-31 Aug) from 1957/58, Gumbel distribution fitted by the method of moments to the years with snow, with snow-free years as a point mass at zero; ground_snow_load_50y_kn_m2 = 50-year swe in mm x 0.00981 (1 mm of water weighs 9.81 N/m2). Fewer than 10 snowy years gives status too_few_snow_years and a null load. trend_30y_kn_m2_per_decade is the least-squares slope of the annual maximum over the last 30 complete years with its standard error; it describes the past, not a forecast.
- No height correction: seNorge models the cell at its mean altitude (cell_altitude_m), and snow load rises steeply with height. address_height_above_cell_m shows the gap; a building well above the cell mean can carry a much larger load than the cell value. Shape, exposure, thermal and drift factors of a real roof are not included.
- exceeds_era_design is null for every address: the design values of the building's era (NS 3491-3 / NS-EN 1991-1-3 national annex) are kommune tables in a standard that is not open data, so no comparison is made (era_design_comparison_status says so).
- Licence: NLOD (NVE GridTimeSeries, listed on api.nve.no). Attribution: NVE, seNorge. Model: Approach.
- 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.
- Estimate, not an energy certificate (energiattest): under energimerkeforskriften an energy label is a formal document issued for a specific unit, and this is not one. It must never be presented, sold or used as an energy label, for EU-taxonomy reporting or otherwise, without saying it is a statistical estimate. An issued certificate, where one exists, is in energy_certificates and always takes precedence.
- A LightGBM classifier with sigmoid-calibrated probabilities, trained on Enova's issued certificates joined to matrikkel facts of the same building: building year and the building code (TEK edition) in force that year, building type, areas, storeys and dwellings, matrikkel energy-source and heating codes, a GRANADA energy well within 50 m and NVE district-heating concession areas, with latitude and elevation as climate proxies (heating degree days are not yet used). estimated_label is the most probable label, confidence its probability, probabilities the full distribution over A-G; the address takes its largest dated building.
- The validation block is grouped cross-validation by kommune (each fold scores only kommuner the model did not see): within-one-class accuracy, with exact accuracy, log loss, calibration error and the majority-class baseline beside it. It is null with status not yet computed until the model has been trained on production certificates. Certificates are not a random sample of buildings (sales and new builds dominate), so accuracy on unlabelled buildings can be lower than measured.
- Sources: Enova energy certificates (NLOD), Kartverket Matrikkel (by agreement), NGU GRANADA (NLOD), NVE district-heating concessions (NLOD). Model: Approach.
| 2 fields · address · agreement |
| national_economy | Norwegian economy GDP, consumer prices, electricity price, housing price index, rent and exchange rates for Norway, per year, quarter or month. Caveats- Each source publishes on its own calendar. A source coarser than the granularity fills only its own periods; the rest are null, never interpolated.
- Current prices in NOK million; volume change is real growth on the previous year.
- Tenancies entered this year or last; older tenancies run lower.
- Collected from July 2026; earlier periods are empty, not zero.
| 18 fields · country · Norges-Bank-terms |
| neighbourhood_life | Neighbourhood life Everyday destinations by straight-line distance from open registers and OpenStreetMap; presence and position are as published, and OSM content is ODbL. Caveats- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- © OpenStreetMap contributors, ODbL 1.0. Community-mapped; presence, name and position are unverified and absence means unmapped, not absent. Licence limits: ODbL is share-alike. Showing these records needs the attribution "© OpenStreetMap contributors" beside them, and a database you build from them and pass on or publish must itself be offered under ODbL, so the records cannot be folded into a proprietary dataset or resold under different terms. NLOD and CC BY terms elsewhere in this API do not apply to them.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Registered schools by straight-line distance; catchment areas (skolekretser) are municipal decisions and are not implied by proximity.
- Active kindergartens from the national register by straight-line distance from the address point. Not walking distance, and proximity says nothing about whether a child would be admitted — catchment and admission are municipal decisions.
- child_count is the number of children registered at the kindergarten. It is a size signal and NOT a vacancy: a full kindergarten and one with places open report the same number, and the register publishes no availability. Kindergartens the register gives no coordinate for are absent from this list rather than placed approximately.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- © OpenStreetMap contributors, ODbL 1.0. Community-mapped; presence, name and position are unverified and absence means unmapped, not absent. Licence limits: ODbL is share-alike. Showing these records needs the attribution "© OpenStreetMap contributors" beside them, and a database you build from them and pass on or publish must itself be offered under ODbL, so the records cannot be folded into a proprietary dataset or resold under different terms. NLOD and CC BY terms elsewhere in this API do not apply to them.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- © OpenStreetMap contributors, ODbL 1.0. Community-mapped; presence, name and position are unverified and absence means unmapped, not absent. Licence limits: ODbL is share-alike. Showing these records needs the attribution "© OpenStreetMap contributors" beside them, and a database you build from them and pass on or publish must itself be offered under ODbL, so the records cannot be folded into a proprietary dataset or resold under different terms. NLOD and CC BY terms elsewhere in this API do not apply to them.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Departures observed in Entur's national real-time feed (SIRI-ET, every monitored journey) over the stated window (window_from to window_to), rolled up from platform to stop and aggregated per stop at refresh time. Only journeys an operator reports in real time are counted, so a stop served solely by unmonitored departures reads low or absent; not a complete timetable or a service guarantee.
- Limited to stops within 3 km: an address with no observed stop that close gets no record, not a stop from another town. transit_stops carries the full national stop register for positions. Straight-line UTM33 distance, not walking distance.
- Counts within straight-line bands over the POI layers listed in coverage; the score is a banded heuristic, and a zero count reflects our POI coverage as much as the neighbourhood.
- Licence: derived in part from OpenStreetMap (ODbL 1.0, share-alike). The score is a produced work and needs the attribution "© OpenStreetMap contributors" where it is shown; the per-address counts are database extracts, and passing them on in bulk can bring ODbL's share-alike terms with it. Approach has not cleared them for bulk redistribution under other terms, so treat the section as ODbL-encumbered. The other inputs are public registers under their own terms.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
| 2 fields · address · ODbL-1.0 |
| neighbourhood_population | Population per grunnkrets How many people live in each grunnkrets, by age band and gender, for a municipality, a postal code, a list of addresses or one address. Caveats- Grunnkrets were renumbered at the 2020 municipal mergers; about 3.5% of address grunnkrets had no population row in 2026.
- Neighbourhood population counts at the finest published SSB grain, not household facts. Grunnkrets boundaries were renumbered at the 2020 municipal mergers; year is the statistical reference year.
| 11 fields · grunnkrets · NLOD-2.0 |
| outdoor_recreation | Outdoor recreation Trails, recreation areas, nature protection and modelled sun and view around the address. Caveats- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Municipal mapping per Miljødirektoratet's M98 method; coverage and vintage vary by municipality.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Distance is measured to the area's outline and contains_address says whether the address falls inside it. The outline is generalised at source (geometry_tolerance_deg, in degrees — roughly a kilometre at Norwegian latitudes), so within that distance of a boundary neither the distance nor contains_address decides anything: this is an address-resolution answer, not a legal boundary determination. lat/lon are a point inside the area for labelling, never a distance origin.
- Only areas within 20 km are returned. An empty section means no protected area within that radius, not that the address is unrestricted.
- Inside Markagrensen the markaloven building prohibition applies; relevant only in the Oslo-region municipalities the law covers.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- SSB's 100 m belt classified as potentially accessible; contains_address true implies the plan- og bygningsloven §1-8 building prohibition zone applies.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Estimate, not measured sunshine: clear-sky geometric hours above the terrain and surface horizon at the address point; vegetation and future buildings are as captured in the surface model, and weather is not modelled.
- Sensitive to where the point stands: the observer is 1.6 m above the surface model at the address point, which can be a roof, and a 10° sector is decided by single 4 m cells. Moving the point 2.2 m changed the 21 June hours by 2.4 h on average over 30 addresses (6 Oct 2026); read the figure as the character of the plot, not to the hour.
- Computed nightly in rotation through the kommuner (method horizon-36az-noaa-v2 from 6 Oct 2026; a national pass takes about four nights). An address without a row is not_found with reason not_yet_computed: unknown, not no sun. method horizon-36az-noaa-v1 rows are older per-address windows and are rescored in turn.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Terrain-only line of sight from 4 m above ground; buildings and trees are not modelled unless the surface model includes them.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
| 2 fields · address · NLOD-2.0 |
| planning_restrictions | Planning restrictions Plans, heritage protection, servitude-like constraints and change signals around the address. Constraints are indications to verify with the authority, never a legal opinion. Caveats- Point-in-polygon lookup against ingested plan geometries (currently Oslo), with a live lookup in DiBK's national plan base (NAP) at the point everywhere else. No match never means the address is unregulated: a kommune that has not published to NAP answers nothing. Verify the legally binding plan and provisions via plan_register_url/provisions_url.
- Overlapping plans, including kommunedelplaner and different vertical levels, can all apply to the same point; plan_status can be empty in the source register.
- Arealformål and utnyttelse features whose geometry covers the address point, from the municipal plan registers we have loaded (currently Oslo PBE); no feature means not loaded for this municipality, not unregulated. See zoning_plan for the plan itself.
- Cases from ingested municipal archives only (currently Oslo and Bergen), a fraction of national case volume; absence of cases proves nothing. Matching is on cadastral gnr/bnr; feste and section numbers are not matched.
- No applicant, tiltakshaver, ansvarlig søker or other person is served, and no case title or free-text address: case_type (the procedural step) and measure_type (what is built or changed) are a fixed vocabulary read from the title, the same as building_cases_nearby, and can be wrong or other. Status and type reflect the municipal portal at import time; verify the current case via source_url.
- SEFRAK is a register of pre-1900 buildings, not a protection decision; a listed neighbour does not make this address protected. Verify status with the municipality or Askeladden.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Askeladden localities carry legal protection (kulturminneloven) when vernestatus says so; contains_address true means the address point lies inside a locality polygon and any ground work may require permission.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- A sikringssone is an automatic 5 m protection belt around an automatically protected monument; ground work inside it needs permission.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Inside a reinbeitedistrikt the reindriftsloven consultation duty applies to development. Only the districts the address point lies in are returned; an address outside every district is not_found, and a nearby district is not substituted.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- NVDB objects imported by object type; distance is straight-line metres from the address point to the object's geometry (a line or area is met where it passes closest). Coverage is the object types and areas the pipeline has fetched.
- Byggegrense mot veg under vegloven §29 applies along public roads; a nearby line is a planning constraint to verify with the road authority, not a measurement of this plot.
- Derived composite; each signal links back to a public case or plan. Direction is a heuristic (positive/negative/mixed) and not a valuation.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Grid companies' announced investment plans (kraftsystemutredning), located by their reported point; announced is not licensed, and licensed is not built. Scope and timing change.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- Identifies the grid company whose tariffs apply; the tariff itself is not included.
- The source polygons are generalised land outlines, so a coastal or island address can lie just outside every polygon. The nearest area is returned so such an address still gets its zone; contains_address false means the point was not strictly inside it.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- The grid company is found by organisation number: NVE's concession polygon at the address names the holder (concession_holder_org_number), and Elhub's register names the grid owner with that number (grid_company_*). Nothing is matched on names. elhub_match says why a step stopped: no_unambiguous_concession_polygon (the address lies outside NVE's generalised polygons and the nearest one is either over 2 km away or not clearly nearer than another holder's), or concession_holder_not_an_active_elhub_grid_owner (NVE's layer still names a company since merged into another; the successor is not inferred).
- concession_match is inside_concession_polygon, or nearest_concession_polygon with concession_distance_m when NVE's coastline generalisation left the address just outside every polygon; the nearest is used only within 2 km and when no other holder's polygon lies within 1 km beyond it.
- A grid company can operate several grid areas (nettområder). grid_area_id is set only when the company has one active grid area, or exactly one of them lies in the price zone of NVE's elspot polygon at the address (nve_price_zone); otherwise grid_area_resolution is ambiguous and candidate_grid_areas lists the company's active areas. price_area follows the grid area, or the company when all its areas share one price area, or NVE's elspot zone at the address when the company has a grid area in that zone (price_area_resolution says which); otherwise it is null. The tariff (nettleie) is not included.
- Grid areas and grid owners: Elhub energy data (Elhub AS), Norsk lisens for offentlige data (NLOD). Concession polygons and price zones: NVE, NLOD.
- The source polygons are generalised land outlines, so a coastal or island address can lie just outside every polygon. The nearest area is returned so such an address still gets its zone; contains_address false means the point was not strictly inside it.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
- contains_address true means the address point lies inside a belt that Statnett has secured by licence and expropriation under the Energy Act: no new building is allowed inside it, and ground work needs clearance from Statnett beforehand. It is a screening answer to verify with Statnett and the kommune, not a legal opinion; the parcel may be affected even when the address point is outside.
- Only Statnett's transmission grid is covered. Regional and local distribution lines have their own clearance belts, which are not in this dataset; a missing zone is not proof that no line restriction applies.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
| 2 fields · address · NLOD-2.0 |
| regional_economy | Regional economy Population, employment, commuting, income, municipal finances, property tax and fees per municipality and year, for one municipality, a county or the whole country. Caveats- A municipality's history is stitched across pure renames (Bærum 0219 → 3024 → 3201). Across a merger the history before the merger is left empty rather than summed: a median cannot be added up.
- A county subject reads today's county codes.
- net_commuting is jobs located here minus employed residents: positive means people commute in.
- Median household income for the municipality, in NOK; not the income of any resident.
- Percentages of the municipality's gross operating income, as KOSTRA defines them.
- Annual fees for a standard dwelling as reported to SSB; the fee a given household pays depends on its usage and plot.
| 22 fields · municipality · CC-BY-4.0 |