How to find the fastest order for multiple stops
By Eli Foltyn · Updated November 5, 2026
Short answer
The Google Maps app takes up to 9 stops and keeps them in the order you entered. It does not find the fastest order. To get that, send your stops to the Routes API with optimizeWaypointOrder set to true. It returns the best order, and the first 5,000 requests a month are free. For several drivers, time windows, or truck capacity, use the Route Optimization API.
I spent two years building a rideshare app that nobody used. The part I learned the most from was the map. For cargo and courier work the most expensive mistake is not a slow driver. It is doing the stops in the wrong order.
Your options at a glance
Google Maps app
- Stops
- Up to 9 (including the last one)
- Finds the best order?
- No, you drag them yourself
- Cost
- Free
- Best for
- A driver with a few stops they already know
Routes API, optimizeWaypointOrder
- Stops
- Up to 25 in between start and finish
- Finds the best order?
- Yes, for one vehicle
- Cost
- 5,000 free a month, then $10 per 1,000
- Best for
- One van, a daily list of drops
Route Optimization API, single vehicle
- Stops
- Hundreds
- Finds the best order?
- Yes, with time windows
- Cost
- 5,000 free a month, then $10 per 1,000
- Best for
- One vehicle with delivery windows
Route Optimization API, fleet
- Stops
- Hundreds, many vehicles
- Finds the best order?
- Yes, splits stops between drivers
- Cost
- 1,000 free a month, then $30 per 1,000
- Best for
- Several drivers, capacity, shifts
| Option | Stops | Finds the best order? | Cost | Best for |
|---|---|---|---|---|
| Google Maps app | Up to 9 (including the last one) | No, you drag them yourself | Free | A driver with a few stops they already know |
| Routes API, optimizeWaypointOrder | Up to 25 in between start and finish | Yes, for one vehicle | 5,000 free a month, then $10 per 1,000 | One van, a daily list of drops |
| Route Optimization API, single vehicle | Hundreds | Yes, with time windows | 5,000 free a month, then $10 per 1,000 | One vehicle with delivery windows |
| Route Optimization API, fleet | Hundreds, many vehicles | Yes, splits stops between drivers | 1,000 free a month, then $30 per 1,000 | Several drivers, capacity, shifts |
Prices are Google's US list prices for the first paid tier, checked November 5, 2026. Google has given a free monthly allowance per API since March 2025, instead of the old $200 credit.
Why Google Maps does not fix the order
In the Google Maps app you add stops and drag them up or down. Maps routes them exactly in that order. If you type 8 addresses as they came in, you drive them in that order, even if stop 7 is next door to stop 1. For a few stops a driver knows, that is fine. For a daily list of 15 drops it costs real hours.
The free way: Routes API with optimizeWaypointOrder
The Routes API is Google's routing service. You send a start, a finish, and the stops in between. Add optimizeWaypointOrder: true and Google rearranges the stops in between to save time. The start and finish stay where they are. That matches how a van works: leave the yard, do the drops, come back.
curl -X POST https://routes.googleapis.com/directions/v2:computeRoutes \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_KEY' \
-H 'X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex,routes.duration,routes.distanceMeters' \
-d '{
"origin": { "address": "Yard, 100 Main St, Bloomington, IN" },
"destination": { "address": "Yard, 100 Main St, Bloomington, IN" },
"intermediates": [
{ "address": "Stop A address" },
{ "address": "Stop B address" },
{ "address": "Stop C address" },
{ "address": "Stop D address" }
],
"travelMode": "DRIVE",
"optimizeWaypointOrder": true
}'The answer has optimizedIntermediateWaypointIndex, for example [2, 0, 3, 1]. That means: do the third stop you sent first, then the first, then the fourth, then the second. Reorder your list with it and send the driver the new order.
What tripped me up
- You must ask for optimizedIntermediateWaypointIndex in the field mask header, or the answer will not include the order.
- Requests with optimization bill at the Compute Routes Pro rate, not the cheaper Essentials rate. Pro gets 5,000 free requests a month.
- It will not work if any stop is a "via" point, or with the TRAFFIC_AWARE_OPTIMAL routing setting.
- It only knows driving time. It does not know that stop B closes at noon. If you have time windows, use the Route Optimization API.
- Run it once when the list is ready, and again only when a job is added or cancelled. Rerunning it every few minutes wastes your free requests.
When you need the Route Optimization API
The Route Optimization API is a different, bigger product. It handles delivery time windows, how much each vehicle can carry, driver shifts, and splitting one list of stops between several drivers. Single-vehicle requests get 5,000 free a month. Fleet routing, with several vehicles, gets 1,000 free a month and then costs $30 per 1,000 requests. For a small company that plans once each morning, 1,000 requests a month is plenty.
A simple daily routine for a small cargo company
- The night before or first thing, put the day's drops in one list.
- Run the list through the Routes API with optimizeWaypointOrder (one van) or Route Optimization (several vans).
- Give each driver the stops in the new order.
- When a job is added during the day, rerun it for that van only.
- Text each customer a tracking link when the driver heads their way, so they stop calling.
The last step is the part I ended up building: Take Fleet gives every job a tracking link with a live ETA that the driver texts to the customer. It is free. It does not plan routes, so it works next to whatever you use for the order.
Try Take Fleet free →Questions people ask
Does Google Maps optimize the order of multiple stops?+
No. The Google Maps app routes your stops in the order you enter them. You can drag them into a new order yourself. To get the fastest order automatically, use the Routes API with optimizeWaypointOrder, or the Route Optimization API.
How many stops can Google Maps handle?+
Up to 9 stops in the Google Maps app, including the final destination. The Routes API takes up to 25 stops between the start and the finish.
Is route optimization free with the Google Maps API?+
Partly. Routes API requests with optimizeWaypointOrder bill as Compute Routes Pro, which includes 5,000 free requests a month. Route Optimization fleet routing includes 1,000 free requests a month.