Mapped bedrock unit at the address point
The mapped bedrock unit at the address point from NGU's 1:50 000 bedrock map: main rock type, the sheet's legend text, the named unit and geological age where NGU sets it. Surface lithology only, not depth to rock or ground conditions. No match means not mapped at N50, not no bedrock.
Status right now
Measured 12 Nov 2026. This is about the section as a whole, not one address: an address outside coverage still gets “not covered”, never “no”.
Available with: trial key (open fields) · bundle or agreed plan, subject to field policy and source grants · Pricing
Source terms and reuse
These are declarations from the catalogue contract, not a new rights approval. Customer access, source agreements and privacy need separate assessment. A licence label does not establish coverage or reviewed content.
- Declared licence or terms
- Norsk lisens for offentlige data 2.0
- Declared redistribution
- Allowed with attribution
- Catalogue basis
- Stated in catalogue evidence
Attribution and note
Shown from the contract in its original language.
Inneholder data under norsk lisens for offentlige data (NLOD) tilgjengeliggjort av NGU Berggrunn N50 (bedrock, 1:50 000)
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.
- Mapped surface lithology from NGU's 1:50 000 bedrock map, not a site investigation: it says nothing about depth to rock, rock quality, weathering, fractures, excavation or bearing capacity, and the rock may lie under metres of superficial deposits (see ground_conditions). NGU states 50 m positional accuracy, so near a unit boundary the neighbouring unit may be the one under the building. An address with no record lies outside every loaded N50 polygon: not mapped at this scale, never 'no bedrock'.
- rock_type is NGU's main rock type (hovedbergart) decoded with the code list NGU ships in the dataset; secondary_rock_types are the accessory rock types (tilleggsbergart) the polygon names, and a code NGU's list does not decode is left out. unit_description is the map sheet's own legend text (tegnforklaring): N50 has no national legend, so the same rock can be worded differently on two sheets. unit_name is the most specific named unit set on the polygon and unit_rank says which kind (member, formation, lithodeme, suite, complex, group, supergroup, nappe, slice). formation_age, formation_age_min and formation_age_max are NGU's geological age (dannelsesalder) and are null wherever NGU has not set them, which is common.
- Licence: NLOD 1.0 (Norsk lisens for offentlige data), NGU. Attribution is required wherever these data are used: 'Inneholder data under Norsk lisens for offentlige data (NLOD) tilgjengeliggjort av Norges geologiske undersøkelse (NGU)'. The attribution field carries this text on every record. source_extract_date is NGU's extract date (datauttaksdato) of the national file that was loaded, not the date the area was mapped; source_update_date is NGU's own update date on the polygon where it is set.
Provider-contract fields
5 of 20 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” also occur in the demo projection, which may have different field definitions. Other fields require the appropriate field policy and source access, not just a key.
| Field | Type | Role | Demo |
|---|---|---|---|
| rock_type | string | null | value | open |
| rock_type_code | integer | null | context | open |
| secondary_rock_types | array<string> | null | value | open |
| unit_description | string | null | value | open |
| unit_description_en | string | null | context | — |
| unit_name | string | null | value | open |
| unit_rank | string | null | context | open |
| formation_age | string | null | value | open |
| formation_age_min | string | null (min) | context | — |
| formation_age_max | string | null | context | — |
| tectonic_division | string | null | context | — |
| tectonic_unit | string | null | context | — |
| nappe_complex | string | null | context | — |
| metamorphic_facies | string | null | context | — |
| map_sheet | string | null | context | open |
| map_scale_denominator | integer | null | context | — |
| source_extract_date | date | null | context | — |
| source_update_date | date | null | context | — |
| mapped_polygon_area_m2 | number | null (m2) | context | — |
| attribution | string | null | context | open |
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 --disable --fail-with-body --silent --show-error --connect-timeout 10 --max-time 30 \
-H "X-API-Key: ${APPROACH_API_KEY:?APPROACH_API_KEY is not set}" \
'https://api.approach.no/api/v1/addresses/285717643?include=bedrock'
# paginated, one section at a time
curl --disable --fail-with-body --silent --show-error --connect-timeout 10 --max-time 30 \
-H "X-API-Key: ${APPROACH_API_KEY:?APPROACH_API_KEY is not set}" \
'https://api.approach.no/api/v1/addresses/285717643/sections/bedrock?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.