Plan every delivery route in seconds
Plan multi-vehicle deliveries using road-network distances and estimated arrival times. Choose the dashboard planner for locations, or the API for capacity, skills and time windows. Routes are optimized, not guaranteed globally optimal.
Worldwide driving routes and address search
Watch it optimize real deliveries
The same Trip and VRP APIs you'll call, run on real city streets. Every number here is actual API output, not a mock-up.
Understand the credit cost
Two operations, different credit weights. These are billing examples, not a competitor quote.
The dashboard optimizer has separate stop and vehicle limits and does not deduct API credits. API requests use your allowance, then purchased credits.
How it works
Addresses in, an optimized plan out — in one request.
Add your stops
Paste addresses or coordinates, upload a CSV, or send them through the API. We geocode addresses automatically.
We optimize
The solver assigns stops and orders visits using road-network travel times. ETAs are estimates; live traffic is not included.
Get the plan
Every vehicle gets an ordered stop list with distances and arrival times, plus the road path drawn on the map — ready to dispatch.
Two ways to use it
In your dashboard — no code
Open the Route Optimizer, drop in your stops and depot, pick how many vehicles, and get an optimized map instantly. Export to CSV for your drivers.
- Address or lat/lng input, CSV upload
- Multi-vehicle split, round-trip or one-way
- Optimized routes drawn on a live map
In your app — one API call
Send vehicles and stops, receive the optimized plan as JSON. Coordinates use [lon, lat] order, the same as the rest of our API.
curl -X POST "https://osrmroute.com/api/1/vrp?key=YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"vehicles": [{ "vehicle_id": "v1", "start": [49.8516, 40.3755] }],
"services": [
{ "id": "a", "location": [49.8378, 40.3892] },
{ "id": "b", "location": [49.8800, 40.4100] },
{ "id": "c", "location": [49.8200, 40.3600] }
]
}'Plans and optimizer limits
The dashboard optimizer has separate stop and vehicle limits and does not deduct API credits. API requests use your allowance, then purchased credits.
Our prices are in USD. Monthly plans have rolling 24-hour allowances, not a monthly credit pool. Service access and complexity limits vary by plan; excess usage requires purchased credits.
Why teams choose OSRMRoute
Independent & neutral
Our own infrastructure on open map data — no lock-in to a foreign mapping monopoly, no dependency you can't control.
Compare your workload
Our prices are in USD. Monthly plans have rolling 24-hour allowances, not a monthly credit pool. Service access and complexity limits vary by plan; excess usage requires purchased credits.
Worldwide coverage
Driving routes and address search worldwide. Walking, cycling and detailed local data vary by service and region; see Coverage for availability.
Real support
Talk to the people who run the servers. SLAs and custom limits available for production fleets.
Questions
How many stops and vehicles can I optimize?
Dashboard stop and vehicle limits are separate from API point and vehicle limits. PAYG uses Starter-sized dashboard limits. Purchased credits cover API usage, not higher dashboard complexity limits. See Pricing for both.
Can I send addresses instead of coordinates?
Yes. The dashboard optimizer geocodes addresses automatically. The API accepts coordinates in [lon, lat] order; use our Geocoding API first if you only have addresses.
Does it use real roads or straight lines?
Real roads. Distances and arrival times come from our live routing engine on OpenStreetMap data, including one-way streets and turn restrictions.
Which regions are covered?
Driving routes and address search worldwide. Walking, cycling and detailed local data vary by service and region; see Coverage for availability.
Cut your delivery kilometres this week
Try the optimizer live, or drop your API key into production in minutes.