主题
OnPage Lighthouse API 概览
POST /v3/on_page/lighthouse/live/json
本接口基于 Google 开源的 Lighthouse 项目,用于评估网页质量、性能及 Web 应用体验。提交任务使用 POST /v3/on_page/lighthouse/task_post/,获取任务结果使用 GET /v3/on_page/lighthouse/task_get/json;如需同步获取结果,可使用 GET /v3/on_page/lighthouse/live/json。
功能概述
Lighthouse 会模拟中端移动设备及 4G 网络环境,对目标网页进行加载和分析,并返回网页性能、可访问性、最佳实践、SEO 等方面的数据。
本接口返回结果中 results 数组的与 Lighthouse 项目官方文档定义的数据结构一致。字段和结构,请参考 Lighthouse 官方项目文档。
工作流程
1. 提交 Lighthouse 任务
通过 POST /v3/on_page/lighthouse/task_post/ 提交分析网页。除目标 URL 外,还可以指定审计项和分类等参数,以筛选所需结果。
任务提交后,接口会返回对应的 task_id。每个 POST 请求最多可提交 100 个任务。
2. 获取任务结果
网页抓取完成后,将 task_id 传递给 GET /v3/on_page/lighthouse/task_get/json,即可获取任务结果。
当前结果格式为 JSON。返回数据中的 results 数组 Lighthouse 分析结果。
3. 使用回调通知
创建任务时,可以设置以下任一回调地址:
pingback_url:任务完成后通知任务状态。postback_url:任务完成后将任务结果发送到指定地址。
如果使用 pingback_url 或 postback_url,可以通过 GET /v3/on_page/lighthouse/tasks_ready/ 获取已完成但尚未收取的任务 ID 列表。
4. 获取即时结果
如果业务需要立即获取分析结果,可使用 GET /v3/on_page/lighthouse/live/json。该接口无需后调用任务提交和任务查询接口,适合对实时性要求较高的场景。
审计项与分类
Audits
audits含各项审计结果,并以审计标题作为键名。
如需返回指定审计项,可在任务提交请求中传对应的审计标题。所有可用审计标题可通过以下接口获取:
GET /v3/on_page/lighthouse/audits/
Categories
categories含 Lighthouse 分类信息、分类评分,以及组成该分类的审计项引用。
请求限制
平台限流以认证说明中的 30/60/120 次/分钟规则为准。
- 每个 POST 请求最多 100 个任务。
- 同时处理的请求数最多为 30 个。
- 如需提高请求限制,请联系本平台技术支持。
认证
请求时使用 Bearer Token 认证:
bash
curl --request GET \
--url https://api.seermartech.cn/v3/on_page/lighthouse/audits/ \
--header 'Authorization: Bearer smt_live_YOUR_KEY'接口
| 功能 | 方法与路径 | 说明 |
|---|---|---|
| 提交 Lighthouse 任务 | POST /v3/on_page/lighthouse/task_post/ | 提交网页分析任务 |
| 获取任务结果 | GET /v3/on_page/lighthouse/task_get/json | 根据 task_id 获取 JSON 结果 |
| 获取已完成任务 | GET /v3/on_page/lighthouse/tasks_ready/ | 获取已完成但尚未收取的任务 |
| 获取可用审计项 | GET /v3/on_page/lighthouse/audits/ | 获取所有可用审计标题 |
| 获取即时结果 | GET /v3/on_page/lighthouse/live/json | 直接获取 Lighthouse 分析结果 |
| 查询账户数据 | GET /v3/appendix/user_data/?php | 查询账户及用量信息 |
| 使用沙盒环境 | — | 用于测试 OnPage Lighthouse API |
任务提交示例
bash
curl --request POST \
--url https://api.seermartech.cn/v3/on_page/lighthouse/task_post/ \
--header 'Authorization: Bearer smt_live_YOUR_KEY' \
--header 'Content-Type: application/json' \
--data '[
{
"url": "https://example.com/",
"audits": [
"largest-contentful-paint",
"cumulative-layout-shift",
"first-contentful-paint"
]
}
]'> 请求体为 JSON 数组,即使只提交一个任务,也需要使用 [{ ... }] 格式。
结果获取示例
bash
curl --request GET \
--url 'https://api.seermartech.cn/v3/on_page/lighthouse/task_get/json?id=YOUR_TASK_ID' \
--header 'Authorization: Bearer smt_live_YOUR_KEY',YOUR_TASK_ID 应替换为提交任务后返回的任务 ID。
计费说明
本接口的费用取决于调用。可通过用户数据接口查询账户信息,扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
参考
- Lighthouse 官方开源项目及文档:用于了解
results数组中返回数据的字段和结构。 - 本平台沙盒接口:
/v3/appendix/sandbox/ - 任务完成与结果获取:参考任务状态及已完成任务处理说明。
实用场景
- 批量评估落地页性能:对广告落地页执行 Lighthouse 审计,定位加载速度和核心 Web 指标问题,提升广告转化率。
- 监控核心页面体验:定期分析首页、产品页和结算页的性能评分,及时发现页面改版或发布造成的体验下降。
- 筛选指定 SEO 审计项:获取 SEO、可访问性或特定性能审计结果,减少无数据处理并提高分析效率。
- 构建自动化质量门禁:在发布流程中调用即时分析接口,根据 Lighthouse 评分阻止不符合性能标准的页面上线。
- 汇总多站点优化结果:批量提交多个域名或页面并收集任务结果,为 SEO 技术审计和客户报告提供统一数据。