免费天气 API,一键了解空气质量
一个 API 密钥、两个端点和一个 40 行 Node.js 函数,该函数可返回任何城市的当前温度和 PM2.5。 没有产品等级升级。
您正在构建野火通知应用程序、跑步路线规划器或电子商务横幅 对当地空气质量做出反应。 您需要当前温度、降雨情况和 PM2.5 来自相同的 API。 每个流行的天气提供商都通过单独的产品来控制空气质量 层、单独的 API 密钥或企业合同。 你不应该每月支付 40 美元 告诉用户在户外慢跑是否安全。
botoi API 为您提供 /v1/weather/current 和
/v1/air-quality/check 在同一个免费密钥上。 两个 POST 端点,JSON in 和 JSON
注册后每天会收到 1000 个请求。
为什么 AQI 隐藏在付费墙后面
OpenWeatherMap 出售其空气污染 API 作为升级版。 免费计划涵盖当前天气 和五天的天气预报,但历史空气质量和更高的 AQI 呼叫限制实时显示 专业级和企业级起价为每月 40 美元。 您还携带一个单独的 API 密钥 每个产品系列,因此一个业余爱好项目最终会同时处理两个仪表板。
WeatherAPI.com 每月宣传一百万个免费电话,他们提供天气服务。 空气质量已包含在 Pro 计划中。 AccuWeather 将 AQI 保持在企业级 销售电话门。 Tomorrow.io 为您提供了一次试用,其费率上限足够低,以至于单个页面 刷新会消耗你的预算。
| 提供者 | 免费通话 | 无空气质量指数吗? | 授权 | 合并端点? |
|---|---|---|---|---|
| 发表 | 5/分钟匿名,1000/天密钥 | 是的 | 一键两用 | 两个 POST 端点,一键 |
| 打开天气地图 | 1000/天 | 否(付费升级) | 每个产品都有单独的密钥 | 否,按产品划分 |
| WeatherAPI.com | 约 100 万/月 | 否(专业级) | 一键,专业门 | 单端点,仅限专业版 |
| 准确天气 | 50/天试用 | 否(企业) | 销售门控 | 不 |
一卷即可获取当前天气
这 /v1/weather/current 端点接受城市名称、邮政编码或纬度/经度
对。 它返回摄氏温度和华氏温度、湿度、风速、文本
条件、可以映射到自己的精灵表的图标键以及解析的坐标。
回复:
坚持住 lat 和 lon 字段。 你将直接将它们喂入
空气质量端点,这样您就不会浪费第二次地理编码调用。
在第二次卷发中增加空气质量
这 /v1/air-quality/check 端点获取纬度/经度并返回美国 EPA 空气
质量指数、类别标签和单个污染物浓度。 PM2.5 和 PM10
是大多数健康应用程序关心的两个数字; 其余包括臭氧、二氧化氮、
二氧化硫和一氧化碳适用于更严格的用例。
回复:
AQI 为 62,中等标签意味着大多数人可以外出,但患有哮喘的人
应该放轻松。 这 aqi_category 字段使您免于对数字进行存储
并让您的 UI 副本与 EPA 官方语言保持一致。
将两者结合在一个 Node.js 函数中
大多数应用程序希望每个城市有一个号码,而不是分散在整个城市的两个单独的往返行程 代码库。 这个 40 行函数包装了两个端点,处理超时,并返回一个合并的 您可以将对象放入任何仪表板中。
该函数执行两次连续调用,因为第二个调用需要第一个调用的坐标。
如果您已经缓存了先前请求的纬度/经度,请并行运行这两个调用
Promise.all 并将延迟减少一半。 Node 20+ 有原生 fetch
和 AbortController,所以你不需要 axios 或 node-fetch。
代码的三种实际用途
跑步路线规划器
健身应用程序建议户外路线。 当PM2.5飙升或雷雨滚滚时, 路线建议应暂停并显示室内替代路线。 该函数返回以下之一 三种状态:执行、跳过或咨询。
三州回归很重要。 二元是/否隐藏了运行的中间立场 很好,但更短更聪明。 敏感的用户会欣赏其中的细微差别,而您会避免 过于谨慎的警报让经验丰富的跑步者感到沮丧。
空气净化器电商横幅
一家家居用品商店出售空气净化器。 当游客从 AQI 高于 100 的城市入境时, 该产品确实有用,所以请展示它。 当空气清洁时,隐藏横幅,以便 感觉不像恐惧营销。
从你自己获取条件 /api/conditions 代理,以便保留您的 API 密钥
在服务器上。 在边缘缓存每个城市的结果 30 分钟; AQI 变化足够缓慢
对于店面横幅来说,半小时的新鲜度就足够了。
带天气缓冲的预计交货时间
送货应用程序显示 25 分钟预计到达时间。 骑手所在城市的大雨意味着还要多10分钟。 雷暴意味着 20 度。在显示预计到达时间之前添加缓冲区可以防止失望 追踪迟到乘客的顾客。
保持缓冲区规则简单。 司机和乘客都信任到达目的地的预计到达时间 窗户,在潮湿的天气里休息 10 到 20 分钟是诚实的,而不是防御性的。
速率限制和密钥
匿名访问允许每分钟 5 个请求,每天 100 个请求,基于 IP。 这就足够了 无需注册即可构建演示或连接个人项目。
注册免费密钥: botoi.com/api 将请求上限提高到 1000 个
每天。 相同的密钥适用于天气和空气质量,以及 190 多个其他端点
平台。 点击 429,API 返回 Retry-After 标题以秒为单位
你的客户可以彻底退出。
要点
-
/v1/weather/current获取城市、邮政编码或纬度/经度并返回温度, 湿度、风、文本条件和坐标。 -
/v1/air-quality/check获取纬度/经度并返回 US EPA AQI(类别标签), 以及 PM2.5、PM10、O3、NO2、SO2 和 CO 读数。 - 两个端点共享一个 API 密钥。 所有其他提供商都会对 AQI 收取额外费用或隐藏它 企业大门后面。
- 免费套餐涵盖每分钟 5 个匿名请求,每天 1000 个密钥请求。 回应是 在 Cloudflare Workers 上进行边缘缓存,延迟低于 100 毫秒。
- 在您的应用中缓存天气 15 分钟和 AQI 30 分钟。 两者的移动速度都不够快 需要实时轮询,并且缓存使您即使对于繁重的任务也可以保持在免费套餐内 仪表板。
FAQ
- API 使用什么 AQI 等级?
- /v1/air-quality/check 端点返回美国 EPA 空气质量指数,范围为 0-500,其中 0-50 为良好,51-100 为中等,101-150 为敏感群体不健康,151-200 为不健康,201-300 为非常不健康,301+ 为危险。 aqi_category 字段带有标签,因此您无需自己对数字进行存储。
- 天气数据有多新鲜?
- 国家气象部门每小时更新一次当前状况。 对于大多数仪表板、通知应用程序和电子商务用例,每小时观察已经足够准确。 如果您需要航空或恶劣天气警报的分钟级更新,请减少缓存并按需调用。
- 它是按邮政编码工作还是仅按纬度/经度工作?
- 两个都。 将 {"city": "San Francisco"} 或 {"city": "94107"} 发送到 /v1/weather/current,API 会为您进行地理编码。 响应包括纬度和经度字段,因此您可以将它们直接输入 /v1/air-quality/check ,而无需单独的地理编码调用。
- 是否有多个城市的批量端点?
- 天气端点针对每个请求处理一个城市。 对于多个城市,在客户端使用 Promise.all 进行扇出; 免费套餐每分钟允许 5 个请求,因此每次突发最多 5 个城市。 对于较繁重的批处理作业,免费的 API 密钥可将上限提高到每天 1000 个请求。
- 当我达到速率限制时会发生什么?
- API 在几秒内返回带有 Retry-After 标头的 HTTP 429。 后退至显示的值并重试; 该窗口对于匿名访问是滚动分钟,对于密钥访问是滚动日。 明确处理 429,这样您就不会默默地从仪表板中删除天气更新。
开始使用 botoi 构建
150+ 个 API 端点,涵盖查询、文本处理、图片生成和开发者工具。免费套餐,无需信用卡。