Skip to content

← All sections

Nearby services and distance methods

proximity50 fields50 of these fields open in the demo
Source
Approach POI enrichment
Geography
The address point
Reported stale after
30 days
Access
Requires an API key granted this section
Contract version
1

Available with: trial key (open fields) · bought bundle or agreed plan (all fields) · Pricing

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.

  • Deprecated: kept for existing integrations and not maintained as a product. Most of its rows come from one national run in March-April 2026; the nightly refresh rewrites about 10 000 of 2.6 million addresses a night, so most figures are months old and enriched_at must be read per address. Use the sections that are answered live from current registers instead: nearby_fire_stations, nearby_police_stations, emergency_health_services (hospitals and emergency care), schools, kindergartens and local_amenities. Each carries the straight-line distance and, where a route can be measured, the driving distance and time from the routing service (driving_route), with the method named. Its other columns are read by roads, environment and the insurance indicators, which are not deprecated.
  • Absent method metadata means unverified, and it is absent for almost all of this table: 2 599 001 of 2 599 002 rows carry an empty distance_provenance, so for practically every address the method, routing status and calculation time behind these figures are unrecorded. Treat a duration without provenance as an estimate of unknown origin.
  • Driving time is not emergency response time — no dispatch, turnout or crew availability is modelled, and the routing graph is a periodic OpenStreetMap extract rather than live road status. Routing compares five straight-line candidates and takes the shortest, so a nearer station reached by a longer road may be missed.
  • A zero-second or zero-metre result is a failed map match, not an address next door to a fire station, and is returned as null rather than as a measurement. That removed 260 fire, 440 police and 187 hospital durations and 857 distances at the time of writing; the underlying rows are unchanged and still say zero.

Fields

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

FieldTypeRoleDemo
nearest_fire_station_idinteger | nullcontextopen
nearest_fire_station_namestring | nullvalueopen
fire_station_distance_mnumber | null (m)valueopen
fire_station_duration_snumber | null (s)valueopen
nearest_fire_station_kmnumber | null (km)valueopen
nearest_fire_station_minnumber | null (min)valueopen
fire_station_distance_methodstring | nullcontextopen
fire_station_straight_line_mnumber | null (m)valueopen
nearest_police_station_idinteger | nullcontextopen
nearest_police_station_namestring | nullvalueopen
police_station_distance_mnumber | null (m)valueopen
police_station_duration_snumber | null (s)valueopen
nearest_police_station_kmnumber | null (km)valueopen
nearest_police_station_minnumber | null (min)valueopen
police_station_distance_methodstring | nullcontextopen
police_station_straight_line_mnumber | null (m)valueopen
nearest_hospital_idinteger | nullcontextopen
nearest_hospital_namestring | nullvalueopen
hospital_distance_mnumber | null (m)valueopen
hospital_duration_snumber | null (s)valueopen
nearest_hospital_kmnumber | null (km)valueopen
nearest_hospital_minnumber | null (min)valueopen
hospital_distance_methodstring | nullcontextopen
hospital_straight_line_mnumber | null (m)valueopen
nearest_shopping_mall_idinteger | nullcontextopen
nearest_shopping_mall_namestring | nullvalueopen
shopping_mall_distance_mnumber | null (m)valueopen
shopping_mall_duration_snumber | null (s)valueopen
shopping_mall_distance_methodstring | nullcontextopen
shopping_mall_straight_line_mnumber | null (m)valueopen
nearest_barnehage_idstring | nullcontextopen
nearest_barnehage_namestring | nullvalueopen
barnehage_distance_mnumber | null (m)valueopen
barnehage_duration_snumber | null (s)valueopen
barnehage_distance_methodstring | nullcontextopen
barnehage_straight_line_mnumber | null (m)valueopen
nearest_lekeplass_idstring | nullcontextopen
nearest_lekeplass_namestring | nullvalueopen
lekeplass_distance_mnumber | null (m)valueopen
lekeplass_duration_snumber | null (s)valueopen
lekeplass_distance_methodstring | nullcontextopen
nearest_udir_school_idstring | nullcontextopen
nearest_udir_school_namestring | nullvalueopen
udir_school_distance_mnumber | null (m)valueopen
udir_school_duration_snumber | null (s)valueopen
udir_school_distance_methodstring | nullcontextopen
udir_school_straight_line_mnumber | null (m)valueopen
distance_provenanceobject | nullcontextopen
enriched_atstring | nullcontextopen
computed_atstring | nullcontextopen

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 --fail-with-body --silent --show-error \
  -H "X-API-Key: $APPROACH_API_KEY" \
  'https://api.approach.no/api/v1/addresses/285717643?include=proximity'

# paginated, one section at a time
curl --fail-with-body --silent --show-error \
  -H "X-API-Key: $APPROACH_API_KEY" \
  'https://api.approach.no/api/v1/addresses/285717643/sections/proximity?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.