WHEWS API
实时地震预警・实时震度・地震情报・灾害预警聚合推送服务
服务说明
所有数据通过 WebSocket (wss) 实时推送,连接对应端点即开始接收;连接需携带令牌鉴权(见下方 连接鉴权)。/ws/all 为聚合端点,转发全部情报/预警端点的每一帧并在帧末尾附 source 短名(不含 NIED / S-Net)。
连接地址
| 类型 | 地址 |
|---|---|
| 单端点 | wss://api.2v8.cn/ws/{端点} |
| 聚合 | wss://api.2v8.cn/ws/all |
端点与 source 短名
| source | 端点 |
|---|---|
| jma_eew | /ws/jma_eew |
| jma | /ws/jma |
| cwa_eew | /ws/cwa_eew |
| cwa | /ws/cwa |
| cenc | /ws/cenc |
| nied | /ws/nied |
| snet | /ws/snet |
| kma | /ws/kma |
| bmkg | /ws/bmkg |
| geonet | /ws/geonet |
| tmd | /ws/tmd |
| usp | /ws/usp |
| gfz | /ws/gfz |
| ingv | /ws/ingv |
| usgs | /ws/usgs |
| emsc | /ws/emsc |
| hko | /ws/hko |
| bcsf | /ws/bcsf |
| tsunami | /ws/tsunami |
| weatheralarm | /ws/weatheralarm |
通用情报帧字段
下列字段为各地震情报端点(JMA 情报 / CENC / BMKG / GeoNet / TMD / USP / GFZ / INGV / USGS / EMSC / HKO / BCSF)的通用结构;预警、震度、灾害类端点结构见各自页面。
| 字段 | 类型 | 说明 |
|---|---|---|
Data.id | string | 事件唯一标识 |
Data.infoTypeName | string | 情报类型/测定标识,无则为空串 |
Data.magnitude | number | 震级 |
Data.placeName | string | 震中位置名(已尽量转中文,中日韩本地文字保留) |
Data.shockTime | string | 发震时刻,yyyy-MM-dd HH:mm:ss |
Data.updateTime | string | 更新时刻 |
Data.longitude | number | 经度 |
Data.latitude | number | 纬度 |
Data.depth | number | 震源深度,单位 km |
Data.source | string | 来源短名 |
md5 | string | Data 内容的 md5,可用于去重 |
heartbeat 保活,详见 心跳与保活。连接鉴权
所有 /ws/* 端点均需携带令牌。令牌固定不变(除非在 WAuth 后台吊销或设置了有效期),每次连接仅鉴权一次。提供令牌有两种方式:
// 方式一(推荐):连接 URL 携带 token 查询参数
wss://api.2v8.cn/ws/va?token=wat_xxxxxxxx
// 方式二:连接后的第一帧发送令牌(纯文本或 JSON)
wat_xxxxxxxx
{ "token": "wat_xxxxxxxx" }
服务端完成 WebSocket 握手后向 WAuth 发起校验:校验通过则接受连接并将 user_id 绑定到会话;校验失败(令牌无效/缺失/首帧超时)则以关闭码 4401 关闭连接。若未在 URL 携带 token,需在连接后 5 秒内发送首帧令牌,否则超时关闭。
# WAuth 校验请求(服务端内部发起):
curl -X POST https://auth.beecld.com/api/token/verify -H "Content-Type: application/json" -d '{"token":"wat_xxxxxxxx"}'
# 校验通过:
{ "valid": true, "user_id": 12, "username": "alice", "role": "user" }
# 校验失败:
{ "valid": false, "error": "令牌无效" }
4401)并断开;客户端收到该关闭码应停止重连并检查令牌。令牌固定不变,无需刷新;仅在连接建立时校验一次,后续无需重复发送。心跳与保活
连接建立后,服务器向【所有】WebSocket 端点的客户端每 30 秒下发一帧心跳,用于保持链路活跃、探测断线。心跳帧与业务数据帧(含 Data)结构不同,客户端可根据 type 字段区分并忽略。
{
"type": "heartbeat",
"ver": "1.0.0",
"id": "550e8400-e29b-41d4-a716-446655440000", // 本次心跳的 UUID
"timestamp": 1630000000000 // 毫秒时间戳(见下方说明)
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 帧类型,固定为 heartbeat |
ver | string | 心跳协议版本,当前 1.0.0 |
id | string | 本次心跳的唯一标识(UUID v4) |
timestamp | number | Unix 毫秒时间戳,取自 Lmoni(强震监测)在线时间(源为 UTC+9,已按时区折算为绝对时刻,客户端以 UTC+8 显示即为北京时间) |
timestamp 为权威网络时间,可用于客户端校时或估算单向延迟。客户端可主动发送 ping 探测服务器存活,服务器立即回复 pong。支持两种方式:(一)发送 JSON 文本帧 {"type":"ping"}(也兼容纯文本 ping)→ 服务器回 {"type":"pong",...};(二)发送 WebSocket 协议级 Ping 控制帧 → 服务器回协议级 Pong 控制帧。
// 客户端发送(文本帧):
{ "type": "ping" }
// 服务器回复:
{
"type": "pong",
"timestamp": 1630000000000 // 与心跳同源的 Lmoni 时间戳
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 固定为 pong |
timestamp | number | Unix 毫秒时间戳,与心跳一致(Lmoni 在线时间,UTC+8 显示) |
WebSocket API 无法发送协议级 Ping,因此客户端推荐直接发送文本帧 {"type":"ping"};服务器同样会回复 JSON 文本帧。JMA 预警 · wss://api.2v8.cn/ws/jma_eew
緊急地震速報(EEW),时间为 UTC+9。
{
"Data": {
"id": "20260119...", // 事件 ID
"updates": 4, // 报数
"shockTime": "2026-01-19 07:48:27", // 发震时刻 UTC+9
"createTime": "2026-01-19 07:48:35", // 发报时刻 UTC+9
"latitude": 35.5, "longitude": 140.2,
"depth": 10.0, "magnitude": 5.3,
"placeName": "千葉県北西部", // 日语原文
"epiIntensity": "5弱", // 预想最大震度
"infoTypeName": "警報", // 予報 / 警報
"final": false, "cancel": false
},
"md5": "..." // Data 内容的 md5,可用于去重
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID |
updates | number | 报数(逐报递增) |
shockTime | string | 发震时刻(UTC+9) |
createTime | string | 发报时刻(UTC+9) |
latitude / longitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
magnitude | number | 震级 |
placeName | string | 震央地名(日语原文) |
epiIntensity | string | 预想最大震度 |
infoTypeName | string | 予報 / 警報 |
final | bool | 是否最终报 |
cancel | bool | 是否取消报(误报) |
md5 | string | 去重用 |
id 会随 updates 递增多次推送(逐报更新);cancel=true 为误报取消,final=true 为最终报。首连补发最近 10 条。ShakeAlert地震预警 · wss://api.2v8.cn/ws/sa_eew
美国西海岸 ShakeAlert 地震预警(加州 / 俄勒冈 / 华盛顿),时间为 UTC+8;不过滤时间与震级,全量转发。
{
"Data": {
"id": "ci40826536", // 事件 ID
"shockTime": "2026-07-18 09:12:33", // 发震时刻 UTC+8
"createTime": "2026-07-18 09:12:41", // 发报时刻 UTC+8
"latitude": 37.87, "longitude": -122.27,
"depth": 8.0, "magnitude": 4.6,
"placeName": "美国加利福尼亚州伯克利", // 经地名库按坐标转中文
"epiIntensity": "4.2" // CEA 估算烈度
},
"md5": "...", // Data 内容的 md5,可用于去重
"source": "sa_eew"
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(ShakeAlert 事件标识,同一事件逐报不变) |
shockTime | string | 发震时刻(UTC+8) |
createTime | string | 发报时刻(UTC+8,本服务收到并推送的时刻) |
latitude / longitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
magnitude | number | 震级 |
placeName | string | 震央地名(经地名库按坐标转为中文;中日韩区域保留原文) |
epiIntensity | string | CEA 烈度估算值(由震级与深度推算,无法估算时为空) |
source | string | 来源短名 sa_eew |
md5 | string | Data 去重用 |
id 可能随逐报更新多次推送(内容变化才推);epiIntensity 为算法估算值,非实测。首连补发最近 10 条。中国地震预警网 · wss://api.2v8.cn/ws/cea
中国地震预警网(国家级),收到新预警后立即推送;时间为 UTC+8。
{
"Data": {
"id": "bi9wyea65mayd", // 预警事件唯一标识符
"shockTime": "2025-07-15 22:47:25", // 发震时间 UTC+8
"longitude": 101.09, "latitude": 29.43,
"placeName": "四川甘孜州雅江县",
"magnitude": 4.0,
"epiIntensity": 5.5, // 预估地震烈度(可为 null)
"depth": 8, // 震源深度 km(可为 null)
"updates": 3 // 该事件的更新报数
},
"md5": "...", // Data 内容的 md5,可用于去重
"source": "cea"
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 预警事件唯一标识符(同一事件逐报不变) |
shockTime | string | 地震发生时间(UTC+8) |
longitude / latitude | number | 震中经纬度 |
placeName | string | 地震发生地地名 |
magnitude | number | 地震震级 |
epiIntensity | number | null | 预估地震烈度 |
depth | integer | null | 震源深度(千米) |
updates | integer | 该事件的更新报数 |
source | string | 来源短名 cea |
md5 | string | Data 去重用 |
id 可能随 updates 逐报多次推送(内容变化才推);首连补发最近 10 条。省级分中心预警见 /ws/cea-pr。中国地震预警网(省级) · wss://api.2v8.cn/ws/cea-pr
中国地震预警网各省级分中心,收到新预警或更新后立即推送;字段与 /ws/cea 一致,多一个 province(发布省份)。时间为 UTC+8。
{
"Data": {
"id": "bs1cppwt59wyy",
"shockTime": "2025-09-12 05:50:58",
"longitude": 102.89, "latitude": 33.002,
"placeName": "四川阿坝州红原县",
"magnitude": 4.4,
"epiIntensity": 6.1,
"depth": 5,
"updates": 1,
"province": "四川" // 发布的省级分中心所属省份
},
"md5": "...",
"source": "cea-pr"
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
同 /ws/cea(id/shockTime/longitude/latitude/placeName/magnitude/epiIntensity/depth/updates),额外增加下列字段: | ||
province | string | 发布预警的省级分中心所属省份 |
source | string | 来源短名 cea-pr |
/ws/cea 对同一地震各自发布;同一 id 随 updates 逐报多次推送(内容变化才推);首连补发最近 10 条。JMA 情报 · wss://api.2v8.cn/ws/jma
震源・震度に関する情報(VXSE53),时间为 UTC+9。placeName 及各级区域/测站名为日语原文。
{
"Data": {
"id": "20260723182235", // 事件 ID (EventID)
"updates": 1, // 报数 (Serial)
"shockTime": "2026-07-23 18:22:00", // 发震时刻 UTC+9
"createTime": "2026-07-23 18:26:00", // 发报时刻 UTC+9
"latitude": 27.8, "longitude": 130.2,
"depth": 10.0, "magnitude": 4.7,
"placeName": "奄美大島近海", // 日语原文
"maxIntensity": "3", // 全域最大震度
"infoTypeName": "発表", // 発表 / 訂正 / 取消
"title": "震源・震度に関する情報",
"intensities": [ // 震度分布(都道府県 → 细分区域 → 市町村 → 观测点)
{
"pref": "鹿児島県", "maxIntensity": "3",
"areas": [
{
"area": "鹿児島県奄美北部", "maxIntensity": "3",
"cities": [
{
"name": "喜界町", "maxIntensity": "3",
"stations": [
{ "name": "喜界町湾*", "intensity": "3" }
]
}
]
}
]
}
]
},
"md5": "...",
"source": "jma"
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(EventID) |
updates | number | 报数(Serial) |
shockTime / createTime | string | 发震 / 发报时刻(UTC+9) |
magnitude / depth | number | 震级 / 深度(km) |
latitude / longitude | number | 震中经纬度 |
placeName | string | 震央地名(日语原文) |
maxIntensity | string | 全域最大震度 |
infoTypeName | string | 発表 / 訂正 / 取消 |
title | string | 情报标题 |
intensities | array | 震度分布:都道府県→区域→市町村→观测点 逐级嵌套,各级带 maxIntensity |
md5 / source | string | 去重 md5 / 来源短名 jma |
intensities 为多层嵌套,需逐层遍历 pref → areas → cities → stations;区域/测站名为日语原文(已处理全角空格)。CWA 预警 · wss://api.2v8.cn/ws/cwa_eew
地震预警(EEW),时间为 UTC+8,placeName 为繁体中文。
{
"Data": {
"id": "114...", // 事件 ID
"updates": 2, // 报数
"shockTime": "2026-01-19 07:48:27", // 发震时刻 UTC+8
"latitude": 23.33, "longitude": 120.82,
"depth": 10.0, "magnitude": 4.5,
"placeName": "高雄市桃源區" // 繁体中文
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID |
updates | number | 报数(逐报递增) |
shockTime | string | 发震时刻(UTC+8) |
latitude / longitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
magnitude | number | 震级 |
placeName | string | 震央地名(繁体中文) |
md5 | string | 去重用 |
updates 递增逐报推送;首连补发最近 10 条。CWA 情报 · wss://api.2v8.cn/ws/cwa
正式地震报告,时间为 UTC+8。placeName 为官方 loc 中文原文(含相对方位描述)。
{
"Data": {
"id": "114...", // 报告 ID
"magnitude": 4.5,
"placeName": "雲林縣政府南南东方 11.1 公里 (位於雲林縣古坑鄉)", // loc 原文
"shockTime": "2026-01-19 07:48:27", // 发震时刻 UTC+8
"updateTime": "2026-01-19 07:48:27",
"longitude": 120.42, "latitude": 23.58,
"depth": 12.5,
"source": "cwa"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 报告 ID |
magnitude | number | 震级 |
placeName | string | 震央地名(官方 loc 中文原文,含相对方位描述) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 cwa |
md5 | string | Data 去重用 |
placeName 为官方原文,不经地名库转换;无 infoTypeName 字段;首连补发最近 10 条。CENC 情报 · wss://api.2v8.cn/ws/cenc
正式地震情报,时间为 UTC+8。placeName 为官方中文地名(国内外均中文)。
{
"Data": {
"id": "CD.20260722115253.943", // eqid
"infoTypeName": "正式测定", // eq_type: M=正式测定 / A=自动测定
"magnitude": 3.1,
"placeName": "云南普洱市墨江县", // loc_name 原文
"shockTime": "2026-07-22 11:45:36", // 发震时刻 UTC+8
"updateTime": "2026-07-22 11:53:06",
"longitude": 101.45, "latitude": 23.2,
"depth": 10.0,
"createTime": "2026-07-22 11:53:06", // = 原始 updateTime
"source": "cenc"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 情报 ID(eqid) |
infoTypeName | string | 测定标识:正式测定(eq_type=M)/ 自动测定(eq_type=A);缺失时省略 |
magnitude | number | 震级 |
placeName | string | 震央地名(官方中文地名,国内外均中文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
createTime | string | 情报生成时刻(UTC+8,取自原始 updateTime;缺失时省略) |
source | string | 来源短名 cenc |
md5 | string | Data 去重用 |
placeName 为官方中文地名,不经地名库转换;infoTypeName 为测定标识(来自 eq_type:M=正式测定 / A=自动测定,缺失时省略);createTime 为情报生成时刻(取自原始 updateTime);首连补发最近 10 条。KMA 情报 · wss://api.2v8.cn/ws/kma
韩国气象厅(KMA)国内地震情报(震级≥2.0),来源为官方检索页 earthquake-korea.do。原始时间为 KST(UTC+9),已统一转为 UTC+8。页面无地名列,placeName 由经纬度按地名库反查为中文。
{
"Data": {
"id": "kma_20260723034704", // 发震时刻紧凑串(KST)
"magnitude": 2.6,
"placeName": "韩国庆尚北道", // 按坐标反查
"shockTime": "2026-07-23 02:47:04", // 发震时刻 UTC+8
"updateTime": "2026-07-23 02:47:04",
"longitude": 128.44, "latitude": 36.66,
"depth": 13.0,
"maxIntensity": "Ⅳ", // 最大震度(罗马数字);无时省略
"source": "kma"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 情报 ID(kma_+发震时刻紧凑串 KST) |
magnitude | number | 震级 |
placeName | string | 震央地名(按经纬度反查地名库得到的中文) |
shockTime | string | 发震时刻(UTC+8,由 KST 转换) |
updateTime | string | 更新时刻(UTC+8,同 shockTime) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
maxIntensity | string | 最大震度(罗马数字 Ⅰ..Ⅻ);缺失时省略 |
source | string | 来源短名 kma |
md5 | string | Data 去重用 |
/ws/kma_station 不同;时间已由 KST 转 UTC+8;情报也并入 /ws/all(注入 source: "kma");首连补发最近条目。NIED 震度 · wss://api.2v8.cn/ws/nied
陆域实时震度。首连推送测站列表,之后每帧 shindo 数组与测站按下标一一对应。
// 首连推送:测站列表(下标与后续 shindo 数组一一对应)
{
"type": "nied_stations_update",
"timestamp": "2026-01-19 07:48:27",
"stations": [
{ "latitude": 35.68, "longitude": 139.76 }
// ...
]
}
// 之后每帧:实时震度
{
"Data": {
"timestamp": "2026-01-19 07:48:27",
"shindo": [0.5, 1.2, -3.0] // 按测站下标对应;-3.0 表无效
},
"md5": "..." // Data 内容的 md5,可用于去重
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 首连测站列表帧类型 nied_stations_update |
stations | array | 测站列表 {latitude, longitude},下标与 shindo 对应 |
timestamp | string | 数据时刻(UTC+8) |
shindo | array | 各测站实时震度,按下标对应;-3.0 表无效 |
md5 | string | Data 去重用 |
stations 列表,须缓存其下标以对应后续 shindo;不并入 /ws/all。S-Net 震度 · wss://api.2v8.cn/ws/snet
海底实时震度。首连推送测站列表,之后每帧 shindo 数组与测站按下标一一对应(帧结构与 NIED 一致)。
// 首连推送:测站列表(下标与后续 shindo 数组一一对应)
{
"type": "snet_stations_update",
"timestamp": "2026-01-19 07:48:27",
"stations": [
{ "latitude": 38.12, "longitude": 142.55 }
// ...
]
}
// 之后每帧:实时震度
{
"Data": {
"timestamp": "2026-01-19 07:48:27",
"shindo": [0.3, -3.0, 2.1] // 按测站下标对应;-3.0 表无效
},
"md5": "..." // Data 内容的 md5,可用于去重
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 首连测站列表帧类型 snet_stations_update |
stations | array | 测站列表 {latitude, longitude},下标与 shindo 对应 |
timestamp | string | 数据时刻(UTC+8) |
shindo | array | 各测站实时震度,按下标对应;-3.0 表无效 |
md5 | string | Data 去重用 |
stations 下标以对应 shindo;不并入 /ws/all。KMA 震度 · wss://api.2v8.cn/ws/kma_station
韩国气象厅 PEWS 实时震度(MMI)。测站坐标与震度均来自位压缩二进制(非颜色提取),原始 4bit 级别经映射为客户端震度刻度(-3..11)。首连推送测站列表,之后每帧 mmi 数组与测站按下标一一对应。时钟仅由 KMA 响应头 ST(服务器 epoch 秒)对时,文件名按 UTC,展示时间为 KST。
// 首连推送:测站列表(下标与后续 mmi 数组一一对应)
{
"type": "kma_stations_update",
"timestamp": "2026-01-19 07:48:27",
"stations": [
{ "latitude": 37.57, "longitude": 126.98 }
// ...
]
}
// 之后每帧:实时震度
{
"Data": {
"timestamp": "2026-01-19 07:48:27", // 数据时刻(KST,由 UTC 帧时间 +9h)
"mmi": [-3, -2, 0, 2] // 各测站震度,按测站下标对应
},
"md5": "...", // Data 去重用(对键排序后的 Data 取 md5)
"source": "kma_station"
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 测站列表帧类型 kma_stations_update(首连与测站变更时) |
stations | array | 测站列表 {latitude, longitude}(保留 2 位小数),下标与 mmi 对应 |
timestamp | string | 数据时刻(KST) |
mmi | array | 各测站震度(整数,已由原始 4bit 级别映射为 -3..11),按测站下标对应 |
md5 | string | Data 去重用 |
source | string | 来源短名 kma_station |
.s/.b(非图像颜色反算);首连需缓存 stations 下标以对应 mmi;测站集合变化时会重发 kma_stations_update;时钟仅用 KMA 响应头 ST 对时(不依赖 lmoni/FAN)。BMKG 情报 · wss://api.2v8.cn/ws/bmkg
印尼地震情报,时间已转 UTC+8。
{
"Data": {
"id": "2026-07-22T04:18:23+00:00", // BMKG 无 id,用原 DateTime
"infoTypeName": "",
"magnitude": 5.6,
"placeName": "41 km TimurLaut KAB-GAYOLUES-ACEH",
"shockTime": "2026-07-22 12:18:23", // UTC+8
"updateTime": "2026-07-22 12:18:23", // UTC+8
"longitude": 97.62, "latitude": 4.25,
"depth": 10.0, "source": "BMKG"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(BMKG 无 id,用原 DateTime) |
infoTypeName | string | 固定为空(BMKG 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(印尼语原文,含方位/地区) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 bmkg |
md5 | string | Data 去重用 |
placeName 为印尼语原文;首连补发最近 10 条。GeoNet 情报 · wss://api.2v8.cn/ws/geonet
新西兰地震情报,时间已转 UTC+8;infoTypeName 为测定质量(best / preliminary / automatic)。
{
"Data": {
"id": "2026p548905",
"infoTypeName": "best",
"magnitude": 3.6,
"placeName": "新西兰南岛", // 经地名库按坐标转中文
"shockTime": "2026-07-23 10:16:39", // UTC+8
"updateTime": "2026-07-23 10:16:39",
"longitude": 170.14, "latitude": -44.1,
"depth": 5.0, "source": "GeoNet"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(GeoNet publicID) |
infoTypeName | string | 测定质量:best / preliminary / automatic |
magnitude | number | 震级 |
placeName | string | 震央地名(经地名库按坐标转中文,未命中时为原始英文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 geonet |
md5 | string | Data 去重用 |
infoTypeName 表测定质量;placeName 经地名库按坐标转中文(未命中时为原始英文);首连补发最近 10 条。TMD 情报 · wss://api.2v8.cn/ws/tmd
泰国地震情报,时间已转 UTC+8。
{
"Data": {
"id": "16871",
"infoTypeName": "",
"magnitude": 2.6,
"placeName": "ประเทศเมียนมา",
"shockTime": "2026-07-23 04:57:43", // UTC+8
"updateTime": "2026-07-23 04:57:43",
"longitude": 98.058, "latitude": 19.944,
"depth": 5.0, "source": "TMD"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID |
infoTypeName | string | 固定为空(TMD 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(泰文原文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 tmd |
md5 | string | Data 去重用 |
placeName 为泰文原文;首连补发最近 10 条。USP 情报 · wss://api.2v8.cn/ws/usp
巴西地震情报,时间已转 UTC+8。
{
"Data": {
"id": "usp2026ogkk",
"infoTypeName": "",
"magnitude": 5.1,
"placeName": "智利北部", // 经地名库按坐标转中文
"shockTime": "2026-07-23 01:34:37", // UTC+8
"updateTime": "2026-07-23 01:34:37",
"longitude": -68.26, "latitude": -23.29,
"depth": 111.0, "source": "USP"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID |
infoTypeName | string | 固定为空(USP 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(经地名库按坐标转中文,未命中时为原始英文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 usp |
md5 | string | Data 去重用 |
placeName 经地名库按坐标转中文(未命中时为原始英文);首连补发最近 10 条。GFZ 情报 · wss://api.2v8.cn/ws/gfz
德国 GFZ 全球地震目录,时间已转 UTC+8。
{
"Data": {
"id": "gfz2026ogmf",
"infoTypeName": "",
"magnitude": 5.1,
"placeName": "克马德克群岛地区", // 经地名库按坐标转中文
"shockTime": "2026-07-23 02:29:39", // UTC+8
"updateTime": "2026-07-23 02:29:39",
"longitude": -179.643, "latitude": -31.54,
"depth": 367.6, "source": "GFZ"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(GEOFON eventID) |
infoTypeName | string | 固定为空(GFZ 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(经地名库按坐标转中文,未命中时为原始英文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 gfz |
md5 | string | Data 去重用 |
placeName 经地名库按坐标转中文(未命中时为原始英文);覆盖全球中强震。INGV 情报 · wss://api.2v8.cn/ws/ingv
意大利地震情报,时间已转 UTC+8。
{
"Data": {
"id": "46630772",
"infoTypeName": "",
"magnitude": 0.6,
"placeName": "5 km NE Nocera Umbra (PG)",
"shockTime": "2026-07-23 10:16:26", // UTC+8
"updateTime": "2026-07-23 10:46:18",
"longitude": 12.8352, "latitude": 43.1395,
"depth": 17.3, "source": "INGV"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID |
infoTypeName | string | 固定为空(INGV 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(意大利文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8,可晚于发震) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 ingv |
md5 | string | Data 去重用 |
placeName 为意大利文;updateTime 可能晚于 shockTime(复核更新)。USGS 情报 · wss://api.2v8.cn/ws/usgs
美国 USGS 全球地震情报,时间已转 UTC+8;infoTypeName 为测定标识(automatic / reviewed)。
{
"Data": {
"id": "ci41026127",
"infoTypeName": "reviewed",
"magnitude": 2.6,
"placeName": "加利福尼亚州南部", // 经地名库按坐标转中文
"shockTime": "2026-07-23 10:16:14", // UTC+8
"updateTime": "2026-07-23 10:22:35", // UTC+8
"longitude": -116.7711667, "latitude": 33.7043333,
"depth": 16.3, "source": "USGS"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(USGS event id) |
infoTypeName | string | 测定标识:automatic 自动 / reviewed 已复核 |
magnitude | number | 震级 |
placeName | string | 震央地名(经地名库按坐标转中文,未命中时为原始英文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 usgs |
md5 | string | Data 去重用 |
infoTypeName:automatic 自动 / reviewed 已复核;placeName 经地名库按坐标转中文(未命中时为原始英文)。EMSC 情报 · wss://api.2v8.cn/ws/emsc
欧洲地中海地震中心(EMSC)全球地震情报,实时推送,时间已转 UTC+8。
{
"Data": {
"id": "20260722_0000123",
"infoTypeName": "",
"magnitude": 5.1,
"placeName": "克马德克群岛地区", // 经地名库按坐标转中文
"shockTime": "2026-07-23 02:29:39", // UTC+8
"updateTime": "2026-07-23 02:35:00",
"longitude": -179.643, "latitude": -31.54,
"depth": 367.6, "source": "EMSC"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(EMSC unid) |
infoTypeName | string | 固定为空(EMSC 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(经地名库按坐标转中文,未命中时为原始英文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 emsc |
md5 | string | Data 去重用 |
placeName 经地名库按坐标转中文(未命中时为原始英文)。HKO 情报 · wss://api.2v8.cn/ws/hko
香港天文台显著地震报告,时间为 UTC+8;无独立 id、无 depth。
{
"Data": {
"id": "2026-07-17T23:20:00+08:00",
"infoTypeName": "",
"magnitude": 6.2,
"placeName": "墨西哥恼帕斯近岸",
"shockTime": "2026-07-17 23:20:00", // UTC+8
"updateTime": "2026-07-17 23:33:00", // UTC+8
"longitude": -93.22, "latitude": 14.37,
"depth": 0.0, "source": "HKO"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(HKO 无 id,用发震时刻) |
infoTypeName | string | 固定为空(HKO 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(中文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 固定为 0(源不提供) |
source | string | 来源短名 hko |
md5 | string | Data 去重用 |
id 用发震时刻代替;depth 固定为 0(源不提供);placeName 为中文。BCSF 情报 · wss://api.2v8.cn/ws/bcsf
法国 BCSF-Rénass 地震目录(FDSNWS 实时事件),时间已转 UTC+8;不做过滤,全量转发。
{
"Data": {
"id": "fr2026ufugzr", // FDSNWS EventID
"infoTypeName": "",
"magnitude": 5.5,
"placeName": "印尼马鲁古海域", // 经地名库按坐标转中文(未命中时保留原始英文)
"shockTime": "2026-07-24 06:58:42", // UTC+8
"updateTime": "2026-07-24 06:58:42", // UTC+8
"longitude": 126.24, "latitude": 0.59,
"depth": 90.5, "source": "BCSF"
},
"md5": "..."
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 事件 ID(FDSNWS EventID) |
infoTypeName | string | 固定为空(BCSF 不提供) |
magnitude | number | 震级 |
placeName | string | 震央地名(经地名库按坐标转中文,未命中时为原始英文) |
shockTime | string | 发震时刻(UTC+8) |
updateTime | string | 更新时刻(UTC+8) |
longitude / latitude | number | 震中经纬度 |
depth | number | 震源深度(km) |
source | string | 来源短名 bcsf |
md5 | string | Data 去重用 |
placeName 经地名库转为中文。NMEFC 海啸 · wss://api.2v8.cn/ws/tsunami
海啸预警(灾害预警),时间均为 UTC+8。嵌套结构,无 source 字段(仅在 /ws/all 转发时注入 source: "tsunami")。
{
"Data": {
"id": "85585680e5aa4c22bf6b08ba087eac17",
"code": "202512272305", // 事件编号(同一海啸多次更新一致)
"warningInfo": {
"title": "海啸信息",
"level": "信息", // 信息 / 解除 / 蓝色 / 黄色 / 橙色 / 红色
"subtitle": "中国台湾省周边海域",
"orgUnit": "自然资源部海啸预警中心"
},
"timeInfo": {
"alarmDate": "2025-12-28 02:25:45", // 发布时间 UTC+8
"updateDate": "2025-12-28 01:53:10" // 最近更新时间 UTC+8
},
"shockInfo": { // 震源参数,shockTime 由 code 推得,其余取自详情页
"shockTime": "2025-12-27 23:05",
"latitude": 24.67, "longitude": 122.06,
"depth": 60, "magnitude": 6.6,
"placeName": "中国台湾省周边海域"
},
"details": {
"batch": "3", // 报次
"logoUrl": "http://obs.nmefc.cn/CMS/warnLogo/海啸消息灰.png",
"htmlUrl": "https://obs.nmefc.cn/.../202512272305_3.html",
"maps": {
"earthquakeMapUrl": "https://obs.nmefc.cn/.../Earthquake_Pos.jpg",
"amplitudeMapUrl": "", // 仅警报时有值
"coastalMapUrl": "" // 仅警报时有值
}
},
"forecasts": [], // 信息/解除时为空数组
"waterLevelMonitoring": [] // 信息/解除时为空数组
},
"md5": "a45588e9382c33c3422885ab9bcc611e"
}
// 警报级别时 forecasts / waterLevelMonitoring 含数据:
// forecasts[i]: {province, forecastArea, forecastPoint, estimatedArrivalTime(HH:mm), maxWaveHeight, warningLevel}
// waterLevelMonitoring[i]: {stationName, location, coordinates:{latitude,longitude}, time, maxWaveHeight(厘米)}
字段说明
| 字段 | 说明 |
|---|---|
id / code | 帧 id / 事件编号(同一海啸多次更新一致) |
warningInfo.level | 级别:信息 / 解除 / 蓝色 / 黄色 / 橙色 / 红色 |
timeInfo | 发布 / 更新时间(UTC+8) |
shockInfo | 震源参数(时刻、经纬度、深度、震级、地名) |
details.maps | 震源图 / 振幅图 / 沿岸图 URL(后两者仅警报时有值) |
forecasts | 预报数组(信息/解除时为空) |
waterLevelMonitoring | 水位监测数组(信息/解除时为空) |
forecasts 与 waterLevelMonitoring 为空数组、仅提供震源图;本帧无 source,在 /ws/all 上被注入 source: "tsunami"。中国气象局气象预警 · wss://api.2v8.cn/ws/weatheralarm
实时气象预警(灾害预警),effective 为 UTC+8。扁平结构,无 source 字段(仅在 /ws/all 转发时注入 source: "weatheralarm")。
{
"Data": {
"id": "44170041600000_20250425123759",
"headline": "广东省阳江市发布暴雨橙色预警信号",
"effective": "2025/04/25 12:37", // 生效时间 UTC+8
"description": "阳江市气象台...请注意防范。
防御指南:
1.政府及相关部门...;
2.学校、幼儿园...", // 预警正文 + 防御指南(
换行)
"type": "p0002002", // 预警类型编码
"title": "广东省阳江市发布暴雨橙色预警信号",
"img": "https://image.nmc.cn/assets/img/alarm/p0002002.png" // 预警图标地址
},
"md5": "93b33eaed88114560752c05707f58d54"
}
字段说明
| 字段 | 说明 |
|---|---|
id | 预警 ID |
headline / title | 预警标题 |
effective | 生效时间(UTC+8) |
description | 预警正文 + 防御指南(以 \n 换行) |
type | 预警类型编码 |
img | 预警图标地址 |
description 含 \n 换行,需按需渲染;本帧无 source,在 /ws/all 上被注入 source: "weatheralarm"。JMA 火山预警 · wss://api.2v8.cn/ws/va
日本气象厅(JMA)火山相关电文(源自 eqvol.xml Atom feed),涵盖喷发警报・预报、火山解说信息、喷发观测报、降灰预报与推定喷烟流向报。收到新报或更新后立即推送(内容变化才推);时间为 UTC+9(日本时间,与 /ws/jma 一致);火山名与电文正文为日语原文。首连补发最近 10 条。
{
"Data": {
"id": "VFVO52_20260724174700_506", // 缓冲唯一键 = 电文代码_EventID
"updates": 1, // 报数 (Serial)
"kindCode": "VFVO52", // 数据种类代码
"kindName": "喷发相关火山观测报", // 中文电文名
"infoKind": "噴火に関する火山観測報", // 日文电文名
"infoTypeName": "発表", // 発表 / 訂正 / 取消
"title": "火山名 桜島 噴火に関する火山観測報",
"reportTime": "2026-07-24 17:47:00", // 发报时刻 UTC+9
"targetTime": "2026-07-24 17:39:00", // 现象时刻 UTC+9
"volcanoName": "桜島", // 火山名(日语原文)
"volcanoCode": "506",
"latitude": 31.5925, "longitude": 130.6567, // 火山位置(十进制度)
"elevation": 1117, // 海拔高度(米)
"craterName": "南岳山頂火口", // 火口名(可能为空)
"headline": "火 山:桜島...", // Head 概要正文(无则回退 VolcanoHeadline,可能为空)
"activity": "...噴火が発生...", // 火山活动/降灰详述(含时段·方向·距离,可能为空)
"prevention": "...", // 防灾提示(可能为空)
"nextAdvisory": "...", // 下次发布预告(可能为空)
"plumeDirection": "直上", // 噴煙流向(可能为空)
"plumeHeight": 1000, // 火口上噴煙高度(米,无则为 0)
"plumeHeightSea": 6800, // 海抜噴煙高度(FT,无则为 0)
"observation": "...", // 观测补充(火口/噴煙量等,可能为空)
"windTime": "2026-07-24 18:00:00", // 高空风数据时刻 UTC+9(无则为空)
"winds": [ // 高空风垂直廓线(逐海拔高度,无则空数组)
{ "heightFt": 5000, "degree": 20, "speedKt": 11 }
// ...
],
"publishingOffice": "福岡管区気象台 鹿児島地方気象台"
},
"md5": "...",
"source": "va"
}
数据种类代码
| 代码 | 电文名称 | 说明 |
|---|---|---|
VFVO50 | 喷发警报・预报 | 正式的喷发警报和预报,警示火山喷发风险 |
VFVO51 | 火山情况解说信息 | 对火山活动状况的详细解说与评估,数量最多 |
VFVO52 | 喷发相关火山观测报 | 实际喷发时发布,含喷发时间、现象等具体信息 |
VFVO53 | 降灰预报(定时) | 定时发布,预测火山灰降落区域与方向 |
VFVO54 | 降灰预报(速报) | 喷发后迅速发布的降灰预报 |
VFVO55 | 降灰预报(详细) | 更详细的降灰预报(多时段降灰量与详细范围) |
VFVO60 | 推定喷烟流向报 | 火山烟流方向的推定信息 |
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 缓冲唯一键,格式 电文代码_EventID |
updates | number | 报数 (Serial),订正时递增 |
kindCode | string | 数据种类代码 (VFVO50~55/60) |
kindName | string | 电文中文名称 |
infoKind | string | 电文日文名称 |
infoTypeName | string | 発表 / 訂正 / 取消 |
title | string | 报告标题(含火山名,日语原文) |
reportTime | string | 发报时刻 UTC+9 |
targetTime | string | 对象现象时刻 UTC+9 |
volcanoName | string | 火山名(日语原文) |
volcanoCode | string | 火山代码 |
latitude/longitude | number | 火山位置十进制度(无坐标时为 0) |
elevation | number | 海拔高度(米) |
craterName | string | 火口名(可能为空) |
headline | string | Head 概要正文;无 Head 正文时回退 VolcanoHeadline(可能为空) |
activity | string | 火山活动/降灰详述,含时段·方向·距离(源自 VolcanoActivity,保留换行,可能为空) |
prevention | string | 防灾提示(源自 VolcanoPrevention,可能为空) |
nextAdvisory | string | 下次发布预告(源自 NextAdvisory,可能为空) |
plumeDirection | string | 噴煙流向,如 直上/北 等(源自 ColorPlume,可能为空) |
plumeHeight | number | 火口上噴煙高度(米,无则为 0) |
plumeHeightSea | number | 海抜噴煙高度(FT,无则为 0) |
observation | string | 观测补充,火口/噴煙量等(源自 OtherObservation,可能为空) |
windTime | string | 高空风数据时刻 UTC+9(源自 WindAboveCrater,无则为空) |
winds | array | 高空风垂直廓线,逐海拔高度的 {heightFt(FT), degree(真方位度), speedKt(节)};无则空数组 |
publishingOffice | string | 发表机关 |
source | string | 来源短名 va |
kindCode_EventID 去重;同一报告随 updates/订正内容变化才重推;部分电文(如警报)可能无精确坐标,此时经纬度为 0。详述字段随电文种类不同而各有取舍:VFVO60 推定喷烟流向报通常 headline 为空而 plumeDirection/plumeHeight 有值;解说/降灰报(VFVO51/53~55)多含 activity/prevention;无内容的字段为空串。聚合推送 · wss://api.2v8.cn/ws/all
聚合端点:转发情报/预警源(JMA-EEW / JMA / CWA-EEW / CWA / BMKG / GeoNet / TMD / USP / GFZ / INGV / USGS / EMSC / HKO / BCSF / tsunami / weatheralarm)的每一帧(不含 NIED / S-Net / KMA 实时震度),并在帧末尾追加 source 字段标明来源(短源名,取值如 usgs、bcsf、tsunami、weatheralarm)。首次连接时将各源最新一条合并为一个 JSON 数组([{...},{...}])一次性发送(同样不含 nied/snet/kma_station);之后的实时推送为单个对象帧。海啸帧与气象预警帧在各自专用端点上无 source,在本端点会被注入 source: "tsunami" / source: "weatheralarm"。
// 首连补发(单个消息,数组):
[{"Data":{...},"md5":"...","source":"jma"}, {"Data":{...},"md5":"...","source":"cwa"}, ...]
// 之后的实时推送(单个对象):
{
"Data": { ... }, // 与对应源推送的 Data 完全一致
"md5": "...",
"source": "usgs" // 短源名,位于帧末尾(Data/md5 之后)
}
[{...},{...}]),之后为单个对象帧,请分别处理;source 为端点短名(如 usgs、bcsf、tsunami);不含 NIED / S-Net。