API meteorológica gratuita com qualidade do ar em uma chamada
Uma chave de API, dois endpoints e uma função Node.js de 40 linhas que retorna a temperatura atual e PM2,5 para qualquer cidade. Nenhuma atualização de nível de produto.
Você está criando um aplicativo de notificação de incêndio florestal, um planejador de rotas ou um banner de comércio eletrônico que reage à qualidade do ar local. Você precisa da temperatura atual, condições de chuva e PM2,5 da mesma API. Cada fornecedor meteorológico popular restringe a qualidade do ar a um produto separado nível, uma chave de API separada ou um contrato empresarial. Você não deveria ter que pagar US$ 40 por mês para diga ao usuário se é seguro correr ao ar livre.
A API botoi oferece /v1/weather/current e
/v1/air-quality/check na mesma chave gratuita. Dois endpoints POST, JSON in e JSON
out e 1.000 solicitações por dia depois de se inscrever.
Por que a AQI está escondida atrás de um acesso pago
OpenWeatherMap vende sua API Air Pollution como uma atualização. O plano gratuito cobre o clima atual e uma previsão de cinco dias, mas a qualidade histórica do ar e os limites mais elevados de chamadas de AQI residem no Níveis Professional e Enterprise que começam em US$ 40 por mês. Você também carrega uma chave de API separada por família de produtos, então um projeto de hobby acaba fazendo malabarismos com dois painéis.
WeatherAPI.com anuncia um milhão de chamadas gratuitas por mês, e eles oferecem isso para o clima. A qualidade do ar está incluída no plano Pro. AccuWeather mantém AQI em seu nível Enterprise com um portão de chamada de vendas. Tomorrow.io oferece a você um teste com limites de taxas baixos o suficiente para que uma única página atualizar queima através do seu orçamento.
| Provedor | Chamadas de nível gratuito | AQI grátis? | Autenticação | Pontos de extremidade combinados? |
|---|---|---|---|---|
| publicado | 5/min anônimo, 1000/dia digitado | Sim | Uma chave para ambos | Dois endpoints POST, uma chave |
| OpenWeatherMap | 1000/dia | Não (atualização paga) | Chave separada por produto | Não, dividido entre produtos |
| WeatherAPI.com | ~1 milhão/mês | Não (nível Pro) | Uma chave, portão Pro | Endpoint único, somente Pro |
| AccuWeather | Teste de 50/dia | Não (Empresa) | Vendas fechadas | Não |
Obtenha o clima atual em uma onda
O /v1/weather/current endpoint aceita o nome de uma cidade, um CEP ou uma lat/lon
par. Ele retorna temperatura em Celsius e Fahrenheit, umidade, velocidade do vento, um texto
condição, uma chave de ícone que você pode mapear para sua própria planilha sprite e as coordenadas resolvidas.
Resposta:
Segure-se no lat e lon campos. Você vai alimentá-los diretamente
o ponto final da qualidade do ar para que você não grave uma segunda chamada de geocodificação.
Adicione qualidade do ar em uma segunda onda
O /v1/air-quality/check endpoint leva lat/lon e retorna o US EPA Air
Índice de qualidade, um rótulo de categoria e as concentrações individuais de poluentes. PM2,5 e PM10
são os dois números com os quais a maioria dos aplicativos de saúde se preocupa; o restante cobre ozônio, dióxido de nitrogênio,
dióxido de enxofre e monóxido de carbono para casos de uso mais rigorosos.
Resposta:
Um AQI de 62 com um rótulo Moderado significa que a maioria das pessoas pode sair de casa, mas qualquer pessoa com asma
deveria ir com calma. O aqi_category campo evita que você agrupe o número
você mesmo e mantém sua cópia da UI consistente com a linguagem oficial da EPA.
Combine ambos em uma única função Node.js.
A maioria dos aplicativos quer um número por cidade, e não duas viagens de ida e volta separadas espalhadas pelo país. base de código. Esta função de 40 linhas envolve ambos os endpoints, lida com tempos limite e retorna um arquivo mesclado. objeto que você pode colocar em qualquer painel.
A função faz duas chamadas sequenciais porque a segunda precisa das coordenadas da primeira.
Se você já tiver lat/lon armazenado em cache de uma solicitação anterior, execute ambas as chamadas em paralelo com
Promise.all e reduza a latência pela metade. O nó 20+ tem nativo fetch
e AbortController, então você não precisa de axios ou busca de nó.
Três usos no mundo real com código
Planejador de rotas de corrida
Um aplicativo de fitness sugere rotas ao ar livre. Quando PM2.5 atinge picos ou uma tempestade está chegando, as sugestões de rota devem fazer uma pausa e mostrar uma alternativa interna. Esta função retorna um dos três estados: ir, pular ou consultivo.
O retorno dos três estados é importante. Um sim/não binário esconde o meio-termo onde a execução está bem, mas mais curto é mais inteligente. Usuários sensíveis apreciam as nuances e você evita frustrando corredores experientes com alertas excessivamente cautelosos.
Banner de comércio eletrônico para purificadores de ar
Uma loja de artigos domésticos vende purificadores de ar. Quando um visitante chega de uma cidade com AQI acima de 100, o produto é genuinamente útil, então mostre-o. Quando o ar estiver limpo, esconda o banner para que não parece medo de marketing.
Obtenha as condições por conta própria /api/conditions proxy para que sua chave de API permaneça
no servidor. Armazene em cache o resultado por cidade por 30 minutos no limite; AQI se move devagar o suficiente
aquele frescor de meia hora é bom para um banner de loja.
HEC de entrega com proteção climática
Um aplicativo de entrega mostra um HEC de 25 minutos. Chuva forte na cidade do piloto significa mais 10 minutos. Tempestades significam 20. Adicionar o buffer antes de exibir o ETA evita decepções clientes rastreando um passageiro atrasado.
Mantenha as regras de buffer simples. Motoristas e clientes confiam nos ETAs que pousam dentro do janela, e preencher 10 a 20 minutos para tempo chuvoso é mais honesto do que defensivo.
Limites e chaves de taxa
O acesso anônimo permite 5 solicitações por minuto e 100 por dia, baseadas em IP. Isso é o suficiente para crie uma demonstração ou crie um projeto pessoal sem se inscrever.
Cadastre-se para obter uma chave gratuita em botoi.com/api aumentar o limite para 1.000 solicitações
por dia. A mesma chave funciona para o clima e a qualidade do ar, além de mais de 190 outros pontos de extremidade em
a plataforma. Acerte um 429 e a API retornará um Retry-After cabeçalho em segundos, então
seu cliente pode recuar de forma limpa.
Pontos-chave
-
/v1/weather/currentpega uma cidade, CEP ou lat/lon e retorna a temperatura, umidade, vento, uma condição de texto e coordenadas. -
/v1/air-quality/checkpega lat/lon e retorna US EPA AQI, um rótulo de categoria, e leituras de PM2,5, PM10, O3, NO2, SO2 e CO. - Ambos os endpoints compartilham uma chave de API. Todos os outros provedores cobram mais pelo AQI ou o ocultam atrás de um portão corporativo.
- O nível gratuito cobre 5 solicitações anônimas por minuto, 1.000 por dia com uma chave. As respostas são armazenado em cache no Cloudflare Workers para latência inferior a 100 ms.
- Armazene em cache o clima por 15 minutos e AQI por 30 minutos em seu aplicativo. Nenhum dos dois se move rápido o suficiente precisar de pesquisa em tempo real, e o cache mantém você dentro do nível gratuito, mesmo para tarefas pesadas. painéis.
FAQ
- Qual escala AQI a API usa?
- O endpoint /v1/air-quality/check retorna o Índice de Qualidade do Ar da EPA dos EUA, uma escala de 0 a 500 em que 0 a 50 é Bom, 51 a 100 Moderado, 101 a 150 Insalubre para grupos sensíveis, 151 a 200 Insalubre, 201 a 300 Muito insalubre e 301+ Perigoso. O campo aqi_category carrega o rótulo para que você não precise agrupar o número sozinho.
- Quão atualizados são os dados meteorológicos?
- As condições atuais são atualizadas de hora em hora pelos serviços meteorológicos nacionais. Para a maioria dos painéis, aplicativos de notificação e casos de uso de comércio eletrônico, as observações horárias são suficientemente precisas. Se você precisar de atualizações minuciosas para aviação ou alertas de clima severo, armazene o cache de forma menos agressiva e ligue sob demanda.
- Funciona por CEP ou apenas lat/lon?
- Ambos. Envie {"city": "San Francisco"} ou {"city": "94107"} para /v1/weather/current e a API geocodificará para você. A resposta inclui campos lat e lon para que você possa inseri-los diretamente em /v1/air-quality/check sem uma chamada de geocodificação separada.
- Existe um endpoint em lote para várias cidades?
- O endpoint meteorológico lida com uma cidade por solicitação. Para várias cidades, distribua-se com Promise.all no lado do cliente; o nível gratuito permite 5 solicitações por minuto, ou seja, até 5 cidades por explosão. Para trabalhos em lote mais pesados, uma chave de API gratuita aumenta o limite para 1.000 solicitações por dia.
- O que acontece quando eu atingir o limite de taxa?
- A API retorna HTTP 429 com um cabeçalho Retry-After em segundos. Recue para o valor mostrado e tente novamente; a janela é de um minuto contínuo para acesso anônimo e de um dia contínuo para acesso com chave. Lide com 429 explicitamente para não descartar silenciosamente as atualizações meteorológicas do seu painel.
Comece a construir com botoi
150+ endpoints de API para consultas, processamento de texto, geração de imagens e utilitários para desenvolvedores. Plano gratuito, sem cartão de crédito.