Skip to main content
Weights
London

London cycle route preferences realigned with TfL guidance

Signed London routes are now treated according to Transport for London’s own guidance on what each is for. Cycleways and Superhighways are preferred over the streets beside them; Quietways and local network routes are treated as ordinary streets, because signage alone does not make a road calmer. This replaces a set of route-by-route adjustments made over the preceding months.
Weights
All cities

Roadworks steer routes without forcing long detours

Streets with active works are still avoided, but less emphatically. Riders were being sent noticeably out of their way around works that were passable.
Data sources
All cities

Banned turns read correctly where cycleways cross junctions

A no-turn restriction is now set aside only where both approaches are on the same cycleway. Routes stop suggesting turns that are signed against at junctions where a cycleway meets a road.
Model
All cities

Walking directions follow pedestrian routes

Walking legs are now planned over footways, paths and crossings rather than over the cycling network. Where a street has no separately mapped pavement the carriageway is still available, so walking directions stay connected everywhere. Cycling turn restrictions no longer apply to walking legs, which is what previously produced the odd walking detour.
Weights
All cities

Routes prefer to carry straight on through junctions

Where a route can continue straight rather than turn, it now does. This trims the zig-zagging through residential grids that made some quiet routes tiring to follow, and it only applies mid-run, so junctions where straight on is not really an option are unaffected.
Weights
All cities

Rough and unpaved surfaces are avoided

Where OpenStreetMap records a street or path as cobbled, gravel, dirt or otherwise uneven, routes now steer around it. Comfort and safety are treated separately: a rough street is avoided, but it is not reported as dangerous.
Model
All cities

One-off closures are avoided on the dates they apply

Road closures with a fixed start and end date, such as marathons, festivals and multi-week works, are now avoided for departures inside that window and ignored outside it. Pass departure_time to route for a specific day.
API
London

Nearby closures are surfaced on multi-modal options

Each option in a POST /multi-modal/ response can now carry a disruptions array listing temporary road disruptions near its cycling legs, either active at the departure time or starting within the hour. Use it to warn a rider about works on the route you are about to show them.
API
London

Route to a place to park the bike

POST /multi-modal/ accepts parking_type, which ends the cycling leg at a real parking spot near the destination and walks the rider the rest of the way. Set it to regular for ordinary racks or ebike for designated rental e-bike bays. The chosen spot comes back as parking.
Data sources
All cities

Street surface is read from the map

Surface information published in OpenStreetMap now flows through to routing, which is what makes surface-aware routes possible. Values are consolidated to a simple smooth-or-uneven distinction, because the raw tagging is too inconsistent between contributors to use directly.
Model
All cities

Streets that close on a schedule are avoided while they are closed

Roads that shut on a recurring weekly pattern, such as street markets and regular events, are now avoided for departures inside those hours and used normally the rest of the week. Before this, a route either always avoided the street or never did.
Data sources
London

London street markets mapped

The recurring closures for London’s street markets are now recorded with their real trading hours, so a Saturday morning route around Broadway Market differs from a Tuesday afternoon one.
API
All cities

Explain a route in one sentence

POST /explain-supersafe/ compares the SuperSafe route against the most direct route and returns a single sentence describing the difference, for captioning a route in your own interface. It accepts nighttime and departure_time so the sentence describes the same pair of routes you are showing.
Fix
All cities

Cycleways on merged streets keep the right side of the road

Where a long street is recorded in several pieces, or is signed against the direction it was drawn, the cycleway alongside it now stays on the correct side. Routes stop putting riders on a lane running the other way.
Data sources
All cities

The road network is checked for connectivity

Stretches of road that are not actually reachable from the rest of the city are now removed before routing. These were the source of routes that started or ended somewhere a rider could not get to.
Data sources
All cities

Rebuilt how map data is read

The step that turns OpenStreetMap data into our road network was rewritten. Junctions, one-way rules and street naming are all more faithful to the source data, and the network takes considerably less time to rebuild, which is what made the nightly refresh below practical.
Fix
All cities

Long trips route reliably end to end

The area searched for a route now scales with how far apart the two points are. Long cross-city trips that previously failed to return a route now succeed, and short trips are unaffected.
Data sources
All cities

Time-limited turn signs are respected

Junctions where a turn is banned only at certain times, such as peak-hours-only restrictions, are now read from the map and honoured for the departure time you route for.
Data sources
All cities

One-way rules that apply to bikes specifically

Where a street is one-way for bicycles, or explicitly two-way for bicycles on an otherwise one-way street, routing follows that rather than the general one-way rule. Contraflow lanes are usable in the direction they exist.
API
All cities

Roundabout instructions say which exit to take

Steps through a roundabout now read “take the 2nd exit” rather than a generic turn, in both the written instruction and the voice cue, with exits counted from the entry point.
API
All cities
bannerInstructions entries now carry a sub component alongside primary, so an interface can show the turn after next while the rider is still approaching the current one. Useful where two maneuvers arrive close together.
API
All cities

Route for a chosen departure time

POST /directions/ and POST /multi-modal/ accept departure_time as a wall-clock time in the route city’s timezone. It determines whether night routing applies and which temporary closures are in force, and it comes back on metadata so you can confirm what was routed.
API
London, New York City

Each step reports whether it is lit

Steps carry a lit flag, so you can show a rider how much of a route runs on lit streets. It reflects street lighting recorded in OpenStreetMap, which is approximate and better in some boroughs than others.
Model
London, New York City

Routes prefer lit streets after dark

Evening and overnight trips now favour streets we know are lit. Night applies from half an hour after sunset to half an hour before sunrise, worked out for the route’s own city, so it tracks the seasons rather than a fixed clock time. metadata.nighttime tells you which way a route was planned.
Model
All cities

Identical routes are returned once

Where the safest route and the most direct route are the same road, only one option comes back rather than two identical ones. Riders were being asked to choose between two routes that were indistinguishable.
Data sources
All cities

Map data refreshes nightly

Every supported city now rebuilds from the latest OpenStreetMap data each night. A new cycle lane, a closed street or a corrected one-way now reaches routing within a day of being mapped, rather than whenever we next rebuilt by hand.
API
All cities

Safe and direct options in one multi-modal request

POST /multi-modal/ now returns both the SuperSafe and the most direct variant of each travel option in a single response, instead of needing two calls to compare them.
Model
All cities

Routes obey banned turns

Turn restrictions recorded in OpenStreetMap, including no-left-turn and no-U-turn signs, are now enforced during route planning rather than checked afterwards. Routes also accept an optional starting direction, so a rider already moving is not told to turn around.
Fix
All cities

The first instruction points the way you are facing

Where a route starts partway along a street, the opening step now reports the correct departure direction. It could previously be reported as the opposite direction, which sent riders the wrong way out of the gate.
API
All cities

Simpler bearings on maneuvers

Maneuver bearings are reported as single numbers in degrees rather than as a structure, matching the shape most navigation clients already expect.
Data sources
All cities

Separately mapped cycleways matched to their streets

Cycleways drawn as their own line alongside a road, which is how most protected lanes are mapped, are now matched to the street they run beside. Turn-by-turn steps name the street rather than an unnamed parallel path, and a lane on one side of a road only helps riders travelling that way.
API
All cities

Turn angles match the maneuver

Each step reports the angle a rider actually turns through at the junction, rather than an angle taken from the overall direction of the streets involved. Instructions like “sharp left” and “slight right” now match what the rider sees.
API
All cities

API keys required

Every endpoint now requires an API key in the Authorization header. A valid user session is also accepted and grants higher rate limits. See Authentication.
Weights
All cities

Road preferences tunable per city

How strongly each kind of road is preferred or avoided is now set per city and can be changed without rebuilding anything. A busy arterial in London and one in Los Angeles no longer have to be treated identically, and a correction reaches riders the same day.
Model
All cities

Bike-share trips stay inside the permitted riding area

Where an operator publishes zones its bikes may not be ridden through, routes now stay out of them, so a bike-share option is one the rider can actually complete.
API
All cities
Bike-share options carry the operator’s published pricing plan and a rental link, so an interface can show the price of a trip and hand the rider straight to the operator’s app.
Weights
London

Signed cycle routes preferred over the streets beside them

Where a signed cycle route runs parallel to a road, routing now prefers the signed route. This is what makes a SuperSafe route follow the network a city has actually built.
API
All cities

Steps name the signed cycle route

Each step carries the signed cycle routes it belongs to, such as C13 or CS7, so instructions can name the route a rider is following rather than only the street.
Model
All cities

SuperSafe becomes a per-request option

supersafe switches routing between the safety-first model and the most direct route, resolved against the city the request falls in. Before this, safety routing was all or nothing.