Você precisa de dados de navegação ao vivo em que possa confiar: incidentes, bloqueios de estrada, engarrafamentos e rotas práticas com ETAs. Ao final deste guia, você consultará os alertas e engarrafamentos do Waze para uma caixa delimitadora, recuperará direções de condução entre duas coordenadas e enviará esses resultados para seu aplicativo usando a API de Dados do Waze no Zyla API Hub.
O que você pode construir com a API de Dados do Waze
A API de Dados do Waze expõe duas capacidades principais de navegação:
- Alertas e engarrafamentos em tempo real dentro de um retângulo geográfico (acidentes, bloqueios de estrada, perigos, engarrafamentos, polícia e mais).
- Direções de condução entre duas coordenadas, incluindo alertas ao longo de cada rota e indicadores como “é_o_mais_rápido” e indicadores de pedágio/HOV.
As equipes usam isso para alimentar aplicativos de motorista, painéis de despacho, ferramentas de operações e sobreposições de segurança. Você obtém uma única conta, uma chave de API e um modelo de assinatura + cota via Zyla API Hub, que hospeda mais de 10.000 APIs públicas. A listagem da API de Dados do Waze oferece um teste de 7 dias ou 50 solicitações para novos usuários do Zyla; verifique a página da API para opções de acesso e preços atuais.
Começando no Zyla API Hub
- Abra a página da API de Dados do Waze 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) para obter sua chave de API.
- Envie solicitações com o cabeçalho Authorization: Bearer YOUR_API_KEY para os URLs exatos do Hub abaixo.
Se você estiver explorando outras categorias mais tarde, pode reutilizar a mesma chave em APIs no seu plano no Zyla API Hub.
Endpoint: Alertas e Engarrafamentos
Obtenha alertas e engarrafamentos em tempo real dentro de uma caixa delimitadora, especificada por pares de latitude,longitude do canto inferior esquerdo e do canto superior direito. Útil para sobreposições de mapa, avisos para motoristas ou notificações geofenced.
- Método: GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6003/alerts-and-jams
- Parâmetros obrigatórios:
- bottom_left (string): 51.2800,-0.5100
- top_right (string): 51.5000,-0.0800
- Parâmetros opcionais:
- max_alerts (string)
- max_jams (string)
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"
Exemplo de resposta 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_…
Campos-chave que você realmente usará:
- data.alerts[].type e subtype: categorização de perigo/engarrafamento/bloqueio para tags de UI e filtragem.
- latitude e longitude: plotar no mapa ou calcular proximidade a rotas/paradas.
- publish_datetime_utc: timestamps são UTC ISO-8601; armazene como UTC e converta no cliente apenas para exibição.
- cidade, rua, descrição: preencher texto de notificação ou painéis de operadores.
- num_thumbs_up: proxy simples de confiança para triagem.
Exemplo em Python: filtrar perigos de construção e bloqueios de estrada
import requests
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=20)
resp.raise_for_status()
payload = resp.json()
alerts = (payload.get("data") or {}).get("alerts") or []
construction_or_closed = []
for a in alerts:
a_type = a.get("type")
a_sub = a.get("subtype")
if a_type == "ROAD_CLOSED" or a_sub == "HAZARD_ON_ROAD_CONSTRUCTION":
construction_or_closed.append({
"id": a.get("alert_id"),
"type": a_type,
"subtype": a_sub,
"when_utc": a.get("publish_datetime_utc"),
"lat": a.get("latitude"),
"lon": a.get("longitude"),
"street": a.get("street"),
"city": a.get("city"),
"desc": a.get("description"),
})
print(f"Total de alertas: {len(alerts)} (construção/bloqueado: {len(construction_or_closed)})")
for row in construction_or_closed[:5]:
print(row)
Notas:
- As coordenadas são passadas como strings separadas por vírgula. A vírgula codificada na URL no exemplo cURL é tratada automaticamente pela biblioteca requests.
- Unidades: coordenadas em graus; timestamps em UTC; nenhuma paginação é documentada para este endpoint—use a caixa delimitadora e max_alerts/max_jams opcionais para controle de volume.
- Invalidação de cache: esses alertas são em tempo real por natureza; se você armazenar em uma camada de servidor, mantenha os TTLs curtos para categorias de segurança críticas.
Endpoint: Direções de Condução
Recupere opções de rota entre duas coordenadas e os alertas em cada rota. Isso é ideal para mostrar alternativas, calcular ETAs e fornecer prévias de perigos antes da viagem. A API suporta definir o horário de chegada desejado, mas os parâmetros para isso não estão detalhados aqui—consulte a página da API para as opções mais recentes.
- Método: GET
- URL: https://zylalabs.com/api/4814/waze-data-api/6004/driving-directions
- Parâmetros obrigatórios:
- source_coordinates (string): 32.0852999,34.78176759999999
- destination_coordinates (string): 32.7940463,34.989571
cURL
O que esperar na resposta
A resposta inclui uma ou mais rotas com atributos como:
- route_name: rótulo adequado para UI.
- length_meters e duration_seconds: use para exibições de distância/ETA e ordenação.
- is_fastest, is_toll, is_hov: lógica de seleção de rota.
- alerts: array de marcadores de alerta ao longo da rota (tipo, subtipo, coordenadas).
Campos de exemplo aparecem como:
Dicas práticas:
- duration_seconds está em segundos; converta para minutos para exibição ao usuário e mantenha os segundos brutos para cálculos de ETA.
- length_meters está em metros; para milhas ou quilômetros, converta no lado do cliente para evitar problemas de arredondamento.
- Se você precisar da geometria da rota, verifique se há um campo como route_coordinates; no exemplo acima, ele está presente, mas vazio—consulte a página da API para o comportamento e as flags atuais.
Casos de uso de navegação de alto sinal que você pode implementar esta semana
- Alertas de motorista geofenced: consulte Alertas e Engarrafamentos para sua área de serviço a cada N segundos/minutos e envie notificações para tipos ROAD_CLOSED ou HAZARD_ON_ROAD_CONSTRUCTION dentro de X metros de viagens ativas.
- Sobreposições de painel de despacho: desenhe todos os marcadores data.alerts dentro de uma caixa delimitadora regional; colorir por tipo (por exemplo, vermelho para ROAD_CLOSED, âmbar para HAZARD).
- Verificação de rota antes da atribuição: chame Direções de Condução para candidatos de coleta/descarte; rejeite rotas não mais rápidas com is_toll=true, a menos que o trabalho permita pedágios.
- Mensagens de clientes cientes do ETA: use duration_seconds para definir expectativas e mostre as duas melhores alternativas quando is_fastest for marginal.
- Monitoramento de operações: rastreie picos em perigos de construção via num_thumbs_up e filtragem de subtipo para priorizar comunicações com equipes de campo.
Detalhes de implementação que economizam tempo
- Ordem das coordenadas: todos os parâmetros mostrados usam latitude,longitude nessa ordem, como strings separadas por vírgula.
- Caixas delimitadoras: use um pequeno retângulo ao redor de um motorista para polling no dispositivo, ou caixas maiores por região para agregação no lado do servidor.
- Timestamps: publish_datetime_utc é UTC; armazene como UTC em todo o seu backend e localize no cliente apenas ao renderizar.
- Tratamento de erros: verifique status e request_id para observabilidade; registre request_id para correlacionar com seu monitoramento.
- Throughput: o marketplace usa um modelo de assinatura + cota, não pagamento por chamada. Para novos usuários do Zyla, a primeira API oferece um teste de 7 dias ou 50 solicitações. Sem Plano Gratuito. Para cotas e limites atuais, consulte a página da API.
Chame a API de agentes de IA via MCP
Se você usar clientes compatíveis com MCP (Claude Code, Cursor, Windsurf, etc.), aponte-os para o endpoint MCP do Zyla e forneça sua chave na URL:
Uma vez configurado, seu agente pode chamar os mesmos URLs do Waze Data API Hub com o cabeçalho Authorization: Bearer YOUR_API_KEY. Isso é útil para gerar automaticamente código de integração, elaborar funções de fetch ou executar chamadas de teste rápidas durante o desenvolvimento.
Fluxo de exemplo de ponta a ponta
- Na criação da viagem, chame Direções de Condução com source_coordinates e destination_coordinates. Selecione a rota onde is_fastest é verdadeiro; armazene duration_seconds para ETA.
- Durante a viagem, consulte Alertas e Engarrafamentos para uma pequena caixa delimitadora ao redor do motorista. Se você receber type=ROAD_CLOSED a 300 metros à frente, re-solicite Direções de Condução e proponha uma nova rota.
- No seu painel, visualize alertas atuais para todas as regiões ativas usando o mesmo endpoint de Alertas e Engarrafamentos, filtrados por subtipo e publish_datetime_utc dentro do seu limite de recência.
Lista de verificação de solução de problemas
- Respostas 401/403: verifique Authorization: Bearer YOUR_API_KEY e se sua assinatura está ativa.
- Array de alertas vazio: confirme se sua caixa delimitadora realmente intersecta redes rodoviárias e se max_alerts/max_jams não são excessivamente restritivos.
- Mapas lentos do lado do cliente: reduza a densidade de símbolos filtrando para um subconjunto de tipos ou agrupe marcadores em níveis de zoom mais altos.
- ETA parece desatualizado: re-consulte Direções de Condução quando Alertas e Engarrafamentos apresentarem um JAM ou ROAD_CLOSED próximo ao seu caminho.
FAQ
Com que frequência devo consultar Alertas e Engarrafamentos?
Depende do seu caso de uso e cota. Para sobreposições críticas de segurança, mantenha os intervalos curtos, mas equilibrados com seus limites; para painéis, intervalos mais longos podem ser suficientes. Comece pequeno, meça o volume e depois ajuste.
Quais unidades length_meters e duration_seconds usam?
Metros e segundos, respectivamente. Converta no cliente para milhas/quilômetros e minutos conforme necessário.
Posso solicitar rotas para um horário de chegada desejado?
O endpoint Direções de Condução suporta a definição de um horário de chegada desejado, mas os parâmetros não estão detalhados aqui. Consulte a página da API para opções atuais.
Como faço para filtrar apenas construções ou bloqueios?
Verifique data.alerts[].type e subtype, por exemplo, type=ROAD_CLOSED ou subtype=HAZARD_ON_ROAD_CONSTRUCTION.
Isso é pagamento por chamada?
Não. A Zyla usa um modelo de assinatura + cota. Para novos usuários do Zyla, a primeira API oferece um teste de 7 dias ou 50 solicitações. Consulte a listagem para detalhes atuais.
Pronto para adicionar dados de navegação ao vivo do Waze ao seu produto? Crie sua conta, obtenha sua chave e comece a construir com a API de Dados do Waze: Iniciar teste de 7 dias na API de Dados do Waze.