Waze
Traffic alerts, routing, search, and geocoding from Waze, served as plain REST.
Endpoints
| Endpoint | Path params | Query params | What it returns | Price | Data up to |
|---|---|---|---|---|---|
GET /waze/alerts |
— | north, south, east, west |
Live traffic alerts and road events in a bounding box. | $0.003 | 15 sec |
GET /waze/route |
— | from_lat, from_lon, to_lat, to_lon, vehicle_type, max_routes |
Route options between two points. | $0.005 | 15 sec |
GET /waze/search |
— | query, lat, lon, max_results |
Search places by name near a location. | $0.003 | 5 min |
GET /waze/reverse-geocode |
— | lat, lon, radius |
Place and address data for a coordinate. | $0.003 | 5 min |
GET /waze/walking-distance |
— | from_lat, from_lon, to_lat, to_lon |
Walking distance between two points. | $0.001 | 1 hr |
GET /waze/eta-batch |
— | from_lat, from_lon, to (repeated), vehicle_type |
ETAs from one point to several destinations. | $0.005 | 15 sec |
GET /waze/nearby |
— | lat, lon, max_results |
Nearby places. | $0.003 | 5 min |
GET /waze/sos-providers |
— | lat, lon |
Roadside-assistance providers near a location. | $0.001 | 24 hr |
Prices are per call, paid in USDC with x402. "Data up to" is the cache window: a repeated call inside it returns the same data.
Calling it
# x402: no account or API key. The server answers 402 with payment instructions; an x402 client pays and repeats the request.
curl -i "https://<base-url>/waze/alerts?north=13.8&south=13.6&east=100.6&west=100.4"
Responses are JSON. Field names follow the upstream source, so a response can be larger than the table above suggests.
Notes
alertsis parsed from Waze's legacy CSV protocol into named objects; other endpoints pass through Waze's protobuf responses.vehicle_typeis free text (PRIVATE,MOTORCYCLE,TAXI) — Waze's own client does not validate it either.eta-batchmatches results to destinations by position, not byidentifier— keeptoentries in the order you want results back.