Skip to content

Routing · Isochrones · In development

Isochrones: how far you get in a given time

/isochrone returns the area reachable from a point within a time or a distance, as GeoJSON contour lines or polygons, in Valhalla’s body. Service areas and delivery zones are drawn from it. On Berlin the GeoJSON was byte-identical to Valhalla 3.9.1 on 45/45 isochrones.

Status · In development

In development, not deployed: there is no routing endpoint to call yet, on geolith.app or api.geolith.app, and no routing plan, price or key.

Berlin · same data, same requests

Against the reference engine

Measured on geolith/routing main. Only sets that were run are shown; no speed or cost is measured.

Isochrones · /isochrone · Berlin, byte-identical to Valhalla 3.9.1
SetRequests Byte-identical
Isochrones45

Detail

Request

One location, a costing, and contours by time (minutes) or distance (kilometers). polygons returns filled areas instead of lines; reverse gives the area that can reach the point.

contours: up to several times or distances in one request.
polygons, denoise and generalize, as in Valhalla.
reverse: the area from which the point can be reached.
Request shape (no hosted endpoint)
curl -X POST "https://ROUTER_HOST/isochrone" \
  -H "Content-Type: application/json" \
  -d '{
    "locations": [{ "lat": 52.5163, "lon": 13.3777 }],
    "costing": "bicycle",
    "contours": [{ "time": 10 }, { "time": 20 }],
    "polygons": true
  }'

Detail

Response

A GeoJSON FeatureCollection, one feature per contour, ready to draw with MapLibre.

Routing · In development

More on routing

Sources

  1. Routing API (planned), geolith docs (read 2026-11-08)
  2. Valhalla turn-by-turn API reference, Valhalla (open source, MIT) (read 2026-11-08)

Routing · In development

Follow routing progress.

Read how the router works today and what has to pass before it is deployed.