Skip to content

实时抓取 WordPress 搜索结果高级版

本接口用于实时获取指定关键词、地区和语言下的搜索结果页面(SERP)数据,返回结构化解析结果。默认,桌面端最多返回 20 条结果,移动端最多返回 10 条结果。

接口地址

POST https://api.seermartech.cn/v3/serp/wp/v2/live/advanced

计费说明

该接口按请求计费。

参考价约 ¥0.0320 / 次

说明:

  • 每次请求支持提交 1 个任务
  • 每分钟最多可发送 2000 次 API 调用
  • 当桌面端返回不 20 条、或移动端返回不 10 条结果时,按一次基础请求计费
  • 如果 depth过桌面 20 条或移动端 10 条,且搜索引擎返回了更多结果,可能产生额外扣费
  • 如果设置的 depth 大于返回结果数,差额会自动退回账户余额
  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准

所有 POST 数据需使用 UTF-8 编码的 JSON 格式提交,请求体为 JSON 数组:[{ ... }]

请求参数

主要参数

字段名类型说明
keywordstring。搜索,最长支持 700 个字符。请求中的 %## 会被解码,字符 + 会被解码为空格。如果本身需要 %,请传 %25;如果需要 +,请传 %2B
location_codeinteger搜索地区代码。如果未传 location_namelocation_coordinate,则为。使用该字段时,无需再传 location_namelocation_coordinate。可通过 /v3/serp/wp/locations 查询可用地区代码。示例:2840
language_codestring搜索语言代码。如果未传 language_name,则为。使用该字段时,无需再传 language_name。可通过 /v3/serp/wp/languages 查询可用语言代码。示例:en
depthinteger解析深度,可选。表示希望返回的 SERP 结果数。桌面端默认 20、最大 100;移动端默认 10、最大 100
devicestring设备类型,可选。可选值:desktopmobile。默认值:desktop

附加参数

字段名类型说明
location_namestring搜索地区完整名称。如果未传 location_codelocation_coordinate,则为。使用该字段时,无需再传 location_codelocation_coordinate。可通过 /v3/serp/wp/locations 查询可用地区名称。示例:London,England,United Kingdom
language_namestring搜索语言完整名称。如果未传 language_code,则为。使用该字段时,无需再传 language_code。可通过 /v3/serp/wp/languages 查询可用语言名称。示例:English
osstring设备操作系统,可选。若 device=desktop,可选 windowsmacos,默认 windows;若 device=mobile,可选 androidios,默认 android
tagstring自定义任务标识,可选,最大 255 字符。可用于请求与响应结果的,响应中的 data 对象会返回该值。
priorityinteger任务优级,可选。可选值:1(普通优级,默认)、2(高优级)。高优级任务会产生额外费用,扣费以响应头 X-SeerMarTech-Charge-CNY 为准。
location_coordinatestringGPS 坐标定位,可选。如果未传 location_namelocation_code,则为。格式为 "latitude,longitude,zoom"。若未提供 zoom,默认使用 9zlatitudelongitude 最多支持 7 位小数;zoom 最小 4z,最大 18z。示例:52.6178549,-155.352142,20z
min_ratinginteger按最低评分过滤结果,可选。桌面端可选值:3.544.5;移动端可选值:22.533.544.5
time_filterstring按营业时间过滤结果,可选。可用于筛选当前营业、24 小时营业,或某天某时营业的地点。注意:搜索引擎仍可能返回部分不匹该过滤条件的结果。可选值:"open_now""24_hours""$day_value""$day_value;$time_value"$day_value 可取 mondaytuesdaywednesdaythursdayfridaysaturdaysunday$time_value 可取 "00""23"。示例:"tuesday;18"

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/serp/wp/v2/live/advanced" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "language_code": "en",
 "location_code": 2840,
 "keyword": "local nail services",
 "min_rating": 4.5,
 "time_filter": "monday"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/serp/wp/v2/live/advanced"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}
data = [
 {
 "language_code": "en",
 "location_code": 2840,
 "keyword": "local nail services",
 "min_rating": 4.5,
 "time_filter": "monday"
 }
]

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

TypeScript

typescript
import axios from "axios";

async function fetchSerp {
 const response = await axios.post(
 "https://api.seermartech.cn/v3/serp/wp/v2/live/advanced",
 [
 {
 language_code: "en",
 location_code: 2840,
 keyword: "local nail services",
 min_rating: 4.5,
 time_filter: "monday",
 },
 ],
 {
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
 }
 );

 console.log(response.data);
}

fetchSerp;

响应结构

接口返回 JSON 数据, tasks 数组,每个任务中对应的抓取结果。

顶层字段

字段名类型说明
versionstring当前 API 版本。
status_codeinteger通用状态码。完整错误码见 /v3/appendix/errors。建议在业务中实现完善的异常处理。
status_messagestring通用状态信息。
timestring执行耗时,单位秒。
costfloat本次请求总费用,单位 USD。
tasks_countintegertasks 数组中的任务数量。
tasks_errorintegertasks 数组中返回错误的任务数量。
tasksarray任务数组。

任务字段

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

result 结果字段

字段名类型说明
keywordstringPOST 请求中的。返回值会对 %## 解码,+ 会被解码为空格。
typestring请求中的搜索引擎类型。
se_domainstring请求中的搜索引擎域名。
location_codeinteger请求中的地区代码。
language_codestring请求中的语言代码。
check_urlstring可直接访问的搜索结果页链接,可用于核对返回结果。
datetimestring结果抓取时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00。示例:2019-11-15 12:57:46 +00:00
spellobject搜索引擎自动纠错信息。
spell.keywordstring自动纠错后的,返回结果将基于该词。
spell.typestring自动纠错类型,可选值:did_you_meanshowing_results_forno_results_found_forincluding_results_for
refinement_chipsobject搜索细化标签。
refinement_chips.typestring固定为 refinement_chips
refinement_chips.xpathstring素的 XPath。
refinement_chips.itemsarray细化项列表。
refinement_chips.items[].typestring固定为 refinement_chips_element
refinement_chips.items[].titlestring细化项标题。
refinement_chips.items[].urlstring带筛选参数的搜索 URL。
refinement_chips.items[].domainstring结果域名。
refinement_chips.items[].optionsarray进一步细化选项。
refinement_chips.items[].options[].typestring固定为 refinement_chips_option
refinement_chips.items[].options[].titlestring选项标题。
refinement_chips.items[].options[].urlstring带筛选参数的搜索 URL。
refinement_chips.items[].options[].domainstring结果域名。
item_typesarray当前 SERP 中出现的结果类型列表。
se_results_countintegerSERP 中结果总数。
items_countintegeritems 数组中的结果数量。
itemsarraySERP 结果明细。

items 中的本地结果

该接口主要返回 local_pack 类型结果。

字段名类型说明
typestring结果类型,固定为 local_pack
rank_groupinteger同类结果分组排名。在相同 type 的连续计数。
rank_absoluteinteger在整个 SERP 中的绝对排名。
positionstring素在页面中的位置,可选 leftright
xpathstring素的 XPath。
titlestring本地商家标题。
descriptionstring结果描述文本。
domainstring结果展示域名。
phonestring电话号码。
booking_urlstring预约页面链接。
urlstring网页链接。
is_paidboolean是否为广告。
ratingobject商家评分信息。
rating.rating_typestring评分类型,可能为 Max5PercentsCustomMax
rating.valuefloat评分值。
rating.votes_countinteger评价数量。
rating.rating_maxinteger当前评分类型下的最大值。
cidstring平台定义的本地商家唯一 ID。可与评论接口联动,用于获取该商家的完整评论列表。
rectangleobject结果在页面中的矩形区域参数,坐标与像素尺寸。本接口示例中该值为 null

响应示例

json
{
 "version": "0.1.20220819",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "4.0522 sec.",
 "cost": 0.002,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "serp",
 "function": "live",
 "se": "google",
 "se_type": "local_finder",
 "language_code": "en",
 "location_code": 2840,
 "keyword": "local nail services",
 "min_rating": 4.5,
 "time_filter": "monday",
 "device": "desktop",
 "os": "windows"
 },
 "result": [
 {
 "se_results_count": 0,
 "items_count": 20,
 "items": [
 {
 "type": "local_pack",
 "title": "Liam Nails",
 "description": "5+ years in business · Mon: 9AM–5PM · +1 443-640-4298",
 "domain": "kubiti.wordpress.com",
 "phone": "+1 443-640-4298",
 "booking_url": "https://www.google.com/maps/reserve/...",
 "url": "https://kubiti.wordpress.com/nail-trends/?liam+nails",
 "is_paid": false,
 "rating": {
 "rating_type": "Max5",
 "value": 4.5,
 "votes_count": 50,
 "rating_max": 5
 },
 "cid": "5302726516741959894",
 "rectangle": null
 },
 {
 "type": "local_pack",
 "title": "Elite Nails",
 "description": "10+ years in business · Bartlesville, OK, United States · Mon: 9AM–7PM · +1 918-333-9888",
 "domain": "kubiti.wordpress.com",
 "phone": "+1 918-333-9888",
 "booking_url": "https://www.google.com/maps/reserve/...",
 "url": "https://kubiti.wordpress.com/nail-trends/?elite+nails",
 "is_paid": false,
 "rating": {
 "rating_type": "Max5",
 "value": 4.7,
 "votes_count": 353,
 "rating_max": 5
 },
 "cid": "17867200233795892980",
 "rectangle": null
 }
 ]
 }
 ]
 }
 ]
}

错误处理

请重点以下字段:

  • 顶层 status_code / status_message
  • 任务级 tasks[].status_code / tasks[].status_message

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

建议:

  • 对非 20000 状态进行统一异常处理
  • tasks_error > 0 的响应逐任务检查
  • 记录请求参数中的 tag,便于链路追踪
  • 结合 cost 字段进行费用审计

使用说明

  • 本接口为实时接口,请求发出后直接返回解析结果
  • 每个请求体数组中只能一个任务对象
  • 若需要更精准的地域定位,优使用 location_coordinate
  • 若需要业务筛选,可结合 min_ratingtime_filter 缩小本地结果范围
  • 返回的 cid 可用于后续本地商家评价、口碑监测等业务流程

实用场景

  • 筛选本地高评分商家:按、地区和最低评分抓取本地结果,快速构建门店竞争对手单。
  • 监控营业时段:结合 time_filter 检查“当前营业”或特定时段的本地结果,评估门店在营业时间的可见性。
  • 分析本地 SERP 排名格局:基于 rank_grouprank_absolutetitledomain 等字段识别头部商家与排名波动。
  • 挖掘预约与转化:提取 booking_urlphoneurl 等字段,分析本地结果中的预约链路与转化触点。
  • 商家评论数据:使用返回的 cid 作为后续评论采集与口碑分析的主键,建立本地 SEO 与评价管理闭环。

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