This quarter, Simple Routing donated to the OpenStreetMap Foundation and the Nature Conservancy. Learn more about our give back program and values.

A GraphHopper Directions API alternative

Routing, matrix, optimization, isochrones and map matching on OSRM, Valhalla and VROOM — from $10/month.

One request is one request. No credit formulas to work out before you know what a matrix costs.

✅ No credit card required 🇪🇺 Hosted in the EU

Get Free API Key

Plans Side by Side

Plan Price per month Daily volume Locations per request Commercial use
GraphHopper Free €0 500 credits 5 No
GraphHopper Basic €69 5,000 credits 30 Yes
GraphHopper Standard €199 15,000 credits 80 Yes
Simple Routing Free $0 100 requests 500 Yes
Simple Routing Hobby $10 10,000 requests 500 Yes
Simple Routing Scale $100 200,000 requests 500 Yes

GraphHopper figures as of October 9, 2026 from graphhopper.com/pricing (monthly billing, excluding VAT; "The Free Plan is for non-commercial use only"). Simple Routing's 500 is the maximum matrix size.

Credits vs requests

The daily numbers above aren't the same unit. GraphHopper meters in credits, and a request can cost more than one. Per its credit cost article (as of October 9, 2026): a route with up to 10 locations is 1 credit; a matrix is the smaller of origins × destinations ÷ 2 and max(origins, destinations) × 10; an isochrone is 2 credits per minute explored, with a minimum of 10.

A 50×50 matrix here

1 request against your daily allowance.

A 50×50 matrix in credits

500 credits by the formula above — the whole daily allowance of the free plan.

Feature Parity

Feature GraphHopper Directions API Simple Routing
Routing / directions Yes Yes — OSRM and Valhalla
Distance matrix Yes Yes — OSRM table, Valhalla sources-to-targets
Route optimization Yes Yes — VROOM
Isochrones Yes Yes — Valhalla
Map matching Yes Yes — OSRM match, Valhalla trace
Geocoding Yes Not yet (waitlist)
Uptime SLA Yes, on paid plans No

GraphHopper column as of October 9, 2026, from graphhopper.com/pricing. These are different engines, so request and response formats differ — a feature being on both sides doesn't make it a drop-in swap.

Switching With routingpy

If you call GraphHopper through routingpy, the library already normalizes the response, so switching provider is a change to the client and the profile name.

# Before
from routingpy.routers import Graphhopper

client = Graphhopper(api_key="GRAPHHOPPER_API_KEY")
route = client.directions(
    locations=[[-73.9935, 40.7506], [-73.7781, 40.6413]],
    profile="car",
)

# After
from routingpy.routers import OSRM

client = OSRM(
    base_url="https://api.simplerouting.io/osrm",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)
route = client.directions(
    locations=[[-73.9935, 40.7506], [-73.7781, 40.6413]],
    profile="driving",
)

# Same either way
print(route.duration, route.distance, route.geometry)

client.matrix(...) works the same way. Calling the HTTP API directly instead? The API docs have the request and response shapes for each engine.

Try It: Live Route Demo

# Get directions from Penn Station to JFK Airport
curl "https://api.simplerouting.io/osrm/route/v1/driving/-73.9935,40.7506;-73.7781,40.6413?overview=full" \
  -H "Authorization: Bearer 988b35cc-6183-4922-bbc0-857e1a1d318d"
Response

    

This is a live demo with a real API key (feel free to steal it).

Not for you if…

Pricing

Free
$0/forever
  • 100 requests/dayiMax 5 req/s
    • Counted per call, not per element
  • Distance matrix, maplines, turn by turn, isochrone APIs
    • OSRM and Valhalla
  • Fleet optimization API
    • VROOM
  • Bicycle, car, HGV profiles iCar only for OSRM
  • North America & Europe coverage
  • No credit card required
Get Free API Key
Scale
$100/month
  • 200,000 requests/dayiMax 20 req/s
    • Counted per call, not per element
  • Distance matrix, maplines, turn by turn, isochrone APIs
    • OSRM and Valhalla
  • Fleet optimization API
    • VROOM
  • Bicycle, car, HGV profiles iCar only for OSRM
  • North America & Europe coverage
  • Cancel anytime
Get Started

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.

🎓
Education, non-profit, or open source? We offer discounted rates — email [email protected] to connect.

Global Stats

4.0M+
Requests served
99.99%
Uptime
240+
Developers building on the platform

Run your own requests against it

100 requests a day, free, no credit card required.

Get Free API Key