Nearest public transport stops with observed service
public_transport16 fields16 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.
- Departures observed in Entur's national real-time feed (SIRI-ET, every monitored journey) over the stated window (window_from to window_to), rolled up from platform to stop and aggregated per stop at refresh time. Only journeys an operator reports in real time are counted, so a stop served solely by unmonitored departures reads low or absent; not a complete timetable or a service guarantee.
- Limited to stops within 3 km: an address with no observed stop that close gets no record, not a stop from another town. transit_stops carries the full national stop register for positions. Straight-line UTM33 distance, not walking distance.
- Routes follow the car profile, from the address to the feature; ranking remains straight-line. Static modelled travel time excludes live traffic and emergency response. Road snapping is limited to 250 m at each end. Ferries may be included without timetable/wait guarantees. Graph source date is unverified unless supplied. © OpenStreetMap contributors, ODbL: https://www.openstreetmap.org/copyright
- walk_route and cycle_route follow OSRM's foot and bicycle profiles on the same OpenStreetMap data: paths and stairs allowed on foot, road rules for bicycles; modelled times at profile default speeds, not measured.
Fields
4 of 16 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 |
|---|---|---|---|
| stop_id | string | null | context | open |
| stop_name | string | null | context | open |
| transport_modes | array<string> | null | value | open |
| lat | number | null | context | open |
| lon | number | null | context | open |
| straight_line_distance_m | number | null (m) | value | open |
| observed_departures | integer | null | value | open |
| distinct_lines | integer | null | value | open |
| avg_delay_min | number | null (min) | context | open |
| cancelled_departures | integer | null | context | open |
| window_from | string | null | context | open |
| window_to | string | null | context | open |
| refreshed_at | string | null | context | open |
| route | object | context | open |
| walk_route | object | context | open |
| cycle_route | object | context | open |
Fetch this section
curl -H "X-API-Key: $APPROACH_API_KEY" \ "https://api.approach.no/api/v1/addresses/285717643?include=public_transport" # paginated, one section at a time curl -H "X-API-Key: $APPROACH_API_KEY" \ "https://api.approach.no/api/v1/addresses/285717643/sections/public_transport?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.