All the power of Valhalla. None of the infrastructure.
Isochrones, elevation-aware routing, and native multimodal costing — a complete hosted routing engine.
✅ No credit card required 🇪🇺 Hosted in the EU 🔓 Open source, no lock-in
Get Free API KeyAlways free for small projects. $10/mo covers most apps
Self-hosting Valhalla means building and serving your own routing tiles, plus a separate elevation dataset if you want grade-aware routing. That's a beefy server, a multi-hour build, and ongoing maintenance for infrastructure that mostly sits idle. For most projects, that's absurd.
We both know this is silly. Here's the obvious solution.
Simple Routing runs the same open-source Valhalla you'd self-host — we just handle everything around it.
Route, isochrone, elevation, matrix, trace — the complete standard Valhalla API. Switching from self-hosted is a one-line URL change plus an Authorization header.
Tiles rebuilt from OpenStreetMap every month, elevation data included. No data pipeline to maintain, no manual rebuilds.
Generous free tier, no credit card required. Get an API key in 30 seconds and start routing.
There's no SDK and no proprietary request format. Swap the base URL, add a Bearer header, and the request body stays exactly as it is.
# Your own Valhalla curl -X POST "http://localhost:8002/route" \ -H "Content-Type: application/json" \ -d '{"locations":[{"lat":40.7506,"lon":-73.9935},{"lat":40.6413,"lon":-73.7781}],"costing":"auto"}' # Simple Routing: same path, same body, same response curl -X POST "https://api.simplerouting.io/valhalla/route" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"locations":[{"lat":40.7506,"lon":-73.9935},{"lat":40.6413,"lon":-73.7781}],"costing":"auto"}'
That works in both directions, so your code stays portable: if you outgrow us, point the same requests back at your own server.
Free for 100 requests a day, then $10 or $100 a month. No per-request billing and no overages: your plan is your bill. See pricing ↓
"How far can I get in N minutes from a point" — reachability polygons for coverage maps and service-area analysis. See our dedicated Isochrone API page.
Route costs that account for hills and grade — useful for cycling, walking, and any use case where "flat distance" isn't the whole story.
Purpose-built costing models for walking and cycling, rather than a car profile with restrictions bolted on.
Routing costs are computed at request time, so constraints can be tuned per-request instead of requiring a separate preprocessed profile for every variation.
Sign up, grab your API key, and drop it into a standard Valhalla request. Try it out now — a drive from Penn Station to JFK:
# Standard Valhalla /route endpoint — add Authorization header, that's it
curl -X POST "https://api.simplerouting.io/valhalla/route" \
-H "Authorization: Bearer 988b35cc-6183-4922-bbc0-857e1a1d318d" \
-H "Content-Type: application/json" \
-d '{"locations":[{"lat":40.7506,"lon":-73.9935},{"lat":40.6413,"lon":-73.7781}],"costing":"auto"}'
This is a live demo with a real API key (feel free to steal it).
No overages — your plan is your bill.
Hitting the limits, want more countries, or need a bespoke solution? Email [email protected] — we'll figure it out.
Yes — sign up for a free API key and start making requests right away.
A polygon showing everywhere reachable within a given travel time from a point — see the Isochrone API page for details.
Yes — our Hosted OSRM API is available too. Hosted Valhalla is a separate, fully capable routing engine with its own strengths, not a replacement for it.