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

Outgrew the OSRM demo server? Same API, production-ready

Swap router.project-osrm.org for a hosted OSRM with an API key. Your requests don't change.

✅ No credit card required 🔓 Standard OSRM HTTP API

Get Free API Key

What the Demo Server Is For

router.project-osrm.org is the OSRM project's public demo, and it's a generous thing to have: worldwide car, foot and bike routing with no signup. It's there so people can try OSRM out, not to sit behind an application. The project's usage policy keeps it to reasonable, non-commercial use at no more than one request per second, and it comes with no promises about uptime, latency or how fresh the map data is.

That's fine for a prototype or a weekend project. Once you're building something commercial, need more than a request a second, or can't afford to go down when the demo does, you need an OSRM of your own. You can self-host it on a large server, or use a hosted one.

Migration: Change the Base URL, Add a Header

Paths, query parameters and responses are the standard OSRM v1 API. Only the host and the auth header change.

# Before
curl "https://router.project-osrm.org/route/v1/driving/-73.9935,40.7506;-73.7781,40.6413?overview=full"

# After
curl "https://api.simplerouting.io/osrm/route/v1/driving/-73.9935,40.7506;-73.7781,40.6413?overview=full" \
  -H "Authorization: Bearer YOUR_API_KEY"

The same change in JavaScript:

// Before
const BASE = "https://router.project-osrm.org";
const res = await fetch(BASE + "/route/v1/driving/-73.9935,40.7506;-73.7781,40.6413?overview=full");

// After
const BASE = "https://api.simplerouting.io/osrm";
const res = await fetch(BASE + "/route/v1/driving/-73.9935,40.7506;-73.7781,40.6413?overview=full", {
  headers: { Authorization: "Bearer YOUR_API_KEY" },
});

Using a Client Library?

routingpy

Pass the base URL and the header to the OSRM router. Everything else stays as it is.

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",
)
print(route.duration, route.distance)

What You Get

🧭 Directions & Maplines

Get the road-following route geometry between any waypoints — ready to draw on Leaflet, Mapbox, or any map library. Turn-by-turn steps included.

🗺️ Distance Matrix

Calculate travel distances and times between multiple points. Perfect for logistics and planning.

🚚 Fleet Optimization

Assign jobs to vehicles and get optimal stop order. Handle time windows, capacity constraints, and multi-vehicle fleets.

📍 Map Matching

Snap GPS traces to the road network. Clean up tracking data and analyze actual routes driven.

🚗 Multiple Vehicle Profiles

Car, bicycle, and truck routing across North America and Europe.

🔓 Open Standards

Built on OSRM, Valhalla, VROOM, and OpenStreetMap. No vendor lock-in, no proprietary formats.

Backed by Open Source: Built on OSRM (Open Source Routing Machine), Valhalla, VROOM (Vehicle Routing Open-source Optimization Machine), and OpenStreetMap data — no proprietary engine, no vendor lock-in. We also pledge 1% of revenue back to the open-source ecosystem. Read about our values →

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

Keep your OSRM code. Get a key.

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

Get Free API Key