Skip to content

SERP / WordPress V2 实时 HTML

POST /v3/serp/wp/v2/live/html

本接口用于实时获取指定关键词、搜索引擎与地区下的原始搜索结果 HTML 页面。

  • 请求方式:POST
  • 接口地址:https://api.seermartech.cn/v3/serp/wp/v2/live/html

该接口返回未经解析的 SERP HTML,适合需要自行提取页面、调试搜索结果结构或保留原始页面快的场景。

计费说明

本接口按请求计费。

参考价约 ¥0.0480 / 次 扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

注意:

  • 每分钟最多可发送 2000 次 API 调用;
  • 每次 Live SERP 请求只能 1 个任务
  • 所有 POST 数据使用 UTF-8 编码的 JSON
  • 请求体是 JSON 数组格式:[{ ... }]

如果设置了更高的 depth

  • 桌面端 20 条结果;
  • 移动端 10 条结果;

且搜索引擎返回了更多结果,可能产生额外费用。 若设置的 depth 高于最终响应中的结果数,差额会自动退回余额。

请求参数

主要参数

字段名类型说明
keywordstring,最长支持 700 个字符。请求中的 %## 会被解码,+ 会被解码为空格。如需保留 %,请写为 %25;如需保留 +,请写为 %2B
location_codeinteger条件填搜索地区编码。当未提供 location_namelocation_coordinate 时填。若使用该字段,则无需再传 location_namelocation_coordinate。示例:2840。地区列表可通过 /v3/serp/wp/locations 获取。
language_codestring条件填搜索语言编码。当未提供 language_name 时填。若使用该字段,则无需再传 language_name。示例:en。语言列表可通过 /v3/serp/wp/languages 获取。
depthinteger抓取深度,即 SERP 中返回的结果数量。桌面端默认 20,最大 100;移动端默认 10,最大 100
devicestring设备类型,可选:desktopmobile。默认:desktop

附加参数

字段名类型说明
location_namestring条件填搜索地区完整名称。当未提供 location_codelocation_coordinate 时填。若使用该字段,则无需再传 location_codelocation_coordinate。示例:London,England,United Kingdom。地区列表可通过 /v3/serp/wp/locations 获取。
language_namestring条件填搜索语言完整名称。当未提供 language_code 时填。若使用该字段,则无需再传 language_code。示例:English。语言列表可通过 /v3/serp/wp/languages 获取。
osstring设备操作系统。若 device=desktop,可选 windowsmacos,默认 windows;若 device=mobile,可选 androidios,默认 android
tagstring自定义任务标识,最长 255 字符。可用于请求结果映射,响应中的 data 对象会返回该值。
location_coordinatestring条件填GPS 坐标。当未提供 location_namelocation_code 时填。格式:latitude,longitude,zoom。如未传 zoom,默认使用 9z。经纬度最多支持 7 位小数;zoom 最小 4z,最大 18z。示例:52.6178549,-155.352142,20z
min_ratingstring按最低评分筛选结果。桌面端可选:3.544.5;移动端可选:22.533.544.5
time_filterstring按营业时间筛选地点。注意:搜索引擎仍可能返回不符合该筛选条件的结果。可选值:"open_now""24_hours""$day_value""$day_value;$time_value"$day_value 可为 mondaysunday$time_value 可为 0023。示例:"tuesday;18"

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/serp/wp/v2/live/html" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "language_code": "en",
 "location_code": 2840,
 "keyword": "albert einstein"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/serp/wp/v2/live/html"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}
data = [
 {
 "language_code": "en",
 "location_code": 2840,
 "keyword": "albert einstein"
 }
]

response = requests.post(url, headers=headers, json=data)
print(response.json)

TypeScript

typescript
import axios from "axios";

async function main {
 const response = await axios.post(
 "https://api.seermartech.cn/v3/serp/wp/v2/live/html",
 [
 {
 language_code: "en",
 location_code: 2840,
 keyword: "albert einstein",
 },
 ],
 {
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
 }
 );

 console.log(response.data);
}

main.catch(console.error);

响应结构

接口返回 JSON 数据,顶层 tasks 数组,每个任务对应一次获取结果。

顶层字段

字段名类型说明
versionstring当前 API 版本。
status_codeinteger通用状态码。完整错误码见 /v3/appendix/errors。建议业务侧做好异常处理与重试机制。
status_messagestring通用状态信息。
timestring执行耗时,单位秒。
costfloat本次请求总成本,单位 USD。
tasks_countintegertasks 数组中的任务数量。
tasks_errorinteger返回错误的任务数量。
tasksarray任务结果数组。

tasks[] 字段

字段名类型说明
idstring任务唯一标识,UUID 格式。
status_codeinteger任务状态码,范围通常为 10000-60000。完整错误码见 /v3/appendix/errors
status_messagestring任务状态信息。
timestring任务执行耗时,单位秒。
costfloat该任务成本,单位 USD。
result_countintegerresult 数组中的数量。
patharrayURL 路径信息。
dataobject与请求中提交的参数基本一致。
resultarray结果数组。

result[] 字段

字段名类型说明
keywordstring请求中的。返回时 %## 会被解码,+ 会被解码为空格。
typestring请求中的搜索引擎类型。
se_domainstring请求中的搜索引擎域名。
location_codeinteger请求中的地区编码。
language_codestring请求中的语言编码。
datetimestring结果获取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
items_countintegeritems 数组中的结果数量。
itemsarraySERP 搜索结果项数组。

items[] 字段

字段名类型说明
pageinteger返回的 HTML 页序号。
datestringHTML 页面抓取时间,格式:year-month-date:minutes:UTC_difference_hours:UTC_difference_minutes。示例:2019-11-15 12:57:46 +00:00
htmlstring原始 HTML 页面。

响应示例

json
{
 "version": "0.1.20200130",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "7.7543 sec.",
 "cost": 0.003,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "serp",
 "function": "live",
 "se": "wp",
 "se_type": "v2",
 "language_name": "English",
 "location_name": "United States",
 "keyword": "local nail services",
 "tag": "tag1",
 "device": "desktop",
 "os": "windows"
 },
 "result": [
 {
 }
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code=20000 通常表示请求成功;
  • 单个任务也有独立的 status_codestatus_message
  • 建议同时检查:
  • 顶层 status_code
  • tasks_error
  • tasks[].status_code

完整错误码说明参考 /v3/appendix/errors

使用说明

  • 本接口为实时接口,提交后直接返回结果;
  • 每次请求只能提交一个任务对象,但请求体仍需使用数组格式:
json
[
{
"keyword": "albert einstein",
"location_code": 2840,
"language_code": "en"
}
]
  • 如需按地区或语言名称传参,可使用 location_namelanguage_name 替代编码字段;
  • 如需更精确地控制本地化搜索范围,可使用 location_coordinate 传经纬度与缩放级别;
  • 返回的是原始 HTML,不是结构化搜索结果,适合自定义解析流程。

实用场景

  • 抓取原始 SERP 页面:获取指定在目标地区的完整搜索结果 HTML,用于自定义解析搜索模块、广告位、本地结果块等页面。
  • 校验搜索结果展示差异:对比不同设备、系统、地区下的 HTML 差异,帮助 SEO 团队识别本地化展示、移动端样式和排序变化。
  • 构建自有解析器:基于 html 字段自行提取标题、链接、摘要或特殊 SERP 组件,满足标准结构化接口之外的个性化数据需求。
  • 留存页面快:保存特定时点的 SERP HTML,便于后续复盘排名波动、页面结构调整或搜索引擎样式更新。
  • 验证时间与评分筛选效果:结合 time_filtermin_rating 等参数测试本地结果筛选逻辑,门店 SEO、地图可见性分析与竞品监测。

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