Skip to content

DOCUMENTATION · SUBSETS

Full answer or a subset

Addresses, companies, regions and Swedish locations answer with sections, and you choose how many. The same three parameters work in all of them: sections, package and meta.

Contents

In short

  • A subset fetches fewer sources and answers faster. It still costs the same single lookup per subject per day as a full profile.
  • Sections the key may not read, or that cannot be served right now, come back with a status (restricted, unavailable). They are not omitted.
  • There is no field-level selection. You choose sections, not single fields.

Three ways to ask

You wantSendYou get
Specific sectionssections=a,bExactly these, in the order you give. An unknown section is 400 unknown_section, a repeated one 400 repeated_section. Addresses accept include= as an alias, but never both at once.
A ready-made setpackage=<id>A package from /catalog. A package is a preset of sections, not an entitlement: the key’s grants apply after the package is expanded. It cannot be combined with sections (400 package_cannot_be_combined_with_include_or_section).
Everythingpackage=allEvery section the key can read. That is a lot of data; use it when you need the whole profile.

The default: core

If you send neither sections nor package you get the family’s default package, core, and an X-Sections-Hint header saying which package applied and how to choose differently. For every section, send package=all.

Regions (0.4.0) and Sweden (1.1.0) used to answer with every section when you chose none. Send package=all for the old answer. See the changelog.

meta

meta=compact keeps what identifies the contract each section was served under and leaves out the repeated field description (it is in /catalog). meta=full repeats the whole source descriptor in every section. Addresses answer compact when you do not choose; regions and Sweden answer full.

What it costs

A profile counts as one lookup per subject (address, company, region or point) per day, whether you ask for the whole profile or two sections. Repeat calls for the same subject the same day do not count again. A subset saves time and bandwidth, not allowance.

What cannot be delivered

Every section has its own status: available, not_found, restricted or unavailable. A section you may not read arrives as restricted with error section_not_granted, and a failing source arrives as unavailable. partial and failed_sections in the response point out which to retry. Nothing silently disappears from the response.

For GET /api/v1/addresses/{id}, fields=address_details.address_type selects fields in records. List multiple section.field pairs from /catalog separated by commas. This affects section records, not the address object at the top of the response. Sections not named in fields retain their fields; use sections to limit which sections you request. Data access and the key’s field restrictions still apply — fields grants no new rights.

On the same address route, format=summary returns status, freshness and record_count per section without records. It cannot be combined with fields. Neither option changes lookup counting. Check the relevant API’s OpenAPI before using these options in other API families.

Examples per API

The key is read from the APPROACH_API_KEY environment variable. The MCP call is the arguments to the tool in the MCP server.

Addresses (reference)

curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/addresses/285717643?sections=address_details,buildings"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/addresses/285717643?package=home_profile"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/addresses/285717643?package=all"
{"name":"datakilde_address","arguments":{"address_id":"285717643","sections":["address_details","buildings"]}}

Companies (reference)

curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/companies/923609016?sections=identity,distress"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/companies/923609016?package=identity"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/companies/923609016?package=all"
{"name":"datakilde_company","arguments":{"org_number":"923609016","sections":["identity","distress"]}}

Regions (reference)

curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/regions/0301?sections=identity,employment"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/regions/0301?package=labour_market"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/regions/0301?package=all"
{"name":"datakilde_region","arguments":{"id":"0301","sections":["identity","employment"]}}

Sweden (reference)

curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/sweden/locations/locations/58.94,11.17?sections=river_flood,coastal_flood"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/sweden/locations/locations/58.94,11.17?package=flood"
curl -H "X-API-Key: $APPROACH_API_KEY" "https://api.approach.no/api/v1/sweden/locations/locations/58.94,11.17?package=all"
{"name":"datakilde_sweden_location","arguments":{"id":"58.94,11.17","sections":["river_flood","coastal_flood"]}}

Packages per API

The tables are taken from each API’s /catalog and cannot drift from it. The default package is marked.

Addresses

packageSections
core (default)address_details, buildings, dwelling_units, building_source_status, hazard_zones, zoning_plan

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.

home_profileaddress_details, buildings, dwelling_units, building_source_status

Address identity and cached housing facts. Building coverage and recipient permission must be checked; a package does not establish source completeness or grant rights.

prevention_contextweather, weather_forecast, nearby_fire_stations, nearby_police_stations, crime, fire_missions_postal_code, fire_and_rescue, fire_statistics, hazard_warnings, insurance_claims

Observations, forecasts, active hazard warnings, fire-service callout statistics, known emergency-service premises and municipal crime context. Car travel is not response time; area statistics are not a household risk score.

area_contextpopulation, income, nearest_traffic_sensors, commuting, migration, municipal_water_network, household_energy_baseline, construction_cost_index

Optional municipal statistics and nearby traffic sensors. This is area context, not household characteristics or a live congestion service.

hazard_screenhazard_exposure, fire_and_burglary_indicators, fire_risk, climate, rivers, hazard_zones, landslide_hazard_zones_detailed, snow_avalanche_susceptibility, rockslide_tsunami_zones, storm_surge_zones_current, storm_surge_zones_2100, landslide_events, flood_protection_works, dams, radon, marine_clay_possibility, ground_integrity, lightning_activity, hazard_warnings

Mapped natural-hazard zones, events and screening scores around the address. Mapped means prioritised areas only; an empty section is unmapped, not safe, and nothing here replaces a site assessment.

environment_nuisancenoise_model, road_noise_zones, traffic_exposure, rail_noise_zones, airport_noise_zones, shooting_ranges, power_lines, transformer_stations, planned_power_lines, contaminated_sites, wells, vessel_traffic, shipping_lanes

Noise, grid and pollution context from strategic mapping and registers; zone membership and proximity, not measurements at the façade.

neighbourhood_lifelocal_amenities, public_services, health_services, schools, kindergartens, education_institutions, churches, places_of_worship, community_organisations, leisure_facilities, micromobility_stations, rail_stations, public_transport, walk_score, vinmonopolet_stores

Everyday destinations by straight-line distance from open registers and OpenStreetMap; presence and position are as published, and OSM content is ODbL.

outdoor_recreationhiking_trails, ski_trails, cycling_trails, snowmobile_trails, recreation_areas, state_secured_recreation_areas, protected_nature_areas, marka_boundary, shore_zone, sea_speed_limits, sun_hours, viewshed

Trails, recreation areas, nature protection and modelled sun and view around the address.

planning_restrictionszoning_plan, zoning_plan_features, building_applications, sefrak_buildings, heritage_sites, heritage_monuments, heritage_protection_zones, cultural_environments, reindeer_husbandry_districts, road_building_limits, change_signals, planned_grid_investments, grid_concession_area, grid_company, power_price_zone, power_line_no_build_zone

Plans, heritage protection, servitude-like constraints and change signals around the address. Constraints are indications to verify with the authority, never a legal opinion.

civil_protectionnearby_fire_stations, nearby_police_stations, emergency_health_services, defibrillators, fire_hydrants, public_shelters, emergency_dispatch_centres, emergency_dispatch_districts, civil_defence_districts, emergency_harbours, fire_statistics

Emergency-service premises, shelters and dispatch geography. Straight-line proximity is not response time.

local_economycompanies_near_address, business_neighbourhood, household_profile, companies_in_postal_code, bankruptcies_in_postal_code, housing_cooperative_accounts, income, employment, election_results

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.

modelsdwelling_valuation, noise_model, fire_risk, ground_subsidence, heat_pump_feasibility, snow_load, energy_label_estimate

The estimates Datakilde fits to observations itself: statistical and machine-learning models, such as the likely energy label, the building-fire rate, settlement under the building, snow load and depth to bedrock, plus calibrated noise. Each record carries method, method_version, inputs and validation; an estimate is never the official figure it approximates. Physics, geometry and indices are in the calculations package. Same grants and lookup count as any section.

calculationsfire_and_burglary_indicators, terrain, walk_score, ground_integrity, hazard_exposure, viewshed, traffic_exposure, building_height, power_line_field, fire_response_time, nuisance_index, commute_time, storm_surge_freeboard, solar_potential

What Datakilde computes from documented formulas rather than fits: physics, geometry and indices, such as storm-surge freeboard, solar potential, building height, fire-service response time, the hazard and nuisance indices and walkability. Not machine learning, and an index is not a probability. Each record carries method and inputs; experimental sections are left out until they answer. Same grants and lookup count as any section.

Companies

packageSections
core (default)identity, distress

The small default: what the company is and whether it is alive (identity and distress; in the profile the groups identity, registration_status and industry_and_size, read from those two sections alone, so without registration_status's changes, aquaculture and electrical lists). What a call with neither sections nor package returns, with X-Sections-Hint. package=all returns everything. A package does not grant access.

identityidentity

The sections behind the identity group of the profile (GET /:id/profile?package=identity). A package does not grant access.

registration_statusidentity, distress, history, aquaculture, electrician_registration

The sections behind the registration_status group of the profile (GET /:id/profile?package=registration_status). A package does not grant access.

industry_and_sizeidentity

The sections behind the industry_and_size group of the profile (GET /:id/profile?package=industry_and_size). A package does not grant access.

addresses_and_locationsidentity, locations

The sections behind the addresses_and_locations group of the profile (GET /:id/profile?package=addresses_and_locations). A package does not grant access.

roles_summaryroles

The sections behind the roles_summary group of the profile (GET /:id/profile?package=roles_summary). A package does not grant access.

ownershipownership

The sections behind the ownership group of the profile (GET /:id/profile?package=ownership). A package does not grant access.

financialsaccounts

The sections behind the financials group of the profile (GET /:id/profile?package=financials). A package does not grant access.

distressdistress, default_events

The sections behind the distress group of the profile (GET /:id/profile?package=distress). A package does not grant access.

eventsevents

The sections behind the events group of the profile (GET /:id/profile?package=events). A package does not grant access.

procurementtenders_issued, tenders_won

The sections behind the procurement group of the profile (GET /:id/profile?package=procurement). A package does not grant access.

newsnews, industry_news

The sections behind the news group of the profile (GET /:id/profile?package=news). A package does not grant access.

related_entitiesidentity, rd_projects

The sections behind the related_entities group of the profile (GET /:id/profile?package=related_entities). A package does not grant access.

allidentity, accounts, ownership, group_structure, roles, distress, aquaculture, electrician_registration, central_approval, events, default_events, tenders_issued, tenders_won, history, locations, rd_projects, news, industry_news, financial_signals

Every section, or in the profile every group. Not the default: that is core.

Regions

packageSections
core (default)identity, employment, population, income

The default: which region this code is and was, people working and living here, the age profile and household income. Cheap to read; ask for more with sections or another package, or package=all for every section.

labour_marketidentity, employment, industry, vacancies

Jobs: workplace against residence, which industries employ people, and what employers advertise now. Kommune only for industry and vacancies.

hazard_exposureidentity, storm_surge_municipal_exposure

Buildings, roads and land below storm-surge levels today and with sea-level rise. Kommune only.

Sweden

packageSections
core (default)river_flood, coastal_flood, cloudburst_mapping, weather_warnings, protected_nature

The default: flood mapping at the point (river, coast, cloudburst), SMHI warnings in force and protected nature. Ask for more with sections or another package, or package=all for every section.

floodriver_flood, coastal_flood, cloudburst_mapping

MCF flood mapping at the point: rivers and lakes, raised sea levels and municipal cloudburst mapping.

area_contextmunicipal_indicators, police_events, weather, wells

Kolada municipal figures, Polisen events, nearest SMHI observations and SGU wells within 500 m.