Post: 通过 Umami API 获取访客数据

公開日: 2026-04-06 08:36 859文字 5 min read

この投稿は「日本語」では表示できません。元の投稿を表示しています。
详细讲解如何通过 Umami API 获取网站访客数据,包括 Umami Cloud 与自托管版本的 API 密钥获取、分享链接 Token 认证方式,以及 /api/websites/:websiteId/stats 接口的调用、参数过滤与新旧版本数据结构差异,完整实现页面访问量、独立访客等数据的程序化获取。

认证

Umami API 需要认证,可以是使用 用户的 API 密钥 或是 使用网站分享中的 API 密钥 x-umami-share-token

获取用户的 API 密钥

Umami Cloud 用户获取 API 密钥

如果你的是 Umami Cloud 用户,你需要在 Umami Cloud 控制台中生成 API 密钥。

Umami Cloud API 密钥文档

Umami Self-Hosted 用户获取 API 密钥

如果你的 Token 会对外公开,建议转移网站到一个团队,然后添加一个仅有访问权限的用户,使用该用户的 Token 进行认证。

如果你的是 Umami Self-Hosted 用户,需要在 POST /api/auth/login 发送以下请求体,

{
  "username": "your-username",
  "password": "your-password"
}

如果登录成功,你应该会收到如下回复,记下 token

{
  "token": "eyTMjU2IiwiY...4Q0JDLUhWxnIjoiUE_A",
  "user": {
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "username": "admin",
    "role": "admin",
    "createdAt": "2000-00-00T00:00:00.000Z",
    "isAdmin": true
  }
}

获取分享链接的 API 密钥

给网站开启分享链接后,你将会收到一个分享链接,如下:

https://u.ksable.top/share/gR1PdRDiutFusWn6

给链接的 pathname 前添加 api,如下:

https://u.ksable.top/api/share/gR1PdRDiutFusWn6

然后打开它,你将会收到如下回复,记下 token

{
  "websiteId": "a-b-c-d",
  "token": "a.b.c"
}

给接口添加认证

给接口添加认证,你需要在请求头中添加 authorization 字段,值为 Bearer {token}

GET /api/*
Authorization: Bearer a.b.c

如果你是从分享链接获取的 token,你需要在请求头中添加 x-umami-share-token 字段,值为 token

GET /api/*
x-umami-share-token: a.b.c

获取访客数据

接口地址

GET /api/websites/:websiteId/stats

参数

参数参数类型描述
startAtnumber开始时间,单位毫秒
endAtnumber结束时间,单位毫秒
filtersobject过滤参数

例如:

GET /api/websites/:websiteId/stats
Authorization: Bearer a.b.c

将会收到如下回复,

{
  "pageviews": 15171,
  "visitors": 4415,
  "visits": 5680,
  "bounces": 3567,
  "totaltime": 809968,
  "comparison": {
    "pageviews": 38675,
    "visitors": 10568,
    "visits": 14595,
    "bounces": 9364,
    "totaltime": 2182387
  }
}

其中 pageviews 是页面访问量,visitors 是独立访客数量,通常只会用到这两个指标。

一些字段的描述如下:

字段描述
pageviews页面点击
visitors独立访客数量
visits独立访问次数
bounces访问单一页面的访客数量
totaltime在网站上花的时间
注意 如果你使用的是旧版的 Umami,返回的数据结构可能与新版不同

旧版 Umami 返回的数据结构如下:

{
  "pageviews": {
    "value": 15171
  },
  "visitors": {
    "value": 4415
  },
  "visits": {
    "value": 5680
  },
  "bounces": {
    "value": 3567
  },
  "totaltime": {
    "value": 809968
  }
}

可以根据需要,添加 filters 参数来过滤数据。如 path=/post/bian-jian-tong-guo-api-huo-qu-umami-fang-ke-shu-ju

GET /api/websites/:websiteId/stats?path=/post/bian-jian-tong-guo-api-huo-qu-umami-fang-ke-shu-ju

将会返回在 path 为 /post/bian-jian-tong-guo-api-huo-qu-umami-fang-ke-shu-ju 的访客数据。

一些过滤参数
参数类型说明
pathstringURL 路径
referrerstring引荐来源
titlestring页面标题
querystring查询参数
browserstring浏览器
osstring操作系统
devicestring设备名称(例如:Mobile)
countrystring国家
regionstring地区/州/省份
citystring城市
languagestring浏览器语言
hostnamestring主机名
tagstring标签
eventstring事件
distinctIdstring唯一标识 ID
utmSourcestringUTM 来源
utmMediumstringUTM 媒介
utmCampaignstringUTM 活动名称
utmContentstringUTM 内容
utmTermstringUTM 关键词
segmentuuid用户分群 UUID
cohortuuid用户群组 UUID

其它的一些 API 参见 Umami API 文档

参考

気に入ったならばコメントを残してくださいね~