天气预警 API

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可以构建的应用示例

Web/PC华风爱科天气预警 API PC 端预警地图列表示例

PC端天气网站

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

预警地图灾害监控响应式布局
Mini Program华风爱科 alerts 灾害预警微信小程序推送示例

微信小程序

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

实时推送轻量便捷地理定位
Widget天气预警 API 桌面小组件实时提醒示例

桌面小组件

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

秒级更新常驻显示极端提醒
Tablet application灾害预警 API 平板大屏监控界面示例

平板应用

专为平板设备设计的高清预警界面,多维度展示动态气象风险与历史预警回顾

高清图表大屏适配深度交互

快速开始

  1. 免费注册并完成开发者认证,获取 API Key(标准测试 Key 开通 30 天试用,每日 500 次免费调用,5 QPS)。
  2. 通过 定位搜索 API 获取 Location Key(示例:101924 北京)。
  3. 请求 GET /alerts/v1/{locationkey}.json,建议 language=zh-cndetails=true;响应为 JSON 数组,当前无生效预警时返回 []

标准能力接口

GET 调取预警数据
https://openapi.weathercn.com/alerts/v1/101924.json?apikey=YOUR_API_KEY&language=zh-cn&details=true

请求参数

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 预警描述 -
└─ 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 级别颜色 -
└─ 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 影响区域数组 -
└─ 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 最后动作状态 -
└─ 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) ...
]
获取 API Key:请先免费注册并完成开发者认证,标准测试 Key 开通 30 天试用,每日 500 次免费调用(5 QPS)。
Location Key:预警接口依赖定位结果,请先调用 定位搜索 API 获取 Key
空数组说明:当前地点无生效预警时,接口正常返回 HTTP 200 与空数组 [],请勿视为错误。
安全传参:建议通过 Header 传递密钥 X-Gw-API-Key: YOUR_API_KEY,避免 Key 出现在 URL 日志中。