Routing API / 2026 comparison
Bike routing APIs compared (2026)
We compared nine APIs that can compute a bike route, and none of them is best at everything. One has a large free tier, another the lowest price at scale, a third very fine tuning or deep local knowledge. This comparison puts their prices, vehicle profiles and what they tell you about route safety side by side, as published by their providers.
Comparison written by OVO SAS, publisher of the On va où ? API, one of the APIs compared. Every figure links back to a public page listed under Method and sources. Whatever we could not verify is flagged as such, and we also say where the others do better than we do.
At a glance
- Largest free tier: Mapbox, 100,000 requests a month, alternatives included.
- Lowest price at scale: Stadia Maps, $0.31 per 1,000 routes at 750,000 a month, with worldwide coverage.
- Most flexible tuning: GraphHopper and its custom models. Local depth in France: Geovelo and its cyclability rating.
- Free with no clause against commercial use: openrouteservice, up to 2,000 routes a day, with e-bike and wheelchair profiles.
- « On va où ? »: safety indicators in every response, three labelled variants for one billed request, bike, e-bike, kick scooter, motorcycle and wheelchair, all of Europe on every plan, commercial use from 19 € a month excluding VAT.
1. What matters in a bike route
By car, the best route is often the fastest. By bike, it is less simple: a direct boulevard can be far less pleasant than a slightly longer cycle track. Four questions separate the APIs:
- Safety. Can the API prefer cycle tracks and quiet streets? Does it tell you what the route is made of: share of cycle tracks, main roads, unpaved surfaces?
- Variants. Can you offer a safe route and a fast route from one request, and what does that cost?
- Elevation. Is it taken into account, and returned in the response?
- Profiles. City bike, e-bike, kick scooter and, depending on your product, motorcycle or wheelchair.
Then come two practical questions: the price at your own volume, and what the licence allows (commercial use, turn-by-turn guidance, display on a map).
2. The comparison table
APIs are listed alphabetically. The highlighted row belongs to the publisher of this comparison. Prices exclude taxes and are shown in each provider’s published currency; euro amounts in brackets are converted at 1 € = $1.146.
Pricing and terms
| API | Free tier | Commercial use on the free tier | Entry paid price | Price per 1,000 routes at 75,000 a month | Self-serve |
|---|---|---|---|---|---|
| Geovelo | None published | Not applicable; commercial white-label offer | On quote | On quote | No: key issued by Geovelo |
| Google Routes API | 10,000 calls a month (Essentials), $300 trial credit; billing account required | Specific EEA terms2 | $5.00 per 1,000 pay-as-you-go (Essentials); subscription at $275 a month for 100,000 calls | $3.67 (subscription) to $4.33 (pay-as-you-go), i.e. 3.20 to 3.78 € | Yes |
| GraphHopper | 500 credits a day (a simple route = 1 credit), 5 points max, no card | No | 69 € a month (56 € on the annual plan) | 0.92 € (0.75 € annual) | Yes |
| HERE | 30,000 bicycle requests a month (5,000 in scooter mode); payment method required | Yes, except uses excluded from the Base plan2 | 0.70 € ($0.88) per 1,000 pay-as-you-go, indicative prices | 0.42 € ($0.53)2 | Yes |
| Mapbox | 100,000 requests a month; payment method required (a no-card demo access exists, with much lower caps) | No stated ban; licence required for “vehicle” use2 | $2.00 per 1,000 pay-as-you-go, beyond 100,000 | $0 (within the free volume)2 | Yes |
| On va où ? | 10,000 requests a month, 1 request per second, no card | No: commercial use from the Solo plan | 19 € a month (20,000 requests) | 0.79 € (Starter plan, three variants included) | Yes |
| openrouteservice | 2,000 routes a day, 40 a minute; 10,000 a day for non-profit organisations | No clause against it in the terms; attribution required | No self-serve paid plan | Beyond the free tier (75,000 a month exceeds 2,000 a day): on request, or self-host the open-source software (GPL v3) | Yes, for the free tier |
| Stadia Maps | 200,000 credits a month, i.e. 10,000 routes | No | $20 a month (17.45 €) | $0.47 (0.41 €)1 | Yes, 14-day trial without a card |
| TomTom | 20,000 requests a month, no card | Not specified2 | Prepaid credit: 1.00 € per 1,000 beyond 20,000 | 0.73 €2 | Yes, for the API2 |
Scroll the tables sideways to see every column.
1 Stadia Maps charges 20 credits per route. A 2024 blog post announced 30 credits for the OSRM-compatible format with navigation aids, which would give $0.77 per 1,000; the current price list does not show it and we could not verify whether it still applies.
2 Subject to licence: see Licensing: what to check.
Vehicle profiles
| API | Bike | E-bike | Kick scooter | Motorcycle | Wheelchair |
|---|---|---|---|---|---|
| Geovelo | Own bike or bike share; beginner, median, expert, hybrid and cargo profiles | Yes (e-bike option) | No | No | No (bike and pedestrian only) |
| Google Routes API | BICYCLE, in beta, with a warning to display | No | No | Motorised two-wheeler in 40 countries, none in Europe | No |
| GraphHopper | bike (avoids hills), mountain bike, road bike, electric cargo bike; free tier: bike only | No e-bike profile (electric cargo bike on paid plans) | No (its scooter profile is a moped) | On request, through the Kurviger API | No |
| HERE | Bicycle, in beta, terrain taken into account | Not documented | No (its scooter mode targets motorised two-wheelers) | Yes, through scooter mode (speed cap, motorways optional) | Not verified |
| Mapbox | mapbox/cycling, 25 points, 1,500 km max | No | No | No | No |
| On va où ? | bike, 8 intermediate waypoints, 1,000 km straight-line max | Yes (ebike) | Yes (scooter) | Yes: safe variant avoids motorways, tolls can be avoided | Yes: slope up to 12 % (6 % as an option), kerbs up to 15 cm, passages at least 50 cm wide |
| openrouteservice | City, road and mountain bike | Yes (cycling-electric) | No | No | Yes, adjustable: kerb (3, 6 or 10 cm), incline (3 to 15 %), minimum width |
| Stadia Maps | Road, hybrid, cross, mountain and bike share; 50 points, 500 km | No dedicated profile (adjustable speed, 18 km/h by default) | No | Yes | Yes (12 % maximum slope by default) |
| TomTom | bicycle (API v1) | No | No | Yes, in beta (API v1) | No |
Safety, variants and coverage
| API | Safety preference and terrain | Variants per request | Coverage |
|---|---|---|---|
| Geovelo | Safe, direct, intermediate and touristic profiles; more than 30 criteria; cyclability rating from 1 to 5 and distances on recommended roads in the response | Several routes by default; billing not verified | France, more than 40 partner areas; elsewhere not verified |
| Google Routes API | No preference for bikes (routing preferences are for cars and motorised two-wheelers only) | Alternatives at no extra charge; no alternatives with intermediate waypoints | Country list for bikes not found |
| GraphHopper | Custom models (custom_model, paid plans), slope included; per-segment details: road class, surface, bike network; no score | Alternatives at 2 credits | Worldwide, OpenStreetMap data updated at least weekly; TomTom MultiNet as an option |
| HERE | Terrain taken into account; safety preference not verified | Not found | Not verified |
| Mapbox | Built into the cycling profile (avoids highways, prefers bike lanes), not adjustable | Up to 2 alternatives, no extra charge | No country list for cycling; no intercontinental routes |
| On va où ? | Safe variant; in every response, share of cycle tracks, main roads, unpaved surfaces and motorways, ascent, descent and elevation profile | Up to 3 labelled variants (safe, balanced, fast), counted once; without waypoints, up to 95 km straight-line | Europe on every plan, from Iceland to Cyprus; elsewhere on quote |
| openrouteservice | Adjustable steepness difficulty; avoid ferries, fords and steps; per-segment suitability, way type, surface and steepness | Up to 3 alternatives, up to 100 km, no documented extra charge | Worldwide |
| Stadia Maps | Preference settings for cycle tracks (use_roads), living streets, hills (use_hills) and good surfaces; cycle lane type through a dedicated call (20 extra credits) | Alternatives, between 2 points only; billing not verified | Worldwide, OpenStreetMap data updated roughly weekly; EU endpoint |
| TomTom | No bike-specific option | Up to 5 alternatives; billing not verified | Not found |
“Not found” or “not verified”: the information was not found, or could not be confirmed, in the public pages consulted on 21 September 2026. It does not mean the feature does not exist.
3. Price by volume
Average price per 1,000 routes, for commercial use, with the cheapest plan or combination at each volume, free volumes deducted. One request per route, no alternatives. For « On va où ? », this price includes up to three variants.
| API | 20,000 / month | 75,000 / month | 225,000 / month | 750,000 / month |
|---|---|---|---|---|
| Geovelo | On quote | On quote | On quote | On quote |
| Google Routes API | $2.50 | $4.33 (subscription: $3.67) | $4.22 (subscription: $3.44) | $3.73 (subscription: $2.97) |
| GraphHopper | 3.45 € (annual: 2.80 €) | 0.92 € (annual: 0.75 €) | 0.88 € (annual: 0.71 €) | 0.64 € (annual: 0.51 €) |
| HERE2 | 0 € | 0.42 € | 0.61 € | 0.67 € |
| Mapbox2 | $0 | $0 | $1.11 | $1.60 |
| On va où ? | 0.95 € | 0.79 € | 0.75 € | 0.60 € |
| openrouteservice | 0 € | On request | On request | On request |
| Stadia Maps | $1.00 | $0.47 | $0.36 | $0.31 |
| TomTom2 | 0 € | 0.73 € | 0.91 € | 0.97 € |
In euros (1 € = $1.146): Stadia Maps 0.87 / 0.41 / 0.31 / 0.27 €; Mapbox 0 / 0 / 0.97 / 1.40 €; Google pay-as-you-go 2.18 / 3.78 / 3.68 / 3.26 €. HERE in dollars: $0 / $0.53 / $0.76 / $0.84.
How we computed it: GraphHopper Basic at 20,000 and 75,000, Standard at 225,000, Premium at 750,000; Stadia Maps Starter up to 75,000 (overage included), Standard above; Google, Essentials SKU, subscription overage at the rate set by total volume; openrouteservice free as long as volume stays under 2,000 routes a day.
What if you want several routes? « On va où ? » returns up to three variants in the same request, counted once. Mapbox (2 alternatives), openrouteservice (3) and Google also include them at no extra charge. GraphHopper counts 2 credits for a request with alternatives: 75,000 routes a month then average 5,000 credits a day, exactly the Basic cap, and Standard (199 € a month) becomes necessary as soon as one day goes above average. For Stadia Maps, TomTom and Geovelo, we could not verify how alternatives are billed.
4. Which API for which need
A prototype, a non-profit project, no budget
openrouteservice is free up to 2,000 routes a day, with no clause against commercial use in its terms, an e-bike profile and a highly adjustable wheelchair profile; non-profit organisations can get 10,000 routes a day. For non-commercial use, the free tiers of GraphHopper, Stadia Maps and « On va où ? » also work.
The largest free volume
Mapbox gives 100,000 requests a month, alternatives included, then $2.00 per 1,000: the largest monthly free tier in this comparison. Check the licence if your app falls under “vehicle” use.
The lowest cost at scale, worldwide
Among published prices, Stadia Maps is the cheapest in this comparison above 200,000 routes a month: $0.36 per 1,000 at 225,000, $0.31 at 750,000. At 75,000, it is level with HERE. Worldwide coverage, plus motorcycle and wheelchair profiles on top of bikes.
Fine-tuning bike behaviour
GraphHopper lets you write your own weightings (custom models, on paid plans) and offers mountain bike, road bike and electric cargo bike profiles; its OpenStreetMap data is updated at least weekly. Stadia Maps offers simpler settings: preference for cycle tracks, living streets or hills.
A white-label bike service in France
Geovelo, a French cycling specialist, returns a cyclability rating from 1 to 5, adapts to the rider’s level (beginner, median, expert) and bike type (hybrid, cargo, electric), and works with more than 40 partner areas. On quote.
You already use Google Maps Platform
Routes API also computes car, walking and public transport routes, with a single provider and a single billing account. Cycling is in beta, with a warning to display, and specific terms for the European Economic Area govern the use of route steps with a map.
Motorised two-wheelers
Stadia Maps (motorcycle profile), HERE (scooter mode, from electric scooters to motorcycles) and TomTom (motorcycle in beta), the last two subject to licence, offer a motorcycle profile, as does « On va où ? » (safe variant without motorways, tolls can be avoided). GraphHopper offers it on request; Google’s motorised two-wheeler mode is not available in Europe.
Ready-to-display safety indicators, several vehicles, a fixed price
That is where the « On va où ? » API fits: three labelled variants and their indicators in a single request, six profiles including kick scooter and wheelchair, all of Europe on every plan, a commercial plan from 19 € a month excluding VAT, and an MCP server for AI assistants.
5. The « On va où ? » API: strengths and limits
What it does well
- Safety indicators in every response. Share of cycle tracks, main roads, unpaved surfaces and motorways, ascent, descent and elevation profile, with no aggregation on your side. Geovelo also returns a cyclability rating; GraphHopper, Stadia Maps and openrouteservice provide per-segment details for you to aggregate.
- Three labelled variants, one billed request. Safe, balanced, fast. Mapbox, openrouteservice and Google also return alternatives at no extra charge; our difference is the labels and the indicators that come with each route. When only one route makes sense, it is returned once with every label: no variant is made up.
- Six profiles in one API: bike, e-bike, kick scooter, motorcycle, wheelchair and walking. In the documentation we consulted, no other API in this comparison offers a kick scooter profile.
- Everything on every plan. All of Europe and every feature, free tier included; only volume, rate, commercial use and support level change.
- A commercial plan from 19 € a month excluding VAT, at a fixed price, with overage known in advance (1.00 € per 1,000 on the Solo plan). Stadia Maps starts slightly lower, at $20 (17.45 €).
- An official MCP server (MCP registry
app.onvaou/itineraires, npm packageonvaou-itineraires-mcp): an AI assistant computes the route itself.
Its limits
- Europe only on the standard offer, while GraphHopper, Stadia Maps and openrouteservice cover the whole world. Other regions go through a custom plan.
- No custom weighting: three predefined variants and avoid options, but neither fine settings as at Stadia Maps nor custom models as at GraphHopper.
- A smaller free tier than Mapbox (100,000 requests a month), openrouteservice (2,000 a day, commercial use not excluded), HERE (30,000 a month), TomTom (20,000 a month) or GraphHopper (500 credits a day), and limited to non-commercial use.
- Tighter request limits: 8 intermediate waypoints at most, variants only without waypoints and up to 95 km straight-line, a single route for wheelchairs, 1,000 km at most.
- Not the cheapest per route. At 75,000 routes a month, Mapbox (within its free volume), Stadia Maps, HERE, TomTom and GraphHopper on the annual plan cost less; at 225,000, Stadia Maps, HERE and GraphHopper annual; at 750,000, Stadia Maps and GraphHopper annual. Our price includes the three variants and the indicators: you decide what that is worth.
- Turn-by-turn instructions in 7 languages: French, English, German, Spanish, Italian, Dutch and Portuguese.
6. Licensing: what to check
The listed price is not enough: for three APIs, the self-serve licence may not cover a bike navigation app. We report what the texts say, not what the provider would agree to: ask each of them before you choose.
- TomTom: the terms and conditions exclude real-time turn-by-turn navigation and automotive use, unless covered by a separate written agreement. A guidance app should therefore be cleared with TomTom.
- HERE: the Base plan excludes asset management (locating, tracking, routing assets), and the user of your app counts as an asset. Whether this applies to a bike app should be clarified with HERE.
- Mapbox: a commercial application licence is required for “vehicle” use, which the pricing page extends to ground and aerial vehicles, manned or unmanned, and to apps designed for in-vehicle use. Whether it applies to bikes is not specified.
- Google: in the European Economic Area, the terms forbid using Routes API descriptions and steps with a map; real-time navigation on a third-party map is allowed subject to safety requirements. The bicycle mode, in beta, requires displaying a warning.
- GraphHopper, Stadia Maps, « On va où ? »: the free tier is for non-commercial use only. openrouteservice: attribution required and one account per person.
7. Method and sources
Comparison written by OVO SAS, publisher of the On va où ? API, one of the APIs compared. For full transparency: the On va où ? API computes its routes with the open-source openrouteservice software, developed by HeiGIT, and credits it in every response. openrouteservice is also listed in this comparison as a separate public service, with its own terms.
- Survey date: 21 September 2026, on the providers’ public pages (pricing, documentation, terms), read at the source, including price calculator data when the page uses one. Offers change often: check them before you decide.
- Prices: excluding taxes, as published, in euros or dollars depending on the provider. Stadia Maps does not mention VAT; HERE presents its prices as indicative. Indicative conversion: 1 € = $1.146, European Central Bank reference rate of 18 September 2026.
- Volumes: routes computed per month, for commercial use, one request per route, no alternatives unless stated. For GraphHopper, whose quotas are daily, the monthly volume is spread over 30 days.
- Not verified: we could not confirm, and therefore do not claim, whether Stadia Maps still applies 30 credits, how Stadia Maps, TomTom and Geovelo bill alternatives, HERE’s coverage and wheelchair or safety options, the duration of Google’s trial credit, and whether Mapbox’s “vehicle” licence applies to a bike app.
- Found an error or an update? Write to us: we correct and date every change.
Pages consulted
- On va où ?: onvaou.app/developers/routing-api.html, onvaou.app/cgv-api
- Geovelo: geovelo.app/en/api/, geovelo.app/fr/api/, cycling-insights.io/geovelo/api/documentation
- Google: mapsplatform.google.com/pricing/, developers.google.com/maps/billing-and-pricing/subscriptions, developers.google.com/maps/billing-and-pricing/sku-details, developers.google.com/maps/documentation/routes/reference/rest/v2/RouteTravelMode, developers.google.com/maps/documentation/routes/reference/rest/v2/TopLevel/computeRoutes, developers.google.com/maps/documentation/routes/coverage-two-wheeled, cloud.google.com/terms/maps-platform/eea/maps-service-terms
- GraphHopper: graphhopper.com/pricing/, graphhopper.com/faq/what-is-one-credit/, docs.graphhopper.com/openapi, docs.graphhopper.com/openapi/map-data-and-routing-profiles, docs.graphhopper.com/openapi/routing/getroute
- HERE: here.com/get-started/pricing, here.com/get-started/pricing/base-plan-restrictions, here.com/learn/blog/april-2025-platform-release-notes, HERE price calculator data, docs.here.com/routing/docs/routing-v8-bicycle-routing, docs.here.com/routing/docs/routing-v8-scooter-routing, docs.here.com/routing/docs/routing-v8-scooter-routing-coverage
- Mapbox: mapbox.com/pricing, Mapbox price calculator script, docs.mapbox.com/api/navigation/directions/, docs.mapbox.com/accounts/guides/demo-access/, docs.mapbox.com/accounts/faq/how-does-pay-as-you-go-billing-work/
- openrouteservice: account.heigit.org/info/plans, account.heigit.org/info/tos, openrouteservice.org/faq/, openrouteservice.org/restrictions/, openrouteservice.org/services/, ask.openrouteservice.org/t/pricing-plan-from-the-api/5806, giscience.github.io/openrouteservice-r/reference/ors_profile.html, giscience.github.io/openrouteservice/api-reference/endpoints/directions/routing-options
- Stadia Maps: stadiamaps.com/pricing/, stadiamaps.com/faqs/, docs.stadiamaps.com/limits/, docs.stadiamaps.com/routing/, docs.stadiamaps.com/guides/getting-the-best-routes-with-valhalla-turn-by-turn-directions-apis/, api.stadiamaps.com/openapi.yaml
- TomTom: docs.tomtom.com/pricing, docs.tomtom.com/legal/terms-and-conditions, docs.tomtom.com/routing-api/documentation/tomtom-maps/v1/calculate-route, docs.tomtom.com/routing-api/documentation/tomtom-orbis-maps/v2/calculate-route
Try the « On va où ? » API
A free tier of 10,000 requests a month, no credit card, across all of Europe: compare for yourself, on your own routes. Commercial use starts at 19 € a month excluding VAT, with no commitment.
