Nearby traffic sensors and observations
traffic20 fields20 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.
- Sensors within 5 km by straight line from the address point. Proximity is geometric and does not establish that the sensor measures a road serving this address — the nearest sensor may be on a motorway the address cannot reach.
- updated_at is import time, not the measurement interval, and this is not a live congestion feed. An empty section means no sensor within 5 km, which is the usual case away from main roads and says nothing about traffic there.
- 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
8 of 20 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 |
|---|---|---|---|
| sensor_id | string | null | context | open |
| road | string | null | context | open |
| road_category | string | null | context | open |
| municipality_code | string | null | context | open |
| county_code | string | null | context | open |
| lat | number | null | context | open |
| lon | number | null | context | open |
| vehicles_per_hour | integer | null | value | open |
| heavy_vehicle_pct | number | null (%) | value | open |
| coverage_pct | number | null (%) | value | open |
| avg_daily_volume | integer | null | value | open |
| avg_daily_heavy | integer | null | value | open |
| peak_hour | integer | null | context | open |
| peak_hour_volume | integer | null | value | open |
| road_speed_limit | integer | null | value | open |
| straight_line_distance_m | integer | null (m) | value | open |
| updated_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=traffic" # paginated, one section at a time curl -H "X-API-Key: $APPROACH_API_KEY" \ "https://api.approach.no/api/v1/addresses/285717643/sections/traffic?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.