Skip to content

获取 OnPage Lighthouse 支持版本列表

GET /v3/on_page/lighthouse/versions

接口说明

OnPage Lighthouse API 基于 Google 开源的 Lighthouse 项目,用于评估网页质量。

本接口用于获取当前支持的 Lighthouse 版本列表。若需基于指定 Lighthouse 版本获取检测结果,可在 /v3/on_page/lighthouse/task_post/ 请求中传对应版本号。

该能力基于开源 Lighthouse 项目实现,评分规则与指标可参考 Lighthouse 官方说明。

请求方式

GET https://api.seermartech.cn/v3/on_page/lighthouse/versions

计费说明

调用本接口不收费

响应中的 cost 字段通常为 0,扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

返回结果字段说明

顶层响应字段

字段名类型说明
versionstring当前 API 版本
status_codeinteger通用状态码
status_messagestring通用状态信息
timestring执行耗时,单位:秒
costfloat本次请求总费用,单位:USD
tasks_countintegertasks 数组中的任务数量
tasks_errorintegertasks 数组中返回错误的任务数量
tasksarray任务结果数组

建议为状态码与异常设计完善的处理机制。错误码完整列表请参考错误码附录。

tasks[] 字段

字段名类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态说明
timestring任务执行耗时,单位:秒
costfloat当前任务费用,单位:USD
result_countintegerresult 数组中的数量
patharray请求路径
dataobject请求参数信息。对于该 GET 接口,通常返回接口上下文信息
resultarray结果数组

result[] 字段

字段名类型说明
available_versionsarray支持的 Lighthouse 版本列表

available_versions[] 字段

字段名类型说明
versionstringLighthouse 版本号
defaultboolean是否为默认使用版本

default

defaulttrue 时,表示该版本为默认版本。

defaultfalse 时,表示该版本不会默认使用;如需使用该版本,需要在 /v3/on_page/lighthouse/task_post/ 请求的对应字段中显式指定。

请求示例

cURL

bash
curl --location --request GET "https://api.seermartech.cn/v3/on_page/lighthouse/versions" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"

Python

python
import requests

url = "https://api.seermartech.cn/v3/on_page/lighthouse/versions"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
result = response.json

# 成功时可检查平台返回的 status_code
if result.get("status_code") == 20000:
 print(result)
else:
 print(f"error. Code: {result.get('status_code')} Message: {result.get('status_message')}")

TypeScript

typescript
import axios from "axios";

axios({
 method: "get",
 url: "https://api.seermartech.cn/v3/on_page/lighthouse/versions",
 headers: {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
 }
}).then((response) => {
 const result = response.data;
 // 返回结果
 console.log(result);
}).catch((error) => {
 console.error(error);
});

响应示例

json
{
 "version": "0.1.20210917",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.2232 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "2c5b8d2e-6d4d-4e2d-9c12-2f2b1d5a8e31",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.0000 sec.",
 "cost": 0,
 "result_count": 1,
 "path": [
 "v3",
 "on_page",
 "lighthouse",
 "versions"
 ],
 "data": {
 "api": "on_page",
 "function": "lighthouse"
 },
 "result": [
 {
 "available_versions": [
 {
 "version": "8.4.0",
 "default": true
 },
 {
 "version": "7.5.0",
 "default": false
 }
 ]
 }
 ]
 }
 ]
}

状态码说明

状态码说明
20000请求成功
10000-60000任务级状态码范围,表示不同的处理结果或错误类型

如需处理异常返回,建议同时检查以下字段:

  • 顶层 status_code / status_message
  • tasks[].status_code / tasks[].status_message
  • tasks_error

使用建议

  • 在创建 Lighthouse 检测任务前,调用本接口确认当前可用版本。
  • 如果业务对评分一致性要求较高,建议固定使用某个明确版本,而不是依赖默认版本。
  • 当默认版本发生变更时,可通过本接口及时感知并更新任务参数。

实用场景

  • 校验可用版本:在批量发起 Lighthouse 检测前拉取支持版本,提交了已下线或不受支持的版本号。
  • 固定评分基线:为 SEO 技术审计、页面体验追踪指定固定 Lighthouse 版本,确保不同时间段的评分结果可比。
  • 监控默认版本变化:定期检查默认版本是否切换,及时评估评分波动是否来自检测引擎升级而非页面本身变化。
  • 容多项目检测:针对不同客户或站点使用不同 Lighthouse 版本,满足历史项目延续与新项目升级的双重需求。
  • 排查结果差异:当同一页面在不同时段出现性能或可用性分数变化时,核对 Lighthouse 版本,快速定位是否为版本差异导致。

统一入口:官网 · LLM API · 控制台