Walkability (15-minute city) score
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.
- Counts within straight-line bands over the POI layers listed in coverage; the score is a banded heuristic, and a zero count reflects our POI coverage as much as the neighbourhood.
- Licence: derived in part from OpenStreetMap (ODbL 1.0, share-alike). The score is a produced work and needs the attribution "© OpenStreetMap contributors" where it is shown; the per-address counts are database extracts, and passing them on in bulk can bring ODbL's share-alike terms with it. Approach has not cleared them for bulk redistribution under other terms, so treat the section as ODbL-encumbered. The other inputs are public registers under their own terms.
- Straight-line EPSG:25833 distances from the address point to the feature; not travel distance. Source features are imported as published, with their own accuracy and update cadence; updated_at is our import time.
Fields
1 of 17 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 |
|---|---|---|---|
| feature_id | string | null | context | open |
| label | string | null | context | open |
| municipality_code | string | null | context | open |
| updated_at | string | null | context | open |
| score | integer | null | value | open |
| method | string | null | context | open |
| grocery_within_500m | integer | null | context | open |
| transit_stops_within_500m | integer | null | context | open |
| playgrounds_within_500m | integer | null | context | open |
| schools_within_1000m | integer | null | context | open |
| kindergartens_within_1000m | integer | null | context | open |
| cafes_within_1000m | integer | null | context | open |
| pharmacies_within_1000m | integer | null | context | open |
| libraries_within_1500m | integer | null | context | open |
| sports_within_1500m | integer | null | context | open |
| attractions_within_1500m | integer | null | context | open |
| coverage | array<string> | null | context | open |
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=walk_score' # 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/walk_score?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.