Waze API — Real-Time Traffic, Alerts & Road Incidents avatar

Waze API — Real-Time Traffic, Alerts & Road Incidents

Pricing

from $5.60 / 1,000 alerts & jams queries

Go to Apify Store
Waze API — Real-Time Traffic, Alerts & Road Incidents

Waze API — Real-Time Traffic, Alerts & Road Incidents

Pull real-time Waze traffic data via API: accidents, hazards, police reports, road closures and live jams in any map area, plus driving directions with on-route alerts and venue search. Clean geo-coded JSON rows for logistics, routing, fleet and mobility analytics. No Waze account needed.

Pricing

from $5.60 / 1,000 alerts & jams queries

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

Waze API — Real-Time Traffic, Alerts & Road Incidents 🚦

SIÁN Agency Store Instagram AI Transcript Extractor Dubai Real Estate Scraper Property Skip Tracing

🎉 Real-time road incidents straight from Waze's crowd — accidents, hazards, police, road closures & live jams in any map area, plus driving directions with on-route alerts.

Built for logistics, fleet routing, mobility analytics, insurance risk and navigation teams who need live traffic data no Google Maps clone exposes.


📋 Overview

Tap the world's largest crowd-sourced traffic network through a clean Waze API — pull live road incidents, congestion, driving routes and venues into structured, geo-coded datasets, no Waze account or API key of your own required.

Why teams choose this over a generic maps scraper:

  • Crowd-sourced incident data: accidents, hazards, police reports, road closures and live jams — the exact real-time signal Google Maps/Places scrapers don't carry.
  • 3 operations in one actor: Alerts & Jams, Driving Directions, and Venues — one operation per run, one clean dataset out.
  • 🎯 Clean geo on every row: latitude/longitude on every incident, full jam polylines preserved, GeoJSON venue points normalized — ready to drop on a map.
  • 💰 Predictable per-query pricing: bounding-box operations are charged once per map area regardless of how busy it is — no sticker shock on dense cities.
  • 💎 Market-exclusive driving directions: Waze route alternatives with on-route alerts, toll pricing, HOV flags and arrival-time targeting — data no standard directions API returns.
  • No Waze account needed: just define a map area or route and run.

✨ Features

  • 🚦 Alerts & Jams by map area — every accident, hazard, police report, road closure and traffic jam inside a bounding box, one row per incident.
  • 🧭 Driving Directions with incidents — candidate Waze routes between two points, each carrying its on-route alerts, jams, toll price, HOV flag and arrival-time support.
  • 📍 Venue search — points of interest inside any map area, with normalized coordinates and categories.
  • 🏷️ Type & subtype filters — narrow Alerts & Jams to just POLICE, ACCIDENT, HAZARD, ROAD_CLOSED and more.
  • 🐌 Congestion metrics — jam level (0–5), speed (km/h), length (m) and delay on every jam row.
  • 🗺️ Polyline preservation — full jam and route geometry kept alongside a clean representative point.
  • 📊 One flat dataset per run — filter by _operation and recordType to split modes; export to JSON, CSV or Excel.

🎬 Quick Start

Pick an operation, define a map area (or a route), and run. Each run produces one clean dataset. Below: pull live alerts and jams for a New York City bounding box.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~waze-traffic-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"operation":"alertsAndJams","bottomLeft":"40.66615,-74.13732","topRight":"40.77278,-73.76818"}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose your operation

Pick Alerts & Jams for incidents in an area, Driving Directions for route-level traffic, or Venues for points of interest.

Step 2: Define the area or route

For area operations, set the bottom-left and top-right corners (latitude,longitude). For directions, set source and destination coordinates.

Step 3: Run and export

Start the run and collect your geo-coded rows from the dataset — export as JSON, CSV or Excel.

That's it! In under a minute, you'll have:

  • Live road incidents with coordinates, street, city and reliability score
  • Traffic jams with level, speed, length and full polyline
  • Clean rows ready for mapping, routing or analytics dashboards

📥 Input Configuration

Pick one operation per run. Fields are used only by the operations noted.

FieldTypeRequiredUsed byDescription
operationenumYesallalertsAndJams · drivingDirections · venues
bottomLeftstringYes*Alerts & Jams, VenuesBottom-left map corner, latitude,longitude
topRightstringYes*Alerts & Jams, VenuesTop-right map corner, latitude,longitude
maxAlertsintegerNoAlerts & JamsMax alerts to fetch (default 20)
maxJamsintegerNoAlerts & JamsMax jams to fetch (default 20)
alertTypesstringNoAlerts & JamsComma list: ACCIDENT,HAZARD,POLICE,ROAD_CLOSED
alertSubtypesstringNoAlerts & JamsComma list of alert subtypes
sourceCoordinatesstringYes*Driving DirectionsRoute start, latitude,longitude
destinationCoordinatesstringYes*Driving DirectionsRoute end, latitude,longitude
returnRouteCoordinatesbooleanNoDriving DirectionsInclude the full route polyline
arrivalTimestampintegerNoDriving DirectionsDesired arrival time (Unix seconds)
venueCategoriesstringNoVenuesComma list of venue categories
zoomLevelstringNoVenuesWaze zoom level 1–4

*Required for the operations listed in the "Used by" column.

Example — Alerts & Jams:

{
"operation": "alertsAndJams",
"bottomLeft": "40.66615,-74.13732",
"topRight": "40.77278,-73.76818",
"maxAlerts": 20,
"maxJams": 20,
"alertTypes": "ACCIDENT,HAZARD,POLICE,ROAD_CLOSED"
}

Example — Driving Directions:

{
"operation": "drivingDirections",
"sourceCoordinates": "32.0853,34.781767",
"destinationCoordinates": "32.794046,34.989571",
"returnRouteCoordinates": true
}

📤 Output

Results are saved to the Apify dataset, one flat row per item, tagged by recordType (alert, jam, route, venue). Each row spreads the raw upstream fields alongside clean camelCase aliases.

FieldTypeDescription
recordTypestringalert / jam / route / venue
latitude / longitudenumberClean point coordinates
alertTypestringACCIDENT, HAZARD, POLICE, ROAD_CLOSED, …
alertDescriptionstringHuman-readable incident description
street / city / countrystringLocation
alertReliabilityintegerCrowd reliability score
jamLevelintegerCongestion level 0–5
speedKmhnumberAverage jam speed
lengthMetersintegerJam / route length
lineCoordinatesarrayFull jam polyline
routeNamestringDriving route name
durationSecondsintegerRoute travel time
isToll / isHovbooleanRoute flags
tollPricenumberToll cost (toll routes)
routeAlertsarrayOn-route incidents
venueNamestringVenue / POI name

Example row (alert):

{
"recordType": "alert",
"alertType": "HAZARD",
"alertSubtype": "HAZARD_ON_ROAD_CONSTRUCTION",
"alertDescription": "Construction Pulaski Skyway NB ramp lane closed",
"city": "Kearny",
"latitude": 40.734439,
"longitude": -74.104087,
"alertReliability": 0,
"publishDatetimeUtc": "2026-06-05T13:00:29.000Z",
"_operation": "alertsAndJams",
"status": "success"
}

💼 Use Cases & Examples

1. Logistics & Fleet Routing

Dispatchers rerouting delivery fleets around live disruptions.

Input: Bounding boxes along delivery corridors (Alerts & Jams) + source/destination pairs (Driving Directions) Output: Live accidents, closures and jams plus route alternatives with on-route alerts Use: Detect a closure on a planned route and switch drivers to a clear alternative in real time.

2. Mobility & Traffic Analytics

Urban-mobility researchers building congestion datasets.

Input: A city-wide grid of bounding boxes, run on a schedule Output: Jam level, speed, length and delay per area Use: Aggregate congestion over time into heatmaps and mobility reports.

3. Insurance & Risk Monitoring

Underwriters scoring accident and hazard density.

Input: Defined zones, filtered to ACCIDENT,HAZARD Output: Incident counts and locations per area Use: Feed claims triage and underwriting signals with road-risk data.

4. News & Incident Monitoring

Local newsrooms and public-safety teams surfacing road events.

Input: Bounding boxes over a coverage area Output: Road closures, police activity and major hazards with street and coordinates Use: Power live traffic alerts and breaking-incident desks.

5. Navigation-Product Enrichment

Routing and mapping apps adding crowd-sourced intelligence.

Input: Source/destination coordinate pairs Output: Waze route alternatives with on-route alerts, toll/HOV flags and arrival-time estimates Use: Surface incident-aware routes that standard directions APIs can't provide.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/waze-traffic-scraper').call({
operation: 'alertsAndJams',
bottomLeft: '40.66615,-74.13732',
topRight: '40.77278,-73.76818',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/waze-traffic-scraper').call(
run_input={
'operation': 'drivingDirections',
'sourceCoordinates': '32.0853,34.781767',
'destinationCoordinates': '32.794046,34.989571',
}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~waze-traffic-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"venues","bottomLeft":"48.851,2.334","topRight":"48.853,2.354"}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: Schedule (e.g. every 15 min) or webhook
  2. HTTP Request: Call the actor API with your operation + map area
  3. Process: Handle the JSON rows (filter by recordType)
  4. Action: Save to a database, push to a map, or alert on new closures

📊 Performance & Pricing

FREE Tier (Try It Now)

  • Full feature access across all four operations, same data quality
  • No credit card required
  • Perfect for testing a map area or route
  • Run any volume of map areas and routes
  • Pay-per-result: charged only for successful queries (driving routes charged per route)
  • Predictable per-query billing on bounding-box operations

💰 Transparent, predictable pricing — a busy city bounding box costs the same as a quiet one.

🔗 View current pricing


❓ Frequently Asked Questions

Q: What data does the Alerts & Jams operation return? A: Every real-time alert (accidents, hazards, police reports, road closures) and traffic jam inside your map area, one row per incident with coordinates, street, city and a reliability score.

Q: How is billing calculated? A: Bounding-box operations (Alerts & Jams, Venues) are charged once per successful query regardless of how many incidents are returned. Driving Directions is charged per route returned.

Q: Does the actor support place autocomplete? A: Not at the moment. The autocomplete operation is temporarily disabled while we validate its upstream data availability — it will return in a future release. Use Alerts & Jams, Driving Directions or Venues for production data.

Q: What output formats are available? A: JSON, CSV and Excel — export directly from the Apify dataset.

Q: Do I need a Waze account or API key? A: No. Just define a map area or route and run.

Q: What coordinate format should I use? A: A latitude,longitude pair, e.g. 40.66615,-74.13732. Bounding boxes use a bottom-left and top-right corner.

Q: Is this legal? A: We help you collect publicly available traffic data. See the legal section below.


🐛 Troubleshooting

No rows returned for a map area

  • The area may genuinely have no active incidents — try a larger box or a busier city.
  • Verify your bottomLeft and topRight are in latitude,longitude order and that bottom-left is south-west of top-right.

"must be a latitude,longitude pair" error

  • Check your coordinate strings contain exactly two numbers separated by a comma (no spaces required, e.g. 40.66615,-74.13732).

Data source temporarily unavailable

  • The actor retries transient upstream errors automatically. If it persists, wait a moment and re-run.

⚠️ Trademark Disclaimer

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Waze Mobile Ltd. or Google LLC. "Waze" and related marks are trademarks of their respective owners and are used here only to describe the data this tool helps you collect. Use this actor responsibly and in compliance with applicable laws, Waze's and Google's terms of service, and data-protection regulations (including GDPR and CCPA where applicable). You are responsible for how you use the data you extract.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location of individuals. They only extract what has been chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools