Você precisa de dados de tráfego ao vivo que pode enviar esta semana: alertas para acidentes, perigos, polícia, fechamentos de estrada e os congestionamentos exatos que afetam sua área de serviço. Ao final deste guia, você fará uma consulta a um endpoint real que retorna alertas e congestionamentos do Waze para uma caixa delimitadora, analisará os resultados e estará pronto para integrá-los em roteamentos, ETAs e painéis de incidentes.
O que esta API oferece
A API de Dados do Waze no Zyla API Hub retorna inteligência de tráfego em tempo real diretamente do Waze, focada em:
- Alertas: acidentes, fechamentos de estrada, perigos, polícia e mais.
- Congestionamentos: eventos de congestionamento dentro do seu retângulo selecionado.
- Roteamento: endpoint opcional para direções de direção com alertas ao longo das rotas candidatas.
Usos típicos incluem despacho de serviços, ETAs dinâmicos, notificações cientes do tráfego, interfaces de roteamento para motoristas e painéis de operações da cidade. Tudo funciona em uma única conta Zyla e chave de API, com cobrança de assinatura + cota (não por chamada). Você pode iniciar um teste de 7 dias desta API a partir da página do marketplace.
Começando no Zyla API Hub
Para obter uma chave de API e fazer sua primeira chamada:
- Abra a lista de APIs e inicie seu teste: Iniciar teste de 7 dias na API de Dados do Waze.
- Clique em Assinar ou Iniciar Teste Gratuito (quando disponível) e copie sua chave de API.
- Chame os endpoints documentados abaixo usando Authorization: Bearer YOUR_API_KEY.
O Zyla API Hub hospeda mais de 10.000 APIs públicas sob um modelo de assinatura e uma chave de API. Você pode adicionar outras APIs de tráfego, mapeamento ou utilitários mais tarde sem alterar sua configuração de autenticação.
Endpoint: Alertas e Congestionamentos
Use este endpoint para buscar alertas e congestionamentos em tempo real para um retângulo geográfico definido por pares de latitude/longitude inferior esquerdo e superior direito.
- Método: GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams
- Descrição: Obtenha dados de alertas em tempo real e informações sobre congestionamentos do Waze em uma área retangular geográfica por pares de latitude e longitude inferior esquerdo e superior direito. Suporta todos os tipos de alertas do Waze, incluindo acidentes, bloqueios de estrada, perigos, congestionamentos de tráfego, polícia e mais.
Parâmetros de consulta obrigatórios
- bottom_left (string, obrigatório): 51.2800,-0.5100
- top_right (string, obrigatório): 51.5000,-0.0800
Parâmetros de consulta opcionais
- max_alerts (string, opcional): 100
- max_jams (string, opcional): 0
exemplo de cURL (copiar-colar)
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"
Resposta de exemplo oficial
{
"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": "Fechado até 31 de jul para obras. Ref #151583431",
"image": null,
"publish_…
O que você realmente usará:
- status e request_id para rastreamento de solicitações e tratamento de erros.
- parameters para confirmar o retângulo de consulta e quaisquer limites aplicados.
- data.alerts[n] campos para mapeamento e notificações:
- alert_id: identificador único para desduplicação.
- type e subtype: classificar incidentes (por exemplo, HAZARD, ROAD_CLOSED).
- publish_datetime_utc: timestamp UTC ISO 8601 para recência do alerta.
- latitude, longitude: coordenadas WGS84 para suas camadas de mapa.
- city, street, country: rótulos de texto para a interface do usuário.
- num_thumbs_up: sinal rápido de confiança da comunidade.
Exemplo em Python: buscar e filtrar alertas
O trecho abaixo consulta o mesmo endpoint de Alertas e Congestionamentos, extrai campos principais e filtra por fechamentos e perigos. Substitua YOUR_API_KEY antes de executar.
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"Erro da API: {payload}")
alerts = payload.get("data", {}).get("alerts", [])
def parse_iso_utc(ts):
# publish_datetime_utc é ISO 8601 com Z
try:
return datetime.fromisoformat(ts.replace("Z", "+00:00"))
except Exception:
return None
# Exemplo: focar em fechamentos e perigos das últimas 24 horas
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']}) em {r['lat']},{r['lon']} - {r['city']} {r['street'] or ''} (id={r['alert_id']}, 👍{r['thumbs']})")
Notas sobre parâmetros e manipulação de dados
- Coordenadas são pares de latitude,longitude (WGS84). A API espera bottom_left e top_right formando um retângulo válido.
- max_alerts e max_jams permitem que você limite os resultados se estiver renderizando em um mapa denso. Defina como 0 para desativar uma categoria quando suportado pela documentação da lista (por exemplo, max_jams=0 no exemplo).
- Os timestamps são retornados como UTC (sufixo Z). Analise como ISO 8601.
- Para painéis, armazene as respostas brevemente (por exemplo, 30–60 segundos) para reduzir o piscar enquanto se mantém atualizado. Sempre exiba o request_id em algum lugar nos logs para rastrear problemas.
Endpoint: Direções de Direção (com alertas ao longo da rota)
Opcionalmente, busque rotas potenciais entre duas coordenadas e os alertas que afetam cada rota. Isso é útil quando você está construindo roteamento ciente do tráfego ou ETAs e precisa exibir congestionamentos e incidentes ao longo de caminhos candidatos.
- Método: GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6004/driving-directions
- Descrição: Obtenha rotas / direções de direção do Waze, incluindo alertas ao longo de cada rota possível. Suporta a definição do horário de chegada desejado.
Parâmetros de consulta obrigatórios
- source_coordinates (string, obrigatório): 32.0852999,34.78176759999999
- destination_coordinates (string, obrigatório): 32.7940463,34.989571
exemplo de cURL
As respostas incluem metadados da rota, como length_meters e duration_seconds, e um array de alertas com itens como type=JAM e subtipos como JAM_STAND_STILL_TRAFFIC. Use esses para sinalizar segmentos arriscados ou lentos em sua interface e para calcular ETAs ajustados ao tráfego.
Casos de uso práticos que você pode enviar esta semana
- Feed de incidentes da área de serviço: Consulte o endpoint de Alertas e Congestionamentos para seu retângulo de operações de entrega/campo. Envie alertas de ROAD_CLOSED e HAZARD para o Slack com coordenadas e cidade/rua.
- ETAs cientes do tráfego: Combine a duração_seconds das Direções de Direção com a densidade de alertas para decidir quando redirecionar ou bufferizar ETAs. Anote rotas com alertas de rota para aplicativos de motoristas.
- Sobreposições de mapa: Desenhe alertas como pontos com ícones por tipo/subtipo e exiba num_thumbs_up como uma dica rápida de confiança. Codifique cores de congestionamentos de forma diferente de perigos.
- Métricas de operações: Acompanhe contagens de alertas por hora e tipo dentro do seu retângulo para entender gargalos recorrentes (por exemplo, pontos quentes de construção).
Chame a API de agentes de IA via MCP
Você também pode orquestrar chamadas de tráfego ao vivo de assistentes de codificação de IA ou agentes autônomos usando o endpoint MCP da Zyla. Qualquer cliente compatível com MCP (por exemplo, Claude Code, Cursor, Windsurf) pode acessar as ferramentas do marketplace via:
- Configure seu cliente com o endpoint MCP e sua chave de API Zyla (conforme fornecido em sua conta).
- Faça o agente invocar as ferramentas de Alertas e Congestionamentos ou Direções de Direção da API de Dados do Waze, passando os mesmos parâmetros de consulta mostrados acima.
- MCP centraliza a autenticação e descoberta de ferramentas para que você possa scriptar verificações de tráfego dentro de sessões de codificação ou trabalhos de CI sem reimplementar a infraestrutura HTTP.
Dicas de integração que economizam tempo
- Caixas delimitadoras: Armazene seus retângulos de serviço por mercado ou depósito e valide que bottom_left.lat < top_right.lat e bottom_left.lon < top_right.lon antes de chamar.
- Desduplicação: Use alert_id como uma chave estável em seu banco de dados ou cache. Se você consultar com frequência, faça upsert em vez de append.
- Cadência de atualização: Incidentes evoluem rapidamente; intervalos de 30–120 segundos equilibram frescor e cota. Ajuste por densidade de mercado.
- UX do mapa: Converta tipo/subtipo em iconografia. Para perigos como HAZARD_ON_ROAD_CONSTRUCTION, vincule a calendários de trabalho programados quando disponíveis em sua organização.
- Tratamento de erros: Registre status e request_id. Se o status não for OK, diminua a velocidade e tente novamente com jitter.
Notas de segurança e preços
- Autenticação: Envie Authorization: Bearer YOUR_API_KEY em cada solicitação.
- Faturamento: assinatura + cota, não por chamada. Não há plano gratuito; verifique a página da API para opções de acesso e preços atuais.
- Teste: a lista da API de Dados do Waze oferece um teste de 7 dias que você pode iniciar a partir da página do item.
Próximos passos
Se você precisa de uma API para obter alertas e congestionamentos, pode implementar a consulta retangular hoje e renderizar seus primeiros incidentes em minutos. Crie sua conta, assine e chame os endpoints do seu serviço ou fluxo de trabalho de agente. Comece aqui: Iniciar teste de 7 dias na API de Dados do Waze.
FAQ
Qual formato de coordenadas a API espera?
Pares de Latitude,Longitude (WGS84) como strings, para ambos bottom_left e top_right. Exemplo: 51.2800,-0.5100.
Como limito os resultados se um retângulo for denso?
Use max_alerts e max_jams para limitar os itens retornados, conforme mostrado no exemplo de cURL.
Em que fuso horário estão os timestamps?
publish_datetime_utc está em UTC e formatado como ISO 8601 (por exemplo, 2026-07-22T08:30:00.000Z). Analise de acordo.
Posso recuperar alertas ao longo de uma rota em vez de um retângulo?
Sim. Use o endpoint Direções de Direção para obter rotas e alertas associados a essas rotas entre coordenadas de origem e destino.
Onde gerencio minha chave de API e plano?
Na lista do Zyla API Hub e no painel da sua conta. Use a página da lista para iniciar o teste de 7 dias, revisar cotas e recuperar sua chave.