Zoning plans within 500 m and 1 km of the address
nearby_zoning_plans13 fields13 of these fields open in the demo
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.
| Field | Type | Role | Demo |
|---|---|---|---|
| municipality_code | string | null | context | open |
| plans_within_500m | integer | null | value | open |
| in_progress_within_500m | integer | null | value | open |
| adopted_within_500m | integer | null | value | open |
| other_within_500m | integer | null | value | open |
| plans_within_1km | integer | null | value | open |
| in_progress_within_1km | integer | null | value | open |
| adopted_within_1km | integer | null | value | open |
| other_within_1km | integer | null | value | open |
| plans_covering_address | integer | null | value | open |
| plans | array<object> | null | value | open |
| plans_listed | integer | null | context | open |
| updated_at | string | null | context | open |
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.