Web/PC

PC端天气网站
桌面浏览器端的天气预报网站,实时监控并展示各地的预警信息,提供直观的地图标注与列表展示
alerts/v1 灾害预警:台风、暴雨、暴雪、高温等,需 Location Key,返回预警 JSON 数组(无预警时为空 [])。
华风爱科天气预警 API 提供全国及全球气象灾害预警信息。调用前需通过 定位搜索 API 获取 Location Key。接口路径 /alerts/v1/{locationkey}.json 返回当前生效的预警列表,含级别(蓝/黄/橙/红)、类别、影响区域与起止时间;无生效预警时返回空数组。台风路径详情可结合台风数据 API。由中国气象局授权品牌与 AccuWeather 全球数据能力提供支撑。
/alerts/v1/{locationkey}.json 获取当前预警列表details=true 返回 Area、Level、Color、Summary 等扩展信息通过预警API可以构建的应用示例

桌面浏览器端的天气预报网站,实时监控并展示各地的预警信息,提供直观的地图标注与列表展示

轻量化移动应用,提供即时的天气预警推送与地理位置相关的特殊天气预警服务

桌面端直观展示核心预警信息,第一时间获知气象风险,提供沉浸式的危险预防体验

专为平板设备设计的高清预警界面,多维度展示动态气象风险与历史预警回顾
URL 路径中的 {locationkey} 为定位 API 返回的 Location Key;下表为查询参数。响应体为预警对象数组,请在前端/业务层判断数组长度是否为 0。
| 参数名 | 类型 | 必填 | 默认值 | 说明 | 示例 |
|---|---|---|---|---|---|
| apikey | String | 是 | - | 用以在API里验证与授权使用的用户密钥 | YOUR_API_KEY |
| version | String | 是 | v1 | 当前API版本 | v1 |
| locationkey | String | 是 | - | 用以搜索指定地点的特定ID | 101924 |
| format | String | 否 | JSON | 响应格式 | JSON |
| language | String | 否 | en-us | 指定响应数据语言的字符串 | zh-cn |
| details | String | 否 | false | 用以判断返回缩短版或完整版的预警数据 | details = true |
| 参数 | 类型 | 说明 | 数据形式示例 |
|---|---|---|---|
|
CountryCode
|
String | 国家代码 | CN |
|
AlertID
|
Int | 预警唯一标识 | 102227432 |
|
Description
▶
|
Object |
预警描述
2 个子字段
|
- |
|
└─
Localized
|
String | 本地语言描述 | 森林(草原)火险红色预警 |
|
└─
English
|
String | 英文描述 | Red Warning for Forest (Grassland) Fire Risk |
|
Category
|
String | 预警类别 | FIRE |
|
Priority
|
Int | 优先级 | 133 |
|
Type
|
String | 预警类型名称 | 森林(草原)火险 |
|
TypeID
|
String | 预警类型 ID | CN804 |
|
Level
|
String | 预警级别 (中文) | 红色 |
|
AlarmLevel
|
String | 预警等级 (英文/颜色码) | Red |
|
Color
▶
|
Object |
级别颜色
5 个子字段
|
- |
|
└─
Name
|
String | 颜色名称 | Red |
|
└─
Red
|
Int | R 值 | 255 |
|
└─
Green
|
Int | G 值 | 0 |
|
└─
Blue
|
Int | B 值 | 0 |
|
└─
Hex
|
String | 十六进制色值 | #FF0000 |
|
Source
|
String | 预警来源 | 国家预警信息发布中心 |
|
SourceId
|
Int | 来源 ID | 62 |
|
Area
▶
|
Array |
影响区域数组
9 个子字段
|
- |
|
└─
Name
|
String | 区域名称 | 循化县 |
|
└─
StartTime
|
String | 开始时间 | 2026-03-09T18:20:00+08:00 |
|
└─
EpochStartTime
|
Int | 开始时间的 UNIX 时间戳 | 1773051600 |
|
└─
EndTime
|
String | 结束时间 | 2026-03-12T18:00:00+08:00 |
|
└─
EpochEndTime
|
Int | 结束时间的 UNIX 时间戳 | 1773309600 |
|
└─
LastAction
▶
|
Object |
最后动作状态
2 个子字段
|
- |
|
└─
Localized
|
String | 本地语言描述 (如:新) | 新 |
|
└─
English
|
String | 英文描述 (如:New) | New |
|
└─
Text
|
String | 预警详细内容 | 循化县自然资源和林业草原局与循化县气象局2026年03月09日18时联合发布森林草原火险气象风险红色预警... |
|
└─
LanguageCode
|
String | 语言代码 | zh-cn |
|
└─
Summary
|
String | 内容摘要 | 森林(草原)火险红色预警 生效,持续时间至 星期四,6:00下午 CST。来源:国家预警信息发布中心 |
|
HaveReadyStatements
|
Boolean | 是否包含现成声明 | false |
|
MobileLink
|
String | 移动端链接 | http://m.weathercn.com/... |
|
Link
|
String | 网页端链接 | http://m.weathercn.com/... |
# 调取预警数据(标准能力)
curl "https://openapi.weathercn.com/alerts/v1/101924.json?apikey=YOUR_API_KEY&language=zh-cn&details=true"
// 调取预警数据(标准能力)
fetch('https://openapi.weathercn.com/alerts/v1/101924.json?apikey=YOUR_API_KEY&language=zh-cn&details=true')
.then(response => response.json())
.then(data => console.log(data));
import requests
# 调取预警数据(标准能力)
url = "https://openapi.weathercn.com/alerts/v1/101924.json"
params = {'apikey': 'YOUR_API_KEY', 'language': 'zh-cn', 'details': 'true'}
response = requests.get(url, params=params)
print(response.json())
// 调取预警数据(标准能力)
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://openapi.weathercn.com/alerts/v1/101924.json?apikey=YOUR_API_KEY&language=zh-cn&details=true"))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<?php
// 调取预警数据(标准能力)
$url = 'https://openapi.weathercn.com/alerts/v1/101924.json';
$params = http_build_query(['apikey' => 'YOUR_API_KEY', 'language' => 'zh-cn', 'details' => 'true']);
$response = file_get_contents($url . '?' . $params);
print_r(json_decode($response, true));
?>
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
url := "https://openapi.weathercn.com/alerts/v1/101924.json?apikey=YOUR_API_KEY&language=zh-cn&details=true"
resp, _ := http.Get(url)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
require 'net/http'
require 'json'
url = URI("https://openapi.weathercn.com/alerts/v1/101924.json")
params = {apikey: 'YOUR_API_KEY', language: 'zh-cn', details: 'true'}
url.query = URI.encode_www_form(params)
response = Net::HTTP.get_response(url)
puts JSON.parse(response.body)
let url = URL(string: "https://openapi.weathercn.com/alerts/v1/101924.json?apikey=YOUR_API_KEY&language=zh-cn&details=true")!
let task = URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data { print(try? JSONSerialization.jsonObject(with: data)) }
}
task.resume()
[
{
"CountryCode": "CN",
"AlertID": 102227432,
"Description": {
"Localized": "森林(草原)火险红色预警",
"English": "Red Warning for Forest (Grassland) Fire Risk"
},
"Category": "FIRE",
"Priority": 133,
"Type": "森林(草原)火险",
"TypeID": "CN804",
"Level": "红色",
"AlarmLevel": "Red",
"Color": {
"Name": "Red",
"Red": 255,
"Green": 0,
"Blue": 0,
"Hex": "#FF0000"
},
"Source": "国家预警信息发布中心",
"SourceId": 62,
"Area": [
{
"Name": "循化县",
"StartTime": "2026-03-09T18:20:00+08:00",
"EpochStartTime": 1773051600,
"EndTime": "2026-03-12T18:00:00+08:00",
"EpochEndTime": 1773309600,
"LastAction": {
"Localized": "新",
"English": "New"
},
"Text": "循化县自然资源和林业草原局与循化县气象局2026年03月09日18时联合发布森林草原火险气象风险红色预警...",
"LanguageCode": "zh-cn",
"Summary": "森林(草原)火险红色预警 生效,持续时间至 星期四,6:00下午 CST。来源:国家预警信息发布中心"
}
],
"HaveReadyStatements": false,
"MobileLink": "http://m.weathercn.com/...",
"Link": "http://m.weathercn.com/..."
},
// ... 更多预警信息 (Alert 2) ...
]
Key。[],请勿视为错误。X-Gw-API-Key: YOUR_API_KEY,避免 Key 出现在 URL 日志中。