Navvo
API Reference

Junction Structures

Complete bridge & tunnel centerlines near a point, for 3D junction / grade-separation rendering.

Junction Structures

Return the complete, un-clipped centerlines of bridges/overpasses and tunnels/underpasses near a point. This powers Navvo's 3D junction view during turn-by-turn navigation — elevated viaducts on piers, and recessed tunnel portals — but it is useful for any client that needs grade-separation geometry for a small area.

Scope required: geo

Map vector tiles are clipped per tile, so they can only ever yield bridge/tunnel fragments. This endpoint instead returns each structure as one continuous OSM way (sourced from Navvo's self-hosted geometry index), so an overpass renders as a single deck and a tunnel can be matched against a route to know exactly where it goes underground.

GET /junction/structures

Return every bridge and tunnel highway within radius metres of lat,lng.

Query parameters

lat
number required
Latitude (WGS84).
lng
number required
Longitude (WGS84).
radius
integer
Search radius in metres. Defaults to 320, clamped to 80800.
curl -s "https://navvo.io/api/v1/junction/structures?lat=31.98382&lng=35.89252&radius=320" \
  -H "x-api-key: nvvo_YOUR_KEY"

Response

{
  "source": "navvo-junction",
  "available": true,
  "bridges": [
    {
      "id": 150918346,
      "kind": "bridge",
      "roadClass": "secondary",
      "layer": 1,
      "name": "شارع الشهيد وصفي التل",
      "oneway": true,
      "lanes": 2,
      "coordinates": [[35.8923719, 31.9831129], [35.892758, 31.9829988], ""]
    }
  ],
  "tunnels": []
}
FieldTypeDescription
sourcestringAlways navvo-junction.
availablebooleanfalse if the geometry index could not be reached — clients should fall back gracefully.
bridges / tunnelsarrayThe structures of each kind near the point.
…[].idnumberNavvo map-data way id.
…[].kindstringbridge or tunnel.
…[].roadClassstringOSM highway class (motorway, trunk, primary, secondary, …) — use it to derive road width.
…[].layernumberVertical ordering (OSM layer): >0 is above ground, <0 below.
…[].namestring | nullStreet name, if known.
…[].onewaybooleanWhether the carriageway is one-way (dual carriageways arrive as two ways).
…[].lanesnumber | nullLane count, if tagged.
…[].coordinatesarrayFull [lng, lat] centerline of the structure (a single continuous way).
To draw a bridge deck, buffer coordinates to the road width (from lanes or roadClass) and extrude it to layer × ~5.5 m; drop piers along it and an abutment at each end. For a tunnel, trim your route line where it runs within the road half-width of a tunnel coordinates so the route visibly dives into the portal and is not drawn underground.

Successful responses are cached server-side per ~120 m cell for 24 h (bridge/tunnel geometry is static).

Copyright © 2026