Skip to content

OnPage Lighthouse 审计项列表

接口说明

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

Lighthouse Audits 是 Lighthouse 执行页面质量检测后返回的审计结果对象。本接口用于获取当前可用的 Lighthouse 审计项标题列表。获取到这些标题后,你可以在 /v3/on_page/lighthouse/task_post 请求中指定对应的审计项,以返回特定审计结果。

说明:

  • 本接口基于开源 Lighthouse 项目实现;
  • 审计项名称可能随检测通过/失败状态而变化;
  • 某些审计项标题中可能 Markdown 代码格式;
  • 如果审计项名称中斜杠 /,应使用斜杠后的最后一个单词进行检索。

请求信息

  • 请求方式GET
  • 请求地址https://api.seermartech.cn/v3/on_page/lighthouse/audits

计费说明

本接口不收费。

扣费以响应头 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 数组中的数量
patharrayURL 路径
dataobject含与请求的数据对象
resultarray结果数组

result 数组字段

字段名类型说明
auditsarray可用的 Lighthouse 审计项列表

使用说明

调用本接口后,你将获得当前支持的 Lighthouse 审计项标题列表。随后可以将这些标题用于 /v3/on_page/lighthouse/task_post 请求中,以指定希望返回的审计结果。

审计项使用注意事项

  1. 标题可能变化 同一类审计项在通过或失败时,返回标题可能不同。

  2. 可能 Markdown 个别标题中可能出现 Markdown 格式,解析时建议做容处理。

  3. / 的标题需特殊处理 如果审计项名称 /,应按斜杠后的最后一个单词进行搜索匹。

请求示例

cURL

bash
curl --location --request GET "https://api.seermartech.cn/v3/on_page/lighthouse/audits" \
--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/audits"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

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

TypeScript

typescript
import axios from "axios";

// 获取可用的 Lighthouse 审计项列表
axios({
 method: "get",
 url: "https://api.seermartech.cn/v3/on_page/lighthouse/audits",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
})
 .then((response) => {
 // 返回结果
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

响应示例

json
{
 "version": "0.1.20210713",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.3788 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "on_page",
 "function": "lighthouse"
 },
 "result": [
 {
 "audits": [
 "is-on-https",
 "redirects-http",
 "service-worker",
 "works-offline",
 "viewport",
 "without-javascript"
 ]
 }
 ]
 }
 ]
}

响应状态与错误处理

  • status_code = 20000 表示请求成功;
  • 若返回状态码,表示请求或任务执行异常;
  • 建议同时检查:
  • 顶层 status_code
  • tasks任务级 status_code
  • tasks_error 是否大于 0

在生产环境中,建议对以下进行处理:

  • 认证失败
  • 请求参数错误
  • 接口限流
  • 平台处理异常
  • 返回结果字段缺失或结构变化

接口

  • 提交 Lighthouse 任务:/v3/on_page/lighthouse/task_post

实用场景

  • 拉取可用审计项单:在创建 Lighthouse 任务前获取当前支持的审计项,传无效标题导致任务失败。
  • 动态构建审计:根据接口返回的审计项列表,自动生成前端筛选器或任务面板,提升 SEO 工的可维护性。
  • 校验审计项容性:在批量提交 /v3/on_page/lighthouse/task_post 之前,校验目标审计项是否仍可用,减少因平台变更造成的异常。
  • 维护审计项映射表:定期同步可用审计项,建立中文名称与技术标题的映射,方便业务系统展示与分析。
  • 监控审计项变更:持续比较不同时间点返回的 audits 列表,及时发现平台 Lighthouse 审计项的新增、下线或命名变化。

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