news 2026/9/26 18:47:44

Open-Meteo 自托管天气 API 完整指南:免 API Key 的免费预报与历史数据方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-Meteo 自托管天气 API 完整指南:免 API Key 的免费预报与历史数据方案

Open-Meteo 自托管天气 API 完整指南:免 API Key 的免费预报与历史数据方案

【免费下载链接】open-meteoFree Weather Forecast API for non-commercial use项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo

接天气数据时被"需要 API Key"卡住过吗?Open-Meteo 是一个开源天气 API,免 Key、非商业用途免费,提供 16 天逐小时预报、80 年历史数据、空气质量与海洋数据。如果你是想低成本接入气象数据的开发者或研究者,这篇指南就是为你写的。

项目速览

Open-Meteo 是一个自托管的天气 API 服务器:它从各国气象机构下载原始预报,转成自研的.om二进制时序压缩格式,再对外提供/v1/forecast等查询接口。

  • 非商业用途免费,无需 API Key,支持 CORS,无广告、无追踪、无 Cookie
  • 最长 16 天逐小时预报;全球模型 11 km 分辨率,区域模型最细到 1.5 km
  • 80 年历史天气(ERA5 再分析),另有空气质量、海洋、地理编码、高程等 API
  • 数据采用 CC BY 4.0 许可,源码采用 AGPLv3,Swift + Vapor 编写,编译成单个二进制

为什么值得用:4 个具体好处

免 Key 直接调。传统商业天气接口要先注册、申请 Key、看配额。这里一条curl "http://127.0.0.1:8080/v1/forecast?latitude=47.1&longitude=8.4&hourly=temperature_2m"就拿到数据,开发阶段零审批流程。

多模型一次请求。同一条查询里用models参数切换或对比 DWD ICON、NOAA GFS、ECMWF IFS、MeteoFrance 等模型,官方文档给出的响应时间在 10 毫秒以内。

自托管不用搬全量模型。设好REMOTE_DATA_DIRECTORY后,服务直接读 AWS 上的开源气象数据库并在本地做 LRU 缓存(CACHE_SIZE默认 10GB),首次启动无需自己下载 TB 级原始预报。

自托管本身免费。AGPLv3 允许你商用场景自建(需遵守开源条款),配合 docs/sync-command.md 还能把数据库在多台机器间同步。

上手体验:Docker 三步跑起来

我按 docs/getting-started.md 走了一遍,三步:

docker volume create --name open-meteo-data docker run -d --rm --name open-meteo \ -v open-meteo-data:/app/data \ -e REMOTE_DATA_DIRECTORY=https://openmeteo.s3.amazonaws.com/data/ \ -e CACHE_SIZE=8GB \ -p 127.0.0.1:8080:8080 \ ghcr.io/open-meteo/open-meteo curl "http://127.0.0.1:8080/v1/forecast?latitude=47.1&longitude=8.4&models=ecmwf_ifs025&hourly=temperature_2m"

实际感受:第一次curl要等几秒(冷缓存,从远端拉数据),之后同坐标、邻近坐标的请求就快了。服务大约每 2 分钟检查一次远端数据更新并预加载变化。仓库里也带了docker-compose.yml,docker compose up -d效果相同。硬件上需要 8GB 起步(建议 16GB)内存、至少 100GB 存储,NVMe SSD 体验最好。

功能展示:3 个真实场景

场景 1:天气 App 要 16 天逐小时预报

痛点:自己拉原始 GRIB 文件要处理网格、投影、二进制解码,工作量巨大。Open-Meteo 的解法:/v1/forecast直接按经纬度返回,hourly=temperature_2m,relative_humidity_2m按需选变量,models指定dwd_icon(欧洲 2 km 级 ICON 区域模型)、ncep_gfs025、ecmwf_ifs025等。你得到:一次请求拿到多模型 16 天小时数据,欧洲和北美模型每小时更新。

场景 2:科研回溯需要历史数据

痛点:气候分析要自己去 Copernicus 申请再分析数据并对齐格式。解法:Historical Weather API 基于 ERA5,覆盖过去 80 年;想自托管的话download-era5命令可拉取,注意每年约 60GB 磁盘占用,且需要 CDS API Key。你得到:可直接查询的长期温度、降水序列,省掉数据清洗环节。

场景 3:空气质量与海洋数据

痛点:PM2.5、臭氧、浪高分散在 CAMS、各国海洋模型等不同来源。解法:Air Quality API 与 Marine Forecast API 用同一套参数风格,输出含空气质量指数、波高、风向等变量(定义见 openapi/ 目录下的air-quality.yml、marine.yml)。你得到:一个接口风格覆盖天气之外的变量,不用逐家对接。

项目布局导读:读源码从哪入手

  • Sources/App/Controllers/:/v1/forecast入口与 JSON/CSV/XLSX/FlatBuffers 等输出格式的实现
  • Sources/App/Commands/:sync、download-gfs、download-era5等下载与多节点同步命令
  • Sources/App/Icon/、Sources/App/Ecmwf/、Sources/App/Gfs/:按气象机构分目录,一个机构一个模块
  • Sources/OmFileIO/:.om数据格式的读写层,含 LRU 缓存与 HTTP/S3 后端
  • docs/:自托管、模型下载、cron 任务与多节点部署的操作手册

适合谁、不适合谁

适合:

  • 个人开发者与开源项目:免费、免 Key、非商业直接用
  • 想自建气象数据库并做多节点部署的团队
  • 想研究高性能数据服务的工程师:SIMD 优化、自研文件格式,测试集中在 Tests/AppTests/

不适合:

  • 商业用途:需要联系官方获取授权
  • 日请求量超过 10,000 次的应用:官方公平使用条款要求提前联系
  • 单用户低频场景:自托管冷缓存时一次请求要读数百个压缩文件、耗时数秒,比官方免费 API 慢
  • 拿不到数据凭证又想自托管全量数据:ERA5 需 CDS Key,ECMWF IFS 存档有授权费用,JMA、CMA、BOM 的访问信息不公开

最后

Open-Meteo 的价值在于把"接一个气象 API"这件事拆成了两个都能低门槛完成的选项:要么直接用官方免费端点,要么用 Docker 一条命令自建实例。建议你先用上面的curl看看数据格式是否满足需求,再决定是否按 docs/getting-started.md 部署自己的版本。去 GitHub 上看仓库、点个 Star,遇到问题提 issue 或贡献代码都受欢迎——这是它文档里明确写着的。

【免费下载链接】open-meteoFree Weather Forecast API for non-commercial use项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 18:45:02

DeskcommCRM实战解析:从沟通记录到客户资产管理的选型指南

1. 名字里藏着的产品逻辑:DeskcommCRM到底在解决什么问题先说个现象。市面上叫“CRM”的产品没有一千也有八百,各有各的说法,有的强调销售漏斗,有的主打客户画像,有的专攻私域运营。但大量团队从选型到上线折腾小半年&…

作者头像 李华
网站建设 2026/9/26 18:44:37

紧固件选型全解析:从规格、强度等级到防松避坑指南

从M3的微型螺丝到M36的地脚螺栓,从抽屉里救急的木螺丝到发射台上必须零失误的高强度锁紧螺栓,紧固件大概是整个工业体系里最不起眼、却又最不能出错的一类零件。我在紧固件这行干了十几年,图纸上每一个小小的“M61.0-8.8”标注,背…

作者头像 李华
网站建设 2026/9/26 18:42:52

Windows驱动代码39:签名失效与信任链修复指南

1. 什么是驱动代码39?它不是“蓝屏警告”,而是Windows在说“我认得你,但不敢用你” “驱动代码39”这个短语,在Windows设备管理器里出现时,往往伴随着一个黄色感叹号和一句冷冰冰的提示:“Windows无法加载这…

作者头像 李华
网站建设 2026/9/26 18:42:04

m3u8下载原理与实战:从索引解析到TS合并

1. 为什么m3u8下载不是“点一下就完事”——先搞懂它到底是什么你肯定见过这样的场景:打开一个直播页面,右键菜单里没有“另存为”,开发者工具里翻半天只看到一串带.m3u8后缀的URL;或者用某款“一键下载”插件,结果导出…

作者头像 李华