// Developer API
The route optimization API
Authenticate with a key, post your stops as JSON, get the optimized route back. One endpoint, any language.
// Quickstart
Your first optimized route
# 1. authenticate with your key 2. post stops 3. read the route curl -X POST https://api.optimizemyroutes.com/v1/optimize \ -H 'Authorization: Bearer omr_live_key' \ -H 'Content-Type: application/json' \ -d '{ vehicles: 3, depot: your_warehouse, stops: [ 42 stops ] }' 200 OK // solved in 0.4s { total_miles : 218.4, miles_saved : 41.7, routes : [ { vehicle: truck–a, order: [ ... ] } ] }
// Endpoint
POST /v1/optimize
The request body. Send stops with addresses or coordinates; everything else is optional.
vehicles number or array
How many vehicles, or a list each with an id and capacity.
depot object
Where routes start and end — an address or lat / long. One or many.
stops array, required
The places to visit. Each takes an address or lat / long, plus optional demand and time window.
stops[].window array
Earliest and latest service time, e.g. [ 9, 12 ].
stops[].demand number
Load consumed at the stop, weighed against vehicle capacity.
options object
Round–trip, balance across vehicles, and optimize for distance or time.
🔑
Auth & sandbox
Every request carries a bearer token. Start with a free sandbox key, then switch to a live key when you go to production — same endpoint.
⚡
Limits & latency
Small jobs return in well under a second. Large fleets run on dedicated GPU compute; very large jobs can run asynchronously with a callback.
Get your API key
Tell us a little about your routes and we’ll set you up with a sandbox key.
Get API access