Skip to content

← API reference

Zoning plans within 500 m and 1 km of the address

nearby_zoning_plans13 fields13 of these fields open in the demo
Source
Municipal plan registers ingested by Approach (currently Oslo kommune, Plan- og bygningsetaten planregister)
Geography
Around the address
Reported stale after
90 days
Access
Requires an API key granted this section
Contract version
1

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.

  • Only kommuner whose plan register is ingested are answered (GET /coverage, source regulation_plans; on 30 Sep 2026 Oslo alone). Anywhere else the section answers not_found with reason not_covered: we hold no plans there, which is not the same as there being none. Plans across a kommune border are counted only where that kommune is ingested too.
  • Distance is straight-line from the address point to the plan's exact land-use polygons (distance_basis exact_plan_features), or to the plan outline where the register publishes no polygons (plan_outline); 0 means the plan covers the address. Oslo's register publishes no lifecycle status, so its plans are adopted when they carry an ikrafttredelse or vedtak date and unknown otherwise; in_progress (NAP planstatus 1 Planlegging igangsatt, 2 Planforslag) appears only where a register publishes it, and plans in hearing that the kommune has not yet registered are not seen. The list is in-progress first, then nearest, at most 100 plans; the counts cover every plan. Verify the plan and its provisions via plan_register_url / provisions_url.

Fields

10 of 13 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
municipality_codestring | nullcontextopen
plans_within_500minteger | nullvalueopen
in_progress_within_500minteger | nullvalueopen
adopted_within_500minteger | nullvalueopen
other_within_500minteger | nullvalueopen
plans_within_1kminteger | nullvalueopen
in_progress_within_1kminteger | nullvalueopen
adopted_within_1kminteger | nullvalueopen
other_within_1kminteger | nullvalueopen
plans_covering_addressinteger | nullvalueopen
plansarray<object> | nullvalueopen
plans_listedinteger | nullcontextopen
updated_atstring | nullcontextopen

Fetch this section

curl -H "X-API-Key: $APPROACH_API_KEY" \
  "https://api.approach.no/api/v1/addresses/285717643?include=nearby_zoning_plans"

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