Skip to content

提交 Google 商家问答采集任务

接口概述

该接口用于提交 Google 商家问答(Questions and Answers)采集任务,返回指定商家实体下的问答信息概览。任务完成后,可获取与该商家的问题、回答,以及时间戳、用户信息等数据。

返回结果受所选地点语言影响。地点与语言的可选值可分别通过以下接口获取:

  • /v3/business_data/google/locations
  • /v3/business_data/google/languages

请求方式

POST https://api.seermartech.cn/v3/business_data/google/questions_and_answers/task_post

计费说明

创建任务即产生费用。

  • 问答数据按每 20 条问题计费
  • 每个问题最多返回 5 条回答
  • depth 默认值为 20,如设置 20,且游返回了更多结果,可能产生额外费用
  • 若设置的 depth 高于返回的问题数,差额会自动退回到账户余额
  • 高优级任务(priority=2)会额外收费
  • 扣费以响应头 X-SeerMarTech-Charge-CNY 为准

按文中示例响应估算,参考价约 ¥0.0120 / 次;费用取决于任务参数与返回结果量。

使用说明

  • 所有 POST 数据使用 JSON(UTF-8 编码)
  • 请求体格式为 JSON 数组[{ ... }]
  • 单次 POST 最多可提交 100 个任务
  • 接口调用频率上限为 2000 次/分钟
  • 若单次请求中任务数 100,出部分将返回错误码 40006

任务提交成功后,可通过返回的唯一任务标识 id 获取结果。 如果在创建任务时指定了 postback_urlpingback_url,本平台也可在任务完成后主动回调结果或通知。

注意:如果回调目标服务器在 10 秒未响应,请求会因时中断,该任务会转 /v3/business_data/google/my_business_info/tasks_ready/ 列表中后续拉取。错误码和错误信息取决于你的服务器。


请求参数

字段名类型说明
keywordstring商家名称。建议填写本地商家名称。最大长度 700 个字符。字段中的 %## 会被解码,+ 会被解码为空格;如果需要传字面量 %,请使用 %25。该字段也支持传商家标识:cid:194604053573767737place_id:GhIJQWDl0CIeQUARxks3icF8U8A
priorityinteger任务优级。1 = 普通优级(默认),2 = 高优级。高优级会额外收费
location_namestring条件填搜索引擎地点名。若未提供 location_codelocation_coordinate,则填。使用该字段时无需再传 location_codelocation_coordinate。示例:London,England,United Kingdom
location_codeinteger条件填搜索引擎地点编码。若未提供 location_namelocation_coordinate,则填。使用该字段时无需再传 location_namelocation_coordinate。示例:2840
location_coordinatestring条件填GPS 坐标,格式为 latitude,longitude,radius。若未提供 location_namelocation_code,则填。latitudelongitude 最多 7 位小数;radius 最小值 199.9(毫米),最大值 199999(毫米)。示例:53.476225,-2.243572,200
language_namestring条件填搜索语言名称。若未提供 language_code,则填。使用该字段时无需再传 language_code。示例:English
language_codestring条件填搜索语言代码。若未提供 language_name,则填。使用该字段时无需再传 language_name。示例:en
depthinteger解析深度,即结果中返回的问题条数。默认 20,最大 700
tagstring自定义任务标识,最大长度 255。可用于请求与结果匹,响应的 data 对象中会原样返回
postback_urlstring任务完成后,本平台会向该地址发送完整结果的 POST 请求,结果为 gzip 压缩格式。可使用 $id$tag 占位符,例如:http://your-server.com/postbackscript?id=$id&tag=$tag。特殊字符会进行 URL 编码
pingback_urlstring任务完成后,本平台会向该地址发送 GET 通知。可使用 $id$tag 占位符,例如:http://your-server.com/pingscript?id=$id&tag=$tag。特殊字符会进行 URL 编码

地点与语言参数说明

以下参数为互斥,三选一 / 二选一:

  • 地点参数三选一:location_name / location_code / location_coordinate
  • 语言参数二选一:language_name / language_code

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/business_data/google/questions_and_answers/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "location_code": 1013962,
 "language_code": "en",
 "keyword": "The Last Bookstore"
 },
 {
 "location_name": "Los Angeles,California,United States",
 "language_name": "English",
 "keyword": "The Last Bookstore",
 "priority": 2,
 "tag": "some_string_123",
 "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/business_data/google/questions_and_answers/task_post"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

# 请求体为 JSON 数组
payload = [
 {
 "location_name": "Los Angeles,California,United States",
 "language_name": "English",
 "keyword": "The Last Bookstore",
 "tag": "some_string_123",
 "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
 }
]

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

if data.get("status_code") == 20000:
 print(data)
else:
 print(f'error. Code: {data.get("status_code")} Message: {data.get("status_message")}')

TypeScript

typescript
const url = 'https://api.seermartech.cn/v3/business_data/google/questions_and_answers/task_post';

const payload = [
 {
 location_name: 'Los Angeles,California,United States',
 language_name: 'English',
 keyword: 'The Last Bookstore',
 tag: 'some_string_123',
 pingback_url: 'https://your-server.com/pingscript?id=$id&tag=$tag'
 }
];

fetch(url, {
 method: 'POST',
 headers: {
 'Authorization': 'Bearer smt_live_YOUR_KEY',
 'Content-Type': 'application/json'
 },
 body: JSON.stringify(payload)
})
 .then(res => res.json)
 .then(data => {
 if (data.status_code === 20000) {
 console.log(data);
 } else {
 console.error(`error. Code: ${data.status_code} Message: ${data.status_message}`);
 }
 });

响应结构

接口返回 JSON 对象 tasks 数组本次提交的任务信息。

顶层字段

字段名类型说明
versionstring当前 API 版本
status_codeinteger通用状态码,完整列表见 /v3/appendix/errors
status_messagestring通用状态信息
timestring执行耗时,单位秒
costfloat本次请求总费用,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorinteger返回错误的任务数量
tasksarray任务数组

tasks[] 字段

字段名类型说明
idstring平台唯一任务 ID,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态信息
timestring任务执行耗时
costfloat该任务费用,单位 USD
result_countintegerresult 数组中的数量
patharrayURL 路径
dataobject回显创建任务时传的参数
resultarray | null结果数组。对于任务提交接口,该字段通常为 null

响应示例

json
{
 "version": "0.1.20240422",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.2147 sec.",
 "cost": 0.00075,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "a6d0b8f4-4a6b-4d81-9f2a-1234567890ab",
 "status_code": 20100,
 "status_message": "Task Created.",
 "time": "0.0031 sec.",
 "cost": 0.00075,
 "result_count": 0,
 "path": [
 "v3",
 "business_data",
 "google",
 "questions_and_answers",
 "task_post"
 ],
 "data": {
 "api": "business_data",
 "function": "questions_and_answers",
 "language_code": "en",
 "location_name": "Los Angeles,California,United States",
 "keyword": "The Last Bookstore",
 "se_type": "questions_and_answers",
 "se": "google",
 "device": "desktop",
 "os": "windows"
 },
 "result": null
 }
 ]
}

回调说明

postback_url

  • 任务完成后,本平台会向你指定的地址发送 POST 请求
  • 返回为 gzip 压缩结果
  • 支持在 URL 中使用:
  • $id:任务 ID
  • $tag:URL 编码后的自定义标签

示例:

  • http://your-server.com/postbackscript?id=$id
  • http://your-server.com/postbackscript?id=$id&tag=$tag

pingback_url

  • 任务完成后,本平台会向你指定的地址发送 GET 请求
  • 用于通知任务完成,便于你再自行获取结果
  • 同样支持 $id$tag 占位符

示例:

  • http://your-server.com/pingscript?id=$id
  • http://your-server.com/pingscript?id=$id&tag=$tag

常见状态与错误处理

  • 20000:请求成功
  • 20100:任务已创建
  • 40006:单次 POST 中的任务数 100

建议为以下设计异常处理机制:

  • 提交参数缺失或格式错误
  • 地点与语言参数不匹
  • 回调地址时或不可达
  • 任务量出单次提交限制
  • 结果拉取与异步回调流程并发导致的重复处理

完整错误码可参考:/v3/appendix/errors

实用场景

  • 采集门店问答:批量获取指定商家的用户提问与官方/用户回答,用于本地商家口碑与服务点分析。
  • 监控高频咨询问题:识别用户反复提问的营业时间、停车、预约、价格等问题,帮助优化门店运营与 FAQ。
  • 对比竞品问答表现:抓取同区域竞品商家的问答数据,对比用户主题,制定差异化本地 SEO 策略。
  • 发现负面或未回复问题:结合任务结果追踪长期未回复、敏感或影响转化的问题,及时推动客服或门店处理。
  • 构建本地搜索知识库:将不同城市、不同语言环境下的商家问答统一沉淀,支持本地化生成、知识整理与洞察分析。

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