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 want | Send | You get |
|---|---|---|
| Specific sections | sections=a,b | Exactly 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 set | package=<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). |
| Everything | package=all | Every 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
| package | Sections |
|---|---|
| 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_profile | address_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_context | weather, 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_context | population, 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_screen | hazard_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_nuisance | noise_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_life | local_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_recreation | hiking_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_restrictions | zoning_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_protection | nearby_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_economy | companies_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. |
| models | dwelling_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. |
| calculations | fire_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
| package | Sections |
|---|---|
| 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. |
| identity | identity The sections behind the identity group of the profile (GET /:id/profile?package=identity). A package does not grant access. |
| registration_status | identity, 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_size | identity 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_locations | identity, 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_summary | roles The sections behind the roles_summary group of the profile (GET /:id/profile?package=roles_summary). A package does not grant access. |
| ownership | ownership The sections behind the ownership group of the profile (GET /:id/profile?package=ownership). A package does not grant access. |
| financials | accounts The sections behind the financials group of the profile (GET /:id/profile?package=financials). A package does not grant access. |
| distress | distress, default_events The sections behind the distress group of the profile (GET /:id/profile?package=distress). A package does not grant access. |
| events | events The sections behind the events group of the profile (GET /:id/profile?package=events). A package does not grant access. |
| procurement | tenders_issued, tenders_won The sections behind the procurement group of the profile (GET /:id/profile?package=procurement). A package does not grant access. |
| news | news, industry_news The sections behind the news group of the profile (GET /:id/profile?package=news). A package does not grant access. |
| related_entities | identity, rd_projects The sections behind the related_entities group of the profile (GET /:id/profile?package=related_entities). A package does not grant access. |
| all | identity, 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
| package | Sections |
|---|---|
| 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_market | identity, employment, industry, vacancies Jobs: workplace against residence, which industries employ people, and what employers advertise now. Kommune only for industry and vacancies. |
| hazard_exposure | identity, storm_surge_municipal_exposure Buildings, roads and land below storm-surge levels today and with sea-level rise. Kommune only. |
Sweden
| package | Sections |
|---|---|
| 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. |
| flood | river_flood, coastal_flood, cloudburst_mapping MCF flood mapping at the point: rivers and lakes, raised sea levels and municipal cloudburst mapping. |
| area_context | municipal_indicators, police_events, weather, wells Kolada municipal figures, Polisen events, nearest SMHI observations and SGU wells within 500 m. |