您需要本周可以发送的实时交通数据:有关事故、危险、警察、道路封闭和影响您服务区域的确切拥堵的警报。在本指南结束时,您将查询一个真实的端点,该端点返回 Waze 警报和拥堵的边界框,解析结果,并准备将其集成到路由、预计到达时间和事件仪表板中。
此 API 为您提供的内容
Zyla API Hub 上的 Waze 数据 API 直接从 Waze 返回实时交通情报,重点关注:
- 警报:事故、道路封闭、危险、警察等。
- 拥堵:您选择的矩形内的拥堵事件。
- 路由:可选端点,用于获取带有警报的驾驶方向。
典型用途包括服务调度、动态预计到达时间、交通感知通知、驾驶员路由用户界面和城市运营仪表板。所有内容都在一个 Zyla 帐户和 API 密钥下运行,采用订阅 + 配额计费(而不是按调用计费)。您可以从其市场页面开始为此 API 开始 7 天试用。
在 Zyla API Hub 上开始
要获取 API 密钥并进行首次调用:
- 打开 API 列表并开始您的试用: 开始 7 天试用 Waze 数据 API。
- 点击订阅或开始免费试用(如果可用),并复制您的 API 密钥。
- 使用 Authorization: Bearer YOUR_API_KEY 调用下面文档中的端点。
Zyla API Hub 在一个订阅模型和一个 API 密钥下托管超过 10,000 个公共 API。您可以稍后添加其他交通、映射或实用程序 API,而无需更改您的身份验证设置。
端点:警报和拥堵
使用此端点获取由左下角和右上角的纬度/经度对定义的地理矩形的实时警报和拥堵。
- 方法:GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams
- 描述:通过左下角和右上角的纬度、经度对从 Waze 获取地理矩形区域的实时警报数据和拥堵信息。支持所有 Waze 警报类型,包括事故、道路封闭、危险、交通拥堵、警察等。
必需的查询参数
- bottom_left (字符串,必需): 51.2800,-0.5100
- top_right (字符串,必需): 51.5000,-0.0800
可选的查询参数
- max_alerts (字符串,可选): 100
- max_jams (字符串,可选): 0
cURL 示例(复制粘贴)
curl -s -X GET "https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams?bottom_left=51.2800%2C-0.5100&top_right=51.5000%2C-0.0800&max_alerts=100&max_jams=0" \
-H "Authorization: Bearer YOUR_API_KEY"
官方示例响应
{
"status": "OK",
"request_id": "86b7f40f-b386-4aee-af95-274974d93184",
"parameters": {
"bottom_left": [
"51.2800",
"-0.5100"
],
"top_right": [
"51.5000",
"-0.0800"
],
"max_alerts": 100,
"max_jams": 0
},
"data": {
"alerts": [
{
"alert_id": "alert-1851823848/7b5e52cb-9549-4955-a117-ce19dd01fe9b",
"type": "HAZARD",
"subtype": "HAZARD_ON_ROAD_CONSTRUCTION",
"reported_by": "Causeway one.network",
"description": ".",
"image": null,
"publish_datetime_utc": "2026-07-22T08:30:00.000Z",
"country": "GB",
"city": "Mole Valley",
"street": null,
"latitude": 51.281508,
"longitude": -0.369863,
"num_thumbs_up": 7,
"alert_reliability": 0,
"alert_confidence": 0,
"near_by": null,
"provider": "Elgin (Road works)",
"provider_id": "151505923",
"comments": [],
"num_comments": 0
},
{
"alert_id": "alert-1191763163/60f6957d-0668-49d6-b43f-710177584187",
"type": "HAZARD",
"subtype": "HAZARD_ON_ROAD_CONSTRUCTION",
"reported_by": "Causeway one.network",
"description": ".",
"image": null,
"publish_datetime_utc": "2026-05-15T13:00:00.000Z",
"country": "GB",
"city": "Mole Valley",
"street": "Durleston Park Dr",
"latitude": 51.280691,
"longitude": -0.365612,
"num_thumbs_up": 39,
"alert_reliability": 0,
"alert_confidence": 0,
"near_by": null,
"provider": "Elgin (Road works)",
"provider_id": "149944301",
"comments": [],
"num_comments": 0
},
{
"alert_id": "alert-1618880859/60722796-8030-486e-913c-4e683837b754",
"type": "ROAD_CLOSED",
"subtype": null,
"reported_by": "ClosureMonitor",
"description": "因道路施工而关闭,直到 7 月 31 日。参考 #151583431",
"image": null,
"publish_…
您实际使用的内容:
- 状态和请求 ID 用于请求跟踪和错误处理。
- 参数以确认查询矩形和应用的任何限制。
- data.alerts[n] 字段用于映射和通知:
- alert_id:用于去重的唯一标识符。
- 类型和子类型:对事件进行分类(例如,HAZARD,ROAD_CLOSED)。
- publish_datetime_utc:警报最近性的 ISO 8601 UTC 时间戳。
- 纬度,经度:用于您的地图图层的 WGS84 坐标。
- 城市、街道、国家:用户界面的文本标签。
- num_thumbs_up:快速的社区信心信号。
Python 示例:获取和过滤警报
下面的代码片段查询相同的警报和拥堵端点,提取核心字段,并过滤关闭和危险。在运行之前,请替换 YOUR_API_KEY。
import os
import requests
from datetime import datetime, timezone
API_KEY = os.getenv("ZYLALABS_API_KEY", "YOUR_API_KEY")
URL = "https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams"
params = {
"bottom_left": "51.2800,-0.5100",
"top_right": "51.5000,-0.0800",
"max_alerts": "100",
"max_jams": "0",
}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(URL, headers=headers, params=params, timeout=30)
resp.raise_for_status()
payload = resp.json()
if payload.get("status") != "OK":
raise SystemExit(f"API error: {payload}")
alerts = payload.get("data", {}).get("alerts", [])
def parse_iso_utc(ts):
# publish_datetime_utc 是带 Z 的 ISO 8601
try:
return datetime.fromisoformat(ts.replace("Z", "+00:00"))
except Exception:
return None
# 示例:关注过去 24 小时的关闭和危险
now = datetime.now(timezone.utc)
recent = []
for a in alerts:
ts = parse_iso_utc(a.get("publish_datetime_utc"))
if ts and (now - ts).total_seconds() <= 24 * 3600:
if a.get("type") in {"ROAD_CLOSED", "HAZARD"}:
recent.append({
"alert_id": a.get("alert_id"),
"type": a.get("type"),
"subtype": a.get("subtype"),
"city": a.get("city"),
"street": a.get("street"),
"lat": a.get("latitude"),
"lon": a.get("longitude"),
"published": a.get("publish_datetime_utc"),
"thumbs": a.get("num_thumbs_up"),
})
for r in recent:
print(f"[{r['published']}] {r['type']} ({r['subtype']}) at {r['lat']},{r['lon']} - {r['city']} {r['street'] or ''} (id={r['alert_id']}, 👍{r['thumbs']})")
参数和数据处理说明
- 坐标是纬度、经度对(WGS84)。API 期望 bottom_left 和 top_right 形成有效矩形。
- max_alerts 和 max_jams 允许您限制结果,如果您在密集地图上呈现。设置为 0 以在列表文档支持时禁用某个类别(例如,示例中的 max_jams=0)。
- 时间戳以 UTC(Z 后缀)返回。解析为 ISO 8601。
- 对于仪表板,简要缓存响应(例如,30-60 秒),以减少闪烁,同时保持新鲜。始终在日志中显示请求 ID 以跟踪问题。
端点:驾驶方向(沿路线的警报)
可选地,在两个坐标之间获取潜在路线以及影响每条路线的警报。当您构建交通感知路由或预计到达时间并需要在候选路径上显示拥堵和事件时,这非常有用。
- 方法:GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6004/driving-directions
- 描述:从 Waze 获取路线/驾驶方向,包括每条可能路线上的警报。支持设置所需的到达时间。
必需的查询参数
- source_coordinates (字符串,必需): 32.0852999,34.78176759999999
- destination_coordinates (字符串,必需): 32.7940463,34.989571
cURL 示例
响应包括路线元数据,如 length_meters 和 duration_seconds,以及一个警报数组,其中包含 type=JAM 和子类型如 JAM_STAND_STILL_TRAFFIC 的项目。使用这些标记 UI 中的风险或缓慢段,并计算交通调整的预计到达时间。
您本周可以发送的实际用例
- 服务区域事件源:轮询警报和拥堵端点以获取您的交付/现场操作矩形。将 ROAD_CLOSED 和 HAZARD 警报推送到 Slack,附上坐标和城市/街道。
- 交通感知预计到达时间:将驾驶方向的 duration_seconds 与警报密度结合,以决定何时重新路由或缓冲预计到达时间。为驾驶员应用程序注释路线警报。
- 地图覆盖:将警报绘制为带有类型/子类型图标的点,并显示 num_thumbs_up 作为快速信心提示。将拥堵与危险进行不同的颜色编码。
- 运营指标:按小时和类型跟踪您矩形内的警报计数,以了解重复瓶颈(例如,施工热点)。
通过 MCP 从 AI 代理调用 API
您还可以使用 Zyla 的 MCP 端点从 AI 编码助手或自主代理协调实时交通调用。任何与 MCP 兼容的客户端(例如,Claude Code、Cursor、Windsurf)都可以通过以下方式访问市场工具:
- 使用 MCP 端点和您的 Zyla API 密钥(如您的帐户中提供)配置您的客户端。
- 让代理调用 Waze 数据 API 的警报和拥堵或驾驶方向工具,传递上述相同的查询参数。
- MCP 集中身份验证和工具发现,因此您可以在编码会话或 CI 作业中编写交通检查,而无需重新实现 HTTP 管道。
节省时间的集成提示
- 边界框:按市场或仓库存储您的服务矩形,并在调用之前验证 bottom_left.lat < top_right.lat 和 bottom_left.lon < top_right.lon。
- 去重:使用 alert_id 作为数据库或缓存中的稳定键。如果您频繁轮询,请执行 upsert 而不是追加。
- 刷新频率:事件迅速演变;30-120 秒的间隔平衡新鲜度和配额。根据市场密度进行调整。
- 地图用户体验:将类型/子类型转换为图标。对于像 HAZARD_ON_ROAD_CONSTRUCTION 这样的危险,当在您的组织中可用时,将其与计划的工作日历关联。
- 错误处理:记录状态和请求 ID。如果状态不是 OK,请退回并重试,带有抖动。
安全性和定价说明
- 身份验证:在每个请求中发送 Authorization: Bearer YOUR_API_KEY。
- 计费:订阅 + 配额,而不是按调用计费。没有免费计划;请查看 API 页面以获取当前访问选项和定价。
- 试用:Waze 数据 API 列表提供 7 天试用,您可以从项目页面开始。
下一步
如果您需要一个获取警报和拥堵的 API,您可以今天实现矩形查询,并在几分钟内呈现您的第一个事件。创建您的帐户,订阅,并从您的服务或代理工作流中调用端点。从这里开始: 开始 7 天试用 Waze 数据 API。
常见问题
API 期望什么坐标格式?
纬度、经度对(WGS84),作为字符串,适用于 bottom_left 和 top_right。示例: 51.2800,-0.5100。
如果矩形密集,我如何限制结果?
使用 max_alerts 和 max_jams 来限制返回的项目,如 cURL 示例所示。
时间戳在哪个时区?
publish_datetime_utc 采用 UTC,并格式化为 ISO 8601(例如,2026-07-22T08:30:00.000Z)。相应地解析。
我可以检索沿路线的警报,而不是矩形吗?
可以。使用驾驶方向端点获取与源和目标坐标之间的路线相关的路线和警报。
我在哪里管理我的 API 密钥和计划?
在 Zyla API Hub 列表和您的帐户仪表板上。使用列表页面开始 7 天试用,查看配额并检索您的密钥。