构建与天气相关的应用时候,都需要调用天气API。虽然有很多免费的天气API可供选择,但大部分API对免费用户有诸多限制,包括调用次数、支持的国家、支持的功能等等。
个人强烈推荐 Open-Meteo。
Open-Meteo是一个开源免费的天气API,提供全球范围内的高精度小时级天气预报及历史数据,无需 API 密钥,为非商业用途提供免费的数据访问,真正实现了数据共享和开放精神。
Open-Meteo 整合了来自全球多个国家气象机构的顶级天气模型,包括但不限于NOAA GFS、DWD ICON、ECMWF IFS、ERA5 等,覆盖从全球到局部高达1.5公里分辨率的预测。Open-Meteo的独特之处在于提供的不仅仅是基础预报,还包括历史天气数据、海洋预报、空气质量评估、地理位置编码乃至海拔高度查询等多功能API集合。这些强大的功能背后,是每天处理超过2TB数据的庞大数据处理系统,以及响应时间低于10毫秒的高性能服务器网络,分布于欧洲和北美,确保了全球范围内的最佳访问速度。
Open-Meteo的核心功能特点:
- 免费无限制:对于非商业用途,无需申请 API 密钥,数据以 CC BY 4.0 许可证提供。
- 全面模型:结合多个全球顶级天气模型,确保数据准确性和可靠性
- 全方位预报服务:支持长达16天的逐小时预报,满足多样化的预测需求
- 历史天气数据查询:提供从1940年至今的历史天气数据
- 高频率更新:针对部分地区每小时更新,提供最新天气预报。
- 高性能:低延迟服务器响应和分布式地理 DNS 支持,保证高可用性。
- 完全开源:允许用户查看、修改和贡献源代码,推动项目不断发展。
- 多语言SDK:包括Go、Python、Kotlin、.Net/C#等多种编程语言的客户端SDK,便于快速集成。
可以说Open-Meteo不仅是技术爱好者和开发者们的福音,更是对精确气象信息有需求的所有人的理想选择。
Github:https://github.com/open-meteo/open-meteo
我最爱的Android天气应用 Breezy 也支持 Open-Meteo 。
对正在选择免费天气API的开发者,强烈推荐Breezy关于各种免费天气API的对比的文章,个人认为是比较目前市场上对各种免费天气API比较客观全面的对比。
https://github.com/breezy-weather/breezy-weather/blob/main/docs/SOURCES.md
另外推荐一个基于Open-Meteo构建的查询你出生当天天气的应用: