Open-Meteo免费天气API实用指南无需Key3分钟拿到天气数据【免费下载链接】open-meteoFree Weather Forecast API for non-commercial use项目地址: https://gitcode.com/GitHub_Trending/op/open-meteoOpen-Meteo 是一个开源的天气 API不用注册账号、不填 Key非商业使用完全免费。官方服务把来自 NOAA GFS、德国 DWD ICON、ECMWF IFS 等多个国家气象机构的模型整合在一起提供 16 天逐小时预报、约 80 年历史天气外加海洋、空气质量、洪水等数据一次请求就能拿到。如果你的项目需要气象数据——天气 App、智能家居、科研分析——它基本是目前能一行 curl 跑通的最省事选择之一。第一步拿到天气数据一条 curl 就够没有注册流程直接请求curl https://api.open-meteo.com/v1/forecast?latitude52.52longitude13.41hourlytemperature_2m返回的是柏林未来 16 天逐小时温度的 JSON。参数规则记住三点位置用十进制的latitude/longitude支持批量坐标时间尺度用current、hourly、daily另有周、月序列可选变量名是 snake_case比如temperature_2m、precipitation、wind_speed_10m响应是纯 JSON原生支持 CORS浏览器前端可以直接调不用中转服务。一张表看懂除了预报还能拿什么预报只是它的一部分。同一套 API 里还挂了这些类别端点路由定义端点用途/v1/forecast至多 16 天逐小时/逐日预报可指定或混选多个模型/v1/era5、/v1/archive历史天气数据可追溯到约 80 年前/v1/marine海浪、海温等海洋预报/v1/air-quality空气质量、花粉、温室气体/v1/seasonal季节尺度预报/v1/flood河流洪水与径流数据/v1/ensemble集合预报的单个成员与集合平均/v1/elevation按坐标查海拔背后的模型库更大模型注册表 里登记了 GFS、ICON全球 11 km 到区域 2 km、IFS、MeteoFrance、JMA、GEM、UKMO 等几十个域名。不指定models参数时服务会按你的坐标自动挑最合适的区域或全球模型也可以显式传多个模型做对比。为什么这么快工程上做对了几件事宣称的 10 ms 以下响应不是玄学几个点值得知道每天 5 TB 的数据管线原始 NWP数值天气预报数据本身免费但格式晦涩。Open-Meteo 每天从多国气象机构拉取并处理这些数据重新打包成自研的 om 二进制格式专门为某个地点、多天时间序列这类读取模式做了压缩优化。Swift 单二进制部署整个 API 编译成一个可执行文件没有数据库依赖冷启动和运维成本都很低。双区域部署 GeoDNS服务器分布在欧洲和北美按请求来源就近路由。整点更新欧洲和北美的主要模型每小时刷新预报基本是最新一期。想深挖的话核心源码目录 里有网格系统、地图投影、插值、太阳位置算法这些模块的实现OpenAPI 定义 也随仓库提供方便生成客户端类型。Open-Meteo 自建Docker 三条命令适合两种人想给内网服务提供天气、或者不想流量走公共服务。Docker 方式最省事——容器直接对接公开数据库本地只存缓存不用自己下载整套气象模型docker volume create --name open-meteo-data docker run -d --rm --name open-meteo -v open-meteo-data:/app/data \ -e REMOTE_DATA_DIRECTORYhttps://openmeteo.s3.amazonaws.com/data/ \ -e CACHE_SIZE8GB -p 127.0.0.1:8080:8080 ghcr.io/open-meteo/open-meteocurl http://127.0.0.1:8080/v1/forecast?latitude47.1longitude8.4modelsecmwf_ifs025hourlytemperature_2m两条现实的提醒自建的冷缓存比官方 API 慢。一次预报要从成百上千个压缩文件里读片段缓存冷的时候可能花几秒。请求会走 S3 拉数据进 LRU 缓存约每 2 分钟检测一次更新所以重复调用、邻近坐标才会越来越快——单次低频使用没必要自建。硬件有门槛CPU 需要 SIMD如 AVX2指令集最低 8 GB 内存建议 16 GB、100 GB 以上存储最好上 NVMe SSD。完整步骤见 自建指南要扩展成下载与 API 分离的多节点架构看 多节点同步文档原理是 API 节点从一台 S3 兼容的服务器按文件列表增量拉取数据库。适合谁以及先读这几条限制比较适合个人项目与开源 App、智能家居Home Assistant 有现成集成、科研取数、非商业产品、想自己跑一套气象 API 的团队。先知道这些再上车免费限非商业商业用途需联系官方获取授权。公平使用日请求量超过 10,000 次官方要求先联系滥用会被封 IP。数据是 CC BY 4.0可自由复制、修改、再分发但必须在展示数据的位置标注出处官方建议的样式见 README。源码是 AGPLv3你改了代码并以网络服务形式提供就得公开修改后的源码。这条对fork 一下改两个参数上架的人影响最大。数据按原样提供无准确性保证——拿去做安全相关决策前自己评估误差。进阶入口自建三部曲快速启动、模型下载与定时任务、cron 任务清单官方 SDKPython、TypeScript、Kotlin社区另有 Go、Rust、Dart/Flutter、.NET、R、PHP 等实现README 里有清单想改源码开发指南 覆盖了 Docker 与 macOS/Linux 原生两种编译路径Swift 5.8 环境即可跑版本与更新记录看 CHANGELOG当前主线已迭代到 1.6.x这个项目最有价值的地方是把二进制文件格式、网格系统、地图投影这堆气象专业活挡在 API 后面让调用方只面对一行 GET。下一步不用想别的把 curl 里的经纬度换成你关心的城市看看返回长什么样。【免费下载链接】open-meteoFree Weather Forecast API for non-commercial use项目地址: https://gitcode.com/GitHub_Trending/op/open-meteo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考