本文首发:[最好的 6 个免费天气 API 接口对比测评 - 卡拉云](https://kalacloud.com/blog/free-weather-api/)
**天气 API**包含丰富的天气数据,不仅有实时温度、湿度、风速、降水等这些基础数据,还有过去的历史天气数据和未来的天气预测数据,**顶级的天气 API 接口**还会包括天气灾害预警,空气质量指数,日出日落、潮汐及月相相关的天文气象等数据。**天气 API 也并不难获得,本教程将介绍 6 款国内外免费的天气 API,并手把手教你搭建一套属于自己的天气数据看板。**
## 免费的天气 API 概览 - 如何选到免费又稳定的天气 API 接口
本文所介绍的天气 API 均是我自己接入使用过的,它们是从众多天气 API 中甄选出的 6 款高质量免费天气 API 。这 6 款 API 都是基础免费增值付费的商业模式,这种模式保证了免费用户可以长期稳定的使用,不用担心数据源挂掉。特别是本文介绍的全球天气 API 对免费用户非常友好,免费开放的数据更多样,限制更少,我会在本文后半段详细介绍。
**本文详细讲解以下 6 个免费天气 API 的特点及接入方法**
- 高德天气 API -免费、 稳定、极简,适合天气预报基础需求
- 心知天气 API - 免费、轻便、专业,适合天气预报的初级需求
- 和风天气 API - 免费和付费同权限,非商业无限免费,含空气质量、天文气象
- OpenWeather - 免费 100 万次/月 分钟级实时预报,天气云图
- AccuWeather - 全球最大的气象数据服务商,历史悠久,数据精准,天气 API 王者
- Visual Crossing - 非开发者使用友好 50年历史气象数据免费调用
## 一. 高德地图天气 API - 稳定、免费、极简
![高德地图天气 API](https://kalacloud.com/static/9c20bcb5009f47a1eb88e1f52cd7766f/0ef85/01-01-gaode.jpg)
[高德地图](https://lbs.amap.com/)的天气服务面向仅需要稳定的实时天气和简单的未来数天预测服务的开发者,高德天气相对于本文介绍的其他天气 API 来说,显得有些简略,但如果你对天气的需求就是实时和简单的未来预报,那么高德一定是你的好选择。不绕弯,只给你最需要的部分。
### 1. 高德地图天气 API 免费版可用资源
- 30万次/日,200次/秒并发
- 实时天气预报
- 未来 4 天天气预报
- 最高最低气温、风力风向、湿度
- 与高德地图数据融合,极其丰富的地点地图路径数据
### 2. 高德地图天气 API 接入极简教程
- 打开并注册[高德开放平台](https://lbs.amap.com/)
- 进入[高德开发平台的控制台](https://console.amap.com/dev/key/app),创建应用并获取 API Key
![高德地图天气 API](https://kalacloud.com/static/2d081ba62eb3bfaeceef2500a4260907/06540/01-02-API.jpg)
- 阅读高德地图[天气开发文档](https://lbs.amap.com/api/webservice/guide/api/weatherinfo/)
- 打开 API 接口工具,填入 高德地图天气 API URL
```
https://restapi.amap.com/v3/weather/weatherInfo?key=【你的_API_KEY】8&city=110000&extensions=all
```
- 高德天气 API 示例:北京未来三天天气预报(查看高德天气的[城市编码](https://lbs.amap.com/api/webservice/download))北京的城市编码为110000
![高德天气 API 示例](https://kalacloud.com/static/ecb5dd08e22dd72c24b03dccadb2e9c4/90683/01-03-gaode-api.jpg)
本教程使用「卡拉云」作为接口工具示例演示,在卡拉云直接调用 高德天气 API 查询数据返回成功。
![本教程使用「卡拉云」作为接口工具示例演示](https://kalacloud.com/static/bd444852cf548e80bf7cbee8c74c1b23/90683/01-04-gaode-kalacloud.jpg)
使用卡拉云简单拖拽即可快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
## 二. 心知天气 API - 免费、轻便、专业
![心知天气 API](https://kalacloud.com/static/36f88033d2b98066be37044e28c39b13/8e517/02-01-seniverse-weather-api.jpg)
[心知天气](https://www.seniverse.com/)用下来整体感觉轻巧顺手,对于免费版用户没有限制访问次数,可以无限访问,这点已经超过大多数国内天气 API。免费版可调用未来三天的天气预报,包含天气气象和气温两个要素。把它放在第二个介绍是因为心知天气相对于前文的高德天气来说,有可升级的空间。
### 1. 心知天气 API 免费版可用资源
- 永久免费,无限访问,20次/分钟
- 全国 370 个主要城市数据
- 实况天气数据
- 未来 3 日天气预报
### 2. 心知天气 API 接入极简教程
- 打开[心知天气](https://www.seniverse.com/)注册账号
- 在 心知天气控制台创建你的产品,获得 API Key
![心知天气](https://kalacloud.com/static/0d03ec40b02733dd123e42e3e022e4e6/7c971/02-02-apikey.jpg)
- 阅读[心知天气 API 开发文档](https://seniverse.yuque.com/books/share/ded1e167-e35c-4669-8306-cf65c6e01dc0/start)
- 打开 API 接口工具,填入心知天气 API URL
```
https://api.seniverse.com/v3/weather/daily.json?key=【你的_api_key】&location=beijing&language=zh-Hans&unit=c&start=-1&days=5
```
- 心知天气 API 示例:北京未来三天天气情况
![心知天气 API 示例:北京未来三天天气情况](https://kalacloud.com/static/56b80b4e2bceb4c98461e9bc3ea73695/90683/02-03-kalacloud.jpg)
上图为卡拉云成功调用「心知天气 API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
## 三. 和风天气 API - 免费付费同权限,非商业无限免费
![和风天气 API](https://kalacloud.com/static/725ec8016a31d9fcc775b77d2ddb614a/f5390/03-01-qerather-weather-api.jpg)
必须得推荐一下[和风天气](https://dev.qweather.com/),和风天气 API 面向非商业用户完全免费且不分权限,也就是说商业用户能读什么天气数据,免费用户也就能读什么天气数据。自然灾害、空气质量、极端天气预警、天文信息这些在国内天气 API 的免费版中非常少见,和风天气这种免费和付费同权的商业模式让大家能无限使用所有的数据,在你的项目成长成商业项目,有收入后再收费,可以说非常良心。
### 1. 和风天气免费版可用资源
- 非商业用户 1000次/天 到 SDK 无限量访问
- 按坐标、城市名称、格点方式定位并展示对应天气信息
- 实时、三日、七日天气预报
- 灾害极端天气预警信息
- 全国空气质量信息
- 热带台风信息
- 天文气象数据(日出、日落、月相、太阳角度等)
### 2. 和风天气 API 接入极简教程
- 打开[和风天气开放平台](https://dev.qweather.com/)注册账号
- 在[和风天气控制台](https://console.qweather.com/#/apps)创建你的应用,获得 API Key
![和风天气 API](https://kalacloud.com/static/233ba6ab094615c666d3ef02decf0d15/cd3e9/03-02-apikey.jpg)
- 阅读[和风天气开发文档](https://dev.qweather.com/docs/) (地理位置、空气、历史数据的[开发文档](https://dev.qweather.com/docs/api/))
- 打开 API 接口工具,填入和风天气 API URL
```
https://devapi.qweather.com/v7/weather/now?location=101010100&key=【你的_api_key】
```
![本教程使用「卡拉云」作为接口工具做演示(03-03-kalacloud.jpg)
上图为卡拉云成功调用「和风天气 API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
**接着我们来说说全球天气 API**
## 四. OpenWeather - 100 万次/月 分钟级实时预报 天气云图
![OpenWeather](https://kalacloud.com/static/de4ac26c3f1cb2f44ff38fd45a55605c/57bde/04-01-openweather.jpg)
国际天气 API 服务商的免费档相比中国国内的,会提供更多免费数据,[OpenWeather](https://openweathermap.org/) 作为老牌天气信息 API 服务商,可以说是非常良心了。不仅在调用次数上给了 100 万次/月,而且在预报的精度上免费了 60 分钟分钟级预报和 48 小时每小时预报,对于天气敏感的行业来说,非常实用。
### 1\. OpenWeather 免费版可用资源
- 每月100万次调用、60次/分钟
- 按坐标、城市名称、格点方式定位并展示对应天气信息
- 实时天气信息
- 60分钟内的分钟天气预报
- 48小时内每小时天气预报
- 7天每日天气预报
- 过去 5 天的历史天气数据
- 基本天气云图
- 全球空气质量信息
### 2\. OpenWeather API 接入极简教程
- 打开 [OpenWeather](https://openweathermap.org/) 网址,邮箱注册,验证邮箱
- 打开 [OpenWeather My API Keys](https://home.openweathermap.org/api_keys) 页面创建自己的 Key![OpenWeather-register](https://kalacloud.com/static/59cc1add90758444de88c939362acbc5/f2991/04-02-register.jpg)
- 查看 [OpenWeather 开发文档](https://openweathermap.org/api)
- 打开 API 接口工具,填入 OpenWeather 的 API URL
```
http://api.openweathermap.org/data/2.5/forecast?q=beijing&appid=【Your_APP_Key】
```
- `weather`:当前天气预报
- `q`:地理位置(city name)
![本教程使用「卡拉云」作为接口工具做演示](https://kalacloud.com/static/577c5ca4672f32ec24c753511a9287bb/562c2/04-04-kalacloud-get.jpg)
上图为卡拉云成功调用「OpenWeather API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
## 五. AccuWeather - 全球最大的气象数据服务商 历史悠久 数据精准
![AccuWeather](https://kalacloud.com/static/84cd4266b2b03419ef13cdc103cd357c/e3cde/05-01-accuweather.jpg)
[AccuWeather](https://developer.accuweather.com/) 创立于 1962 年,创始人 Joel 当时还在宾大读气象博士。现在 AccuWeather 已经是全球最大最权威的气象数据站,全球多数安卓机使用的天气查询数据都来自 AccuWeather。
其实 AccuWeather 对免费用户并不友好,每日可调用数非常少,但因为它是全球天气 API 的王者,提供的气象数据、灾害预报等数据及其准确、细致和权威,我还是把它放在这个列表里,如果你正在挑选天气 API ,不管现在用不用的上 AccuWeather,我觉得你一定要知道全球最权威最棒的天气 API 长啥样,全球顶级企业,特别是对天气要求极高的道路、航空、野外作业都会选用 AccuWeather 作为天气数据支持。
### 1. AccuWeather 免费版可用资源
- 按坐标、城市名称、格点方式定位并展示对应天气信息
- 实时气象数据
- 24小时历史气象数据
- 未来 5 天每日天气预报
- 12小时内每小时预报
- 未来 5 天内生活指数预报
- 每日 50 次 API 调用
### 2. AccuWeather API 接入极简教程
- 打开 [AccuWeather 开发者站](https://developer.accuweather.com/),邮箱注册并激活账号
- 打开 [My APPS](https://developer.accuweather.com/user/me/apps) 页,创建你的 APP 并获得 API Key
![AccuWeather API ](https://kalacloud.com/static/f18ea9d9df522243700acc18c2118a88/1b11e/05-02-myapps.jpg)
- 阅读 AccuWeather API 文档
- 打开 API 接口工具,本教程使用卡拉云作为示例演示。注册并登录卡拉云,在「数据源」填入 AccuWeather 的 baseURL
```
http://dataservice.accuweather.com/locations/v1/cities/geoposition/search?q=39.9,116.4&language=zh-cn&apikey=【Your_app_key】
```
- `q`:这里可写城市名称,也可像本示例一样使用经纬度查询地点
![本教程使用「卡拉云」作为接口工具做演示](https://kalacloud.com/static/2b778c76069eb1a6353df655e0d27c9a/600df/05-04-kalacloud-get.jpg)
上图为卡拉云成功调用「AccuWeather API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
## 六. Visual Crossing - 非开发者友好 50年历史气象数据免费调用
![Visual Crossing](https://kalacloud.com/static/d16dce4dd0d2ad01a8d22a2685de356c/0a5d2/06-01-visual-crossing.jpg)
[Visual Crossing](https://www.visualcrossing.com/) 面向数据科学家、数据分析师、气象研究学者等学术和企业气象分析领域,也就是说 Visual Crossing 不像其他天气 API 那样假设使用者都是会写代码的程序员,所以在它的网站上对非程序员提供了非常友好的可视化气象分析工具。比如 [API builder](https://www.visualcrossing.com/weather-api), 你只需要输入自己的需求,它帮你生成对应的 API URL ,只需要把这条 URL 复制到你的 API 接口工具上即可方便使用。
### 1. Visual Crossing 免费版可用资源
- 调用 1000次 / 天
- **50年历史气象数据**
- 15天未来天气预报
- 极端天气预警
- 当前天气情况
- 天文气象数据
### 2. Visual Crossing API 接入极简教程
- 打开 [Visual Crossing 官方网站](https://www.visualcrossing.com/)邮箱注册并激活账号
- 打开 [个人账户页面](https://www.visualcrossing.com/account),获取你的 API Key
![Visual Crossing API](https://kalacloud.com/static/ce2e3f0c8bca6b571035d18ccbe2d692/5f298/06-02-visual-crossing-key.jpg)
- 查看 Visual Crossing API [开发文档](https://www.visualcrossing.com/weather-api)
![Visual Crossing API](https://kalacloud.com/static/d16dce4dd0d2ad01a8d22a2685de356c/0a5d2/06-01-visual-crossing.jpg)
- 我们可以在这里直接输入我们要查询的地点,网址会帮我们生成对应的 API
```
https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/BeiJing?unitGroup=metric&key=【Your_api_key】&contentType=json
```
![本教程使用「卡拉云」作为接口工具做演示](https://kalacloud.com/static/3448f86ccf150e24094b04a85c3799cd/c3299/06-03-visual-crossing-kalacloud-get.jpg)
上图为卡拉云成功调用「 Visual Crossing API 」 的返回数据。
本教程使用「卡拉云」作为接口工具做演示,相对于其他接口测试工具,卡拉云在测试接口的同时,可直接完成后台工具的搭建。
如何用卡拉云快速搭建自己的「天气预报数据看板」,本文最后一章详细讲解。
## 七. 使用「卡拉云」快速搭建天气数据看板,导出天气数据至 CSV
卡拉云是一套低代码开发工具,相对于 Postman 接口测试工具,卡拉云的优势是在做 API 接口测试的同时,直接就把后台工具给搭出来了,而且开发者完全不用会任何前端技术,只需要简单填写 API URL 即可通过鼠标拖拽快速搭建出一套天气预报数据看板,并可将数据看板分享给其他小伙伴使用。
本文以「对非程序员使用友好的 Visual Crossing 天气 API 」接入卡拉云为例,接入其他天气 API 步骤完全一样。
### 第一步:注册 Visual Crossing 账号,获得 API Key 及 API URL
![注册 Visual Crossing 账号](https://kalacloud.com/static/6df4567b5cbacfdab647968f32507946/318d8/07-01-get-api-url.png)
注册并登陆账号后,点这里获取 [北京未来 15 天天气情况 API URL](https://www.visualcrossing.com/weather/weather-data-services/beijing?v=api)
### 第二步:注册并登录卡拉云,在「数据源」添加 Visual Crossing API
![注册并登录卡拉云,在「数据源」添加 Visual Crossing API](https://kalacloud.com/static/fdd895961a11a348fcf3a04ddf642002/b4627/07-02-kalacloud-api-input.jpg)
注意:这里填写的是 Visual Crossing API 的 BaseURL,如下:
```
https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/
```
### 第三步:在卡拉云新建应用,新建查询,选择资源「Visual_Crossing_API」
![选择资源「Visual_Crossing_API」](https://kalacloud.com/static/5c5bbdcd8e1d25886750b2fe0ff9d62f/ca562/07-03-create-query-api.jpg)
- 新建查询
- 选择刚刚我们在「数据源」添加 Visual Crossing API 资源
- 在 HTTP 端点填写 EndPoint 的部分
```
beijing?unitGroup=metric&contentType=json&key=【Your_app_key】
```
### 第四步:GET 天气 API 测试接口
![GET 天气 API 测试接口](https://kalacloud.com/static/cbd0084181be0a883bcfdc15473bb9dd/9a985/07-04-get.jpg)
点击「运行并预览」,在弹出的框中可以看到天气 API 返回成功的数值。
### 第五步:从「组件列表」拖拽适合的组建并将数据映射到组件上
![组件列表](https://kalacloud.com/static/bf37d4943a0c7afec6340515e2945c35/f5390/07-05-form.jpg)
- 未来 15 天预报的表格数据:
```
{{VisualCrossingAPI.data.days}}
```
注解:VisualCrossingAPI 为我们在第三步创建的查询,读取 API 中的 days 数据
- 当日天气预报
```
### 最高温度:{{table1.selectedRow.data.tempmax}}
### 最低温度:{{table1.selectedRow.data.tempmin}}
### 风速:{{table1.selectedRow.data.windspeed}}
### 风力:{{table1.selectedRow.data.windgust}}
### 日出时间:{{table1.selectedRow.data.sunrise}}
### 日落时间:{{table1.selectedRow.data.sunset}}
```
注解:table1 是指「未来近 15 天预报」的表格名,鼠标选中(selectedRow)哪一列,当日天气就会显示哪一列的天气预报。
- 分时详情表格数据:
```
{{table1.selectedRow.data.hours}}
```
注解:table1 是指「未来近 15 天预报」的表格名,鼠标选中(selectedRow)哪一列,显示当日 24 小时分时预报
### 第六步:导出天气预报数据至 CSV 文件
![导出天气预报数据至 CSV 文件](https://kalacloud.com/static/16cca52b6a302c63f142c36fb8ebf3b9/e895b/07-06-csv.jpg)
有时,我们通过天气 API 获取的数据需要导入其他软件或下载到本地进行数据分析,又或者需要发给合伙的小伙伴一起使用。这时,你不用操心导出数据格式、中文乱码等问题,在卡拉云组建库中直接拖拽一个「导出按钮」即可。
卡拉云内置「导出按钮」,仅需拖拽一个按钮组建到画布,简单设置即可一键导出数据至 CSV / Excel / JSON 格式的文件。
### 完成:使用卡拉云简单六步,搭建天气数据看板
![搭建天气数据看板](https://kalacloud.com/static/acbda66bc6421e4c108f5090b929752e/d8536/07-07-kalacloud.jpg)
熟练使用后,这样的数据看板使用卡拉云最多 5 分钟就能搭建完成,还可以分享给你的小伙伴一同使用。
更多卡拉云使用教程,可访问[卡拉云](https://kalacloud.com/)官方网站查看。
扩展阅读:
- [Postman 使用教程 - 手把手教你 API 接口测试](https://kalacloud.com/blog/postman-tutorial)
- [MySQL 时间戳用什么类型 - MySQL 时间函数详解](https://kalacloud.com/blog/difference-between-mysql-datetime-and-timestamp-datatypes/)
- [最好用的七大顶级 API 接口测试工具](https://kalacloud.com/blog/api-testing-tools/)
- [最好用的 5 款 React 富文本编辑器](https://kalacloud.com/blog/top-5-rich-text-editors-for-react/)
- [如何在 MySQL / MariaDB 中跳过多张表导出或指定多张表导出备份](https://kalacloud.com/blog/how-to-dump-database-and-ignore-or-specific-some-tables-with-mysqldump-in-mysql/)
- [如何将 MySQL / MariaDB 的查询结果保存到文件](https://kalacloud.com/blog/how-to-save-mysql-mariadb-query-output-to-a-file/)
- [如何在 MySQL 中导入和导出 CSV / Excel 文件](https://kalacloud.com/blog/how-to-import-and-export-excel-csv-in-mysql-from-terminal/)
如果我的文章对你有帮助,还请点个赞再走,任何问题欢迎评论区一起交流。
有疑问加站长微信联系(非本文作者))