Route Optimization API

Solve TSP and vehicle routing problems for up to 25 stops

Solve the traveling salesman problem for up to 25 stops.

How it works

1

Send your stops

Pass up to 25 waypoints with optional time windows.

2

Plaza optimizes

TSP/VRP solver on the full road network.

3

Get optimal order

Reordered stops with total distance and duration.

See it in action

A real API request, visualized.

terminal
$

          

Who uses this

Teams building with Route Optimization API.

Last-mile delivery

Optimize delivery routes for drivers with time windows.

Field service

Schedule technician visits in the most efficient order.

Food delivery

Batch and optimize multi-pickup restaurant orders.

25

Max stops

TSP + VRP

Problem types

What you can build

Example apps powered by Route Optimization API.

Delivery Router

Optimize stop order for a fleet of delivery drivers.

Optimization Routing Geocoding

Field Service Scheduler

Plan technician routes with time window constraints.

Optimization Distance Matrix

Sales Territory Planner

Optimize travel between client meetings across a region.

Optimization Routing Isochrone

Start building

curl -X POST "https://plaza.fyi/api/v1/optimize" \
-H "Content-Type: application/json" \
-d '{
"waypoints": [
{"lat": 40.7128, "lng": -74.006},
{"lat": 40.758, "lng": -73.9855},
{"lat": 40.7484, "lng": -73.9857}
],
"mode": "driving"
}'
View endpoints
Method Path Description
POST /api/v1/optimize Submit a route optimization job (TSP/VRP)
GET /api/v1/optimize/:job_id Poll async optimization job status

How it compares

Google: $10/1K requests (Routes Optimization)
Plaza: from $1.50/1K
Mapbox: $2/1K requests (Optimization v2)
Plaza: from $1.50/1K
Both: Separate service from routing
Plaza: Same API, same key, same bill

Common questions

What's the difference between TSP and VRP?

TSP finds the shortest route visiting all stops once. VRP adds real-world constraints: vehicle capacity, delivery time windows, and multiple vehicles. Plaza handles both.

How long do optimization requests take?

Small jobs (under 10 stops) return in seconds. Larger jobs run asynchronously — submit via POST, then poll the job_id endpoint for results.

Can I set time windows for deliveries?

Yes. Each waypoint accepts optional time window constraints (earliest and latest arrival). The solver respects these when computing the optimal stop order.

Try it yourself