WHEWS API
v1.0.0 · WSS 实时推送

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.idstring事件唯一标识
Data.infoTypeNamestring情报类型/测定标识,无则为空串
Data.magnitudenumber震级
Data.placeNamestring震中位置名(已尽量转中文,中日韩本地文字保留)
Data.shockTimestring发震时刻,yyyy-MM-dd HH:mm:ss
Data.updateTimestring更新时刻
Data.longitudenumber经度
Data.latitudenumber纬度
Data.depthnumber震源深度,单位 km
Data.sourcestring来源短名
md5stringData 内容的 md5,可用于去重
注意
时间默认 UTC+8(JMA 预警 / JMA 情报为 UTC+9,各页另有标注);情报端点首连补发最近 10 条(旧→新),之后有新报/更新再实时推送。所有端点每 30 秒下发一帧 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": "令牌无效" }
注意
鉴权失败时服务端发送 WebSocket 关闭帧(关闭码 4401)并断开;客户端收到该关闭码应停止重连并检查令牌。令牌固定不变,无需刷新;仅在连接建立时校验一次,后续无需重复发送。

心跳与保活

服务器→客户端heartbeat 心跳帧

连接建立后,服务器向【所有】WebSocket 端点的客户端每 30 秒下发一帧心跳,用于保持链路活跃、探测断线。心跳帧与业务数据帧(含 Data)结构不同,客户端可根据 type 字段区分并忽略。

{
  "type": "heartbeat",
  "ver": "1.0.0",
  "id": "550e8400-e29b-41d4-a716-446655440000",  // 本次心跳的 UUID
  "timestamp": 1630000000000                      // 毫秒时间戳(见下方说明)
}

字段说明

字段类型说明
typestring帧类型,固定为 heartbeat
verstring心跳协议版本,当前 1.0.0
idstring本次心跳的唯一标识(UUID v4)
timestampnumberUnix 毫秒时间戳,取自 Lmoni(强震监测)在线时间(源为 UTC+9,已按时区折算为绝对时刻,客户端以 UTC+8 显示即为北京时间)
提示
建议:若连续缺失 2–3 个心跳周期(约 60–90 秒)仍未收到任何帧,即可判定链路异常并主动重连。timestamp 为权威网络时间,可用于客户端校时或估算单向延迟。
客户端→服务器ping / pong 保活

客户端可主动发送 ping 探测服务器存活,服务器立即回复 pong。支持两种方式:(一)发送 JSON 文本帧 {"type":"ping"}(也兼容纯文本 ping)→ 服务器回 {"type":"pong",...};(二)发送 WebSocket 协议级 Ping 控制帧 → 服务器回协议级 Pong 控制帧。

// 客户端发送(文本帧):
{ "type": "ping" }

// 服务器回复:
{
  "type": "pong",
  "timestamp": 1630000000000   // 与心跳同源的 Lmoni 时间戳
}

字段说明

字段类型说明
typestring固定为 pong
timestampnumberUnix 毫秒时间戳,与心跳一致(Lmoni 在线时间,UTC+8 显示)
提示:浏览器原生 WebSocket API 无法发送协议级 Ping,因此客户端推荐直接发送文本帧 {"type":"ping"};服务器同样会回复 JSON 文本帧。

JMA 预警 · wss://api.2v8.cn/ws/jma_eew

WSwss://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,可用于去重
}

字段说明

字段类型说明
idstring事件 ID
updatesnumber报数(逐报递增)
shockTimestring发震时刻(UTC+9)
createTimestring发报时刻(UTC+9)
latitude / longitudenumber震中经纬度
depthnumber震源深度(km)
magnitudenumber震级
placeNamestring震央地名(日语原文)
epiIntensitystring预想最大震度
infoTypeNamestring予報 / 警報
finalbool是否最终报
cancelbool是否取消报(误报)
md5string去重用
注意
同一 id 会随 updates 递增多次推送(逐报更新);cancel=true 为误报取消,final=true 为最终报。首连补发最近 10 条。

ShakeAlert地震预警 · wss://api.2v8.cn/ws/sa_eew

WSwss://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"
}

字段说明

字段类型说明
idstring事件 ID(ShakeAlert 事件标识,同一事件逐报不变)
shockTimestring发震时刻(UTC+8)
createTimestring发报时刻(UTC+8,本服务收到并推送的时刻)
latitude / longitudenumber震中经纬度
depthnumber震源深度(km)
magnitudenumber震级
placeNamestring震央地名(经地名库按坐标转为中文;中日韩区域保留原文)
epiIntensitystringCEA 烈度估算值(由震级与深度推算,无法估算时为空)
sourcestring来源短名 sa_eew
md5stringData 去重用
注意
数据涵盖美国西海岸(加州 / 俲勒冈 / 华盛顿);同一 id 可能随逐报更新多次推送(内容变化才推);epiIntensity 为算法估算值,非实测。首连补发最近 10 条。

中国地震预警网 · wss://api.2v8.cn/ws/cea

WSwss://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"
}

字段说明

字段类型说明
idstring预警事件唯一标识符(同一事件逐报不变)
shockTimestring地震发生时间(UTC+8)
longitude / latitudenumber震中经纬度
placeNamestring地震发生地地名
magnitudenumber地震震级
epiIntensitynumber | null预估地震烈度
depthinteger | null震源深度(千米)
updatesinteger该事件的更新报数
sourcestring来源短名 cea
md5stringData 去重用
注意
同一 id 可能随 updates 逐报多次推送(内容变化才推);首连补发最近 10 条。省级分中心预警见 /ws/cea-pr

中国地震预警网(省级) · wss://api.2v8.cn/ws/cea-pr

WSwss://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/ceaid/shockTime/longitude/latitude/placeName/magnitude/epiIntensity/depth/updates),额外增加下列字段:
provincestring发布预警的省级分中心所属省份
sourcestring来源短名 cea-pr
注意
省级网预警可能与国家网 /ws/cea 对同一地震各自发布;同一 idupdates 逐报多次推送(内容变化才推);首连补发最近 10 条。

JMA 情报 · wss://api.2v8.cn/ws/jma

WSwss://api.2v8.cn/ws/jma

震源・震度に関する情報(VXSE53),时间为 UTC+9placeName 及各级区域/测站名为日语原文。

{
  "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"
}

字段说明

字段类型说明
idstring事件 ID(EventID)
updatesnumber报数(Serial)
shockTime / createTimestring发震 / 发报时刻(UTC+9)
magnitude / depthnumber震级 / 深度(km)
latitude / longitudenumber震中经纬度
placeNamestring震央地名(日语原文)
maxIntensitystring全域最大震度
infoTypeNamestring発表 / 訂正 / 取消
titlestring情报标题
intensitiesarray震度分布:都道府県→区域→市町村→观测点 逐级嵌套,各级带 maxIntensity
md5 / sourcestring去重 md5 / 来源短名 jma
注意
intensities 为多层嵌套,需逐层遍历 pref → areas → cities → stations;区域/测站名为日语原文(已处理全角空格)。

CWA 预警 · wss://api.2v8.cn/ws/cwa_eew

WSwss://api.2v8.cn/ws/cwa_eew

地震预警(EEW),时间为 UTC+8placeName 为繁体中文。

{
  "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": "..."
}

字段说明

字段类型说明
idstring事件 ID
updatesnumber报数(逐报递增)
shockTimestring发震时刻(UTC+8)
latitude / longitudenumber震中经纬度
depthnumber震源深度(km)
magnitudenumber震级
placeNamestring震央地名(繁体中文)
md5string去重用
注意
同一事件随 updates 递增逐报推送;首连补发最近 10 条。

CWA 情报 · wss://api.2v8.cn/ws/cwa

WSwss://api.2v8.cn/ws/cwa

正式地震报告,时间为 UTC+8placeName 为官方 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": "..."
}

字段说明

字段类型说明
idstring报告 ID
magnitudenumber震级
placeNamestring震央地名(官方 loc 中文原文,含相对方位描述)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 cwa
md5stringData 去重用
注意
placeName 为官方原文,不经地名库转换;无 infoTypeName 字段;首连补发最近 10 条。

CENC 情报 · wss://api.2v8.cn/ws/cenc

WSwss://api.2v8.cn/ws/cenc

正式地震情报,时间为 UTC+8placeName 为官方中文地名(国内外均中文)。

{
  "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": "..."
}

字段说明

字段类型说明
idstring情报 ID(eqid)
infoTypeNamestring测定标识:正式测定(eq_type=M)/ 自动测定(eq_type=A);缺失时省略
magnitudenumber震级
placeNamestring震央地名(官方中文地名,国内外均中文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
createTimestring情报生成时刻(UTC+8,取自原始 updateTime;缺失时省略)
sourcestring来源短名 cenc
md5stringData 去重用
注意
placeName 为官方中文地名,不经地名库转换infoTypeName 为测定标识(来自 eq_type:M=正式测定 / A=自动测定,缺失时省略);createTime 为情报生成时刻(取自原始 updateTime);首连补发最近 10 条。

KMA 情报 · wss://api.2v8.cn/ws/kma

WSwss://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": "..."
}

字段说明

字段类型说明
idstring情报 ID(kma_+发震时刻紧凑串 KST)
magnitudenumber震级
placeNamestring震央地名(按经纬度反查地名库得到的中文)
shockTimestring发震时刻(UTC+8,由 KST 转换)
updateTimestring更新时刻(UTC+8,同 shockTime)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
maxIntensitystring最大震度(罗马数字 Ⅰ..Ⅻ);缺失时省略
sourcestring来源短名 kma
md5stringData 去重用
注意
此端点为 KMA 地震情报(正式报告),与实时震度端点 /ws/kma_station 不同;时间已由 KST 转 UTC+8;情报也并入 /ws/all(注入 source: "kma");首连补发最近条目。

NIED 震度 · wss://api.2v8.cn/ws/nied

WSwss://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,可用于去重
}

字段说明

字段类型说明
typestring首连测站列表帧类型 nied_stations_update
stationsarray测站列表 {latitude, longitude},下标与 shindo 对应
timestampstring数据时刻(UTC+8)
shindoarray各测站实时震度,按下标对应;-3.0 表无效
md5stringData 去重用
注意
首连先收到 stations 列表,须缓存其下标以对应后续 shindo不并入 /ws/all

S-Net 震度 · wss://api.2v8.cn/ws/snet

WSwss://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,可用于去重
}

字段说明

字段类型说明
typestring首连测站列表帧类型 snet_stations_update
stationsarray测站列表 {latitude, longitude},下标与 shindo 对应
timestampstring数据时刻(UTC+8)
shindoarray各测站实时震度,按下标对应;-3.0 表无效
md5stringData 去重用
注意
帧结构与 NIED 一致(海底测站);首连需缓存 stations 下标以对应 shindo不并入 /ws/all

KMA 震度 · wss://api.2v8.cn/ws/kma_station

WSwss://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"
}

字段说明

字段类型说明
typestring测站列表帧类型 kma_stations_update(首连与测站变更时)
stationsarray测站列表 {latitude, longitude}(保留 2 位小数),下标与 mmi 对应
timestampstring数据时刻(KST)
mmiarray各测站震度(整数,已由原始 4bit 级别映射为 -3..11),按测站下标对应
md5stringData 去重用
sourcestring来源短名 kma_station
注意
测站与 MMI 均来自位压缩 .s/.b(非图像颜色反算);首连需缓存 stations 下标以对应 mmi;测站集合变化时会重发 kma_stations_update;时钟仅用 KMA 响应头 ST 对时(不依赖 lmoni/FAN)。

BMKG 情报 · wss://api.2v8.cn/ws/bmkg

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID(BMKG 无 id,用原 DateTime)
infoTypeNamestring固定为空(BMKG 不提供)
magnitudenumber震级
placeNamestring震央地名(印尼语原文,含方位/地区)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 bmkg
md5stringData 去重用
注意
placeName 为印尼语原文;首连补发最近 10 条。

GeoNet 情报 · wss://api.2v8.cn/ws/geonet

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID(GeoNet publicID)
infoTypeNamestring测定质量:best / preliminary / automatic
magnitudenumber震级
placeNamestring震央地名(经地名库按坐标转中文,未命中时为原始英文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 geonet
md5stringData 去重用
注意
infoTypeName 表测定质量;placeName 经地名库按坐标转中文(未命中时为原始英文);首连补发最近 10 条。

TMD 情报 · wss://api.2v8.cn/ws/tmd

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID
infoTypeNamestring固定为空(TMD 不提供)
magnitudenumber震级
placeNamestring震央地名(泰文原文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 tmd
md5stringData 去重用
注意
placeName 为泰文原文;首连补发最近 10 条。

USP 情报 · wss://api.2v8.cn/ws/usp

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID
infoTypeNamestring固定为空(USP 不提供)
magnitudenumber震级
placeNamestring震央地名(经地名库按坐标转中文,未命中时为原始英文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 usp
md5stringData 去重用
注意
placeName 经地名库按坐标转中文(未命中时为原始英文);首连补发最近 10 条。

GFZ 情报 · wss://api.2v8.cn/ws/gfz

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID(GEOFON eventID)
infoTypeNamestring固定为空(GFZ 不提供)
magnitudenumber震级
placeNamestring震央地名(经地名库按坐标转中文,未命中时为原始英文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 gfz
md5stringData 去重用
注意
placeName 经地名库按坐标转中文(未命中时为原始英文);覆盖全球中强震。

INGV 情报 · wss://api.2v8.cn/ws/ingv

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID
infoTypeNamestring固定为空(INGV 不提供)
magnitudenumber震级
placeNamestring震央地名(意大利文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8,可晚于发震)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 ingv
md5stringData 去重用
注意
placeName 为意大利文;updateTime 可能晚于 shockTime(复核更新)。

USGS 情报 · wss://api.2v8.cn/ws/usgs

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID(USGS event id)
infoTypeNamestring测定标识:automatic 自动 / reviewed 已复核
magnitudenumber震级
placeNamestring震央地名(经地名库按坐标转中文,未命中时为原始英文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 usgs
md5stringData 去重用
注意
infoTypeName:automatic 自动 / reviewed 已复核;placeName 经地名库按坐标转中文(未命中时为原始英文)。

EMSC 情报 · wss://api.2v8.cn/ws/emsc

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID(EMSC unid)
infoTypeNamestring固定为空(EMSC 不提供)
magnitudenumber震级
placeNamestring震央地名(经地名库按坐标转中文,未命中时为原始英文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 emsc
md5stringData 去重用
注意
实时推送(收到即转发);placeName 经地名库按坐标转中文(未命中时为原始英文)。

HKO 情报 · wss://api.2v8.cn/ws/hko

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID(HKO 无 id,用发震时刻)
infoTypeNamestring固定为空(HKO 不提供)
magnitudenumber震级
placeNamestring震央地名(中文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber固定为 0(源不提供)
sourcestring来源短名 hko
md5stringData 去重用
注意
id 用发震时刻代替;depth 固定为 0(源不提供);placeName 为中文。

BCSF 情报 · wss://api.2v8.cn/ws/bcsf

WSwss://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": "..."
}

字段说明

字段类型说明
idstring事件 ID(FDSNWS EventID)
infoTypeNamestring固定为空(BCSF 不提供)
magnitudenumber震级
placeNamestring震央地名(经地名库按坐标转中文,未命中时为原始英文)
shockTimestring发震时刻(UTC+8)
updateTimestring更新时刻(UTC+8)
longitude / latitudenumber震中经纬度
depthnumber震源深度(km)
sourcestring来源短名 bcsf
md5stringData 去重用
注意
非全球目录(以法国本土及海外领地为主,含少量远震),且含采石场爆破、微震等噪声事件;placeName 经地名库转为中文。

NMEFC 海啸 · wss://api.2v8.cn/ws/tsunami

WSwss://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水位监测数组(信息/解除时为空)
注意
非警报级别(信息/解除)时 forecastswaterLevelMonitoring 为空数组、仅提供震源图;本帧无 source,在 /ws/all 上被注入 source: "tsunami"

中国气象局气象预警 · wss://api.2v8.cn/ws/weatheralarm

WSwss://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

WSwss://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推定喷烟流向报火山烟流方向的推定信息

字段说明

字段类型说明
idstring缓冲唯一键,格式 电文代码_EventID
updatesnumber报数 (Serial),订正时递增
kindCodestring数据种类代码 (VFVO50~55/60)
kindNamestring电文中文名称
infoKindstring电文日文名称
infoTypeNamestring発表 / 訂正 / 取消
titlestring报告标题(含火山名,日语原文)
reportTimestring发报时刻 UTC+9
targetTimestring对象现象时刻 UTC+9
volcanoNamestring火山名(日语原文)
volcanoCodestring火山代码
latitude/longitudenumber火山位置十进制度(无坐标时为 0)
elevationnumber海拔高度(米)
craterNamestring火口名(可能为空)
headlinestringHead 概要正文;无 Head 正文时回退 VolcanoHeadline(可能为空)
activitystring火山活动/降灰详述,含时段·方向·距离(源自 VolcanoActivity,保留换行,可能为空)
preventionstring防灾提示(源自 VolcanoPrevention,可能为空)
nextAdvisorystring下次发布预告(源自 NextAdvisory,可能为空)
plumeDirectionstring噴煙流向,如 直上/北 等(源自 ColorPlume,可能为空)
plumeHeightnumber火口上噴煙高度(米,无则为 0)
plumeHeightSeanumber海抜噴煙高度(FT,无则为 0)
observationstring观测补充,火口/噴煙量等(源自 OtherObservation,可能为空)
windTimestring高空风数据时刻 UTC+9(源自 WindAboveCrater,无则为空)
windsarray高空风垂直廓线,逐海拔高度的 {heightFt(FT), degree(真方位度), speedKt(节)};无则空数组
publishingOfficestring发表机关
sourcestring来源短名 va
注意
不同电文种类各自按 kindCode_EventID 去重;同一报告随 updates/订正内容变化才重推;部分电文(如警报)可能无精确坐标,此时经纬度为 0。详述字段随电文种类不同而各有取舍:VFVO60 推定喷烟流向报通常 headline 为空而 plumeDirection/plumeHeight 有值;解说/降灰报(VFVO51/53~55)多含 activity/prevention;无内容的字段为空串。

聚合推送 · wss://api.2v8.cn/ws/all

WSwss://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 字段标明来源(短源名,取值如 usgsbcsftsunamiweatheralarm)。首次连接时将各源最新一条合并为一个 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 之后)
}
注意
首连为 JSON 数组[{...},{...}]),之后为单个对象帧,请分别处理;source 为端点短名(如 usgsbcsftsunami);不含 NIED / S-Net