Traffic-Aware Routing API

Factor in historical congestion patterns when calculating ETAs and routes

Factor in historical congestion patterns for accurate ETAs.

How it works

1

Set departure time

Pass a timestamp to factor in congestion patterns.

2

Plaza adjusts the route

Historical congestion patterns adjust speed and route selection.

3

Get traffic-aware ETA

Duration, duration_in_traffic, and adjusted geometry.

See it in action

A real API request, visualized.

terminal
$

          

Who uses this

Teams building with Traffic-Aware Routing API.

Transit planning

Predict commute times for different departure windows.

Logistics

Plan deliveries around peak congestion hours.

Ride-hailing

Accurate fare estimates that account for current traffic.

Start building

curl -X POST "https://plaza.fyi/api/v1/route" \
-H "Content-Type: application/json" \
-d '{
"origin": {"lat": 40.7128, "lng": -74.006},
"destination": {"lat": 40.758, "lng": -73.9855},
"depart_at": "now",
"traffic_model": "best_guess"
}'
View endpoints
Method Path Description
POST /api/v1/route Directions with depart_at or traffic_model parameters

How it compares

Google: $10/1K requests with traffic
Plaza: from $1.50/1K
Mapbox: Traffic data feed enterprise only
Plaza: Traffic-aware routing on all paid plans
OSRM: No traffic support
Plaza: Historical traffic models included

Common questions

Is traffic routing a paid add-on?

No. Google charges $10/1K for traffic-aware directions vs $5/1K without. Plaza includes traffic in every routing request at the standard premium rate — no surcharge.

What traffic models does Plaza support?

Three models: best_guess (default, uses historical patterns), optimistic (lighter-than-average traffic), and pessimistic (heavier-than-average). Set via the traffic_model parameter.

How current is the traffic data?

Plaza uses historical traffic patterns based on time-of-day and day-of-week variations for major road networks worldwide.

Does traffic affect isochrones and distance matrices too?

Yes. Pass the depart_at parameter on isochrone and matrix requests to get traffic-adjusted results.

Try it yourself