Skip to content

企业列表搜索(实时)

POST /v3/business_data/business_listings/search/live

接口概述

通过本接口可实时检索指定类目下的 Google Maps 企业列表信息,并返回企业地址、联系方式、评分、营业时间等本地商家数据。

返回结果会受到所选地理位置设置的影响。若需查看可用位置,请参考 /v3/business_data/business_listings/locations 接口。

  • 请求方式:POST
  • 接口地址:https://api.seermartech.cn/v3/business_data/business_listings/search/live
  • 请求体格式:JSON 数组 [{ ... }]
  • 频率限制:最高 2000 次 API 调用 / 分钟
  • 计费说明:按请求计费,扣费以响应头 X-SeerMarTech-Charge-CNY 为准

请求参数

以下字段用于提交搜索任务。

字段名类型说明
categoriesarray可选。商家类目数组,用于筛选企业列表;如不传,则返回指定位置下检索到的企业列表。最多支持 10 个类目。
descriptionstring可选。SERP 中描述,用于匹目标企业描述。最长 200 字符。
titlestring可选。SERP 中标题,即企业名称。最长 200 字符。
is_claimedboolean可选。是否返回已由商家所有在 Google Maps 上完成认领/验证的企业。
location_coordinatestring可选。位置坐标,格式为 "latitude,longitude,radius"latitudelongitude 最多 7 位小数;radius 单位为(km),最小值 1,最大值 100000。示例:53.476225,-2.243572,200
filtersarray可选。结果过滤条件数组。最多可同时设置 8 个过滤条件;条件之间应使用逻辑运算符 andor 连接。支持运算符:regexnot_regex<<=>>==<>innot_inlikenot_likeilikenot_ilikematchnot_match。在 likenot_like 中可使用 % 匹任意长度字符串。可通过 /v3/business_data/business_listings/available_filters 获取可用过滤字段。
order_byarray可选。排序规则数组。排序字段可使用与 filters 相同的字段名。排序方式:asc 升序,desc 降序。单条请求最多支持 3 条排序规则。单个排序项格式示例:"rating.value,desc"
limitinteger可选。返回的企业数量上限。默认值:100;最大值:1000
offsetinteger可选。结果偏移量,默认值:0。如设为 10,则跳过前 10 条结果并返回后续结果。建议在获取不 10000 条结果时使用。
offset_tokenstring可选。翻页令牌,用于后续请求。适合在单次任务需获取 100000 条结果时时。该值会在每次响应中返回。使用 offset_token 时余请求参数与前一次请求保持一致。
tagstring可选。用户自定义任务标识,最长 255 字符。可用于结果对账与任务识别,响应中的 data 对象会原样返回该值。

过滤与排序说明

filters 格式

filters 为数组,可组合多个条件。每个条件通常采用如下结构:

json
[
 ["rating.value", ">", 3],
 "and",
 ["price_level", "=", "inexpensive"]
]

order_by 格式

order_by 为字符串数组,每项格式如下:

json
[
 "rating.value,desc",
 "title,asc"
]

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/business_data/business_listings/search/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "categories": ["pizza_restaurant"],
 "description": "pizza",
 "title": "pizza",
 "is_claimed": true,
 "location_coordinate": "53.476225,-2.243572,10",
 "order_by": ["rating.value,desc"],
 "filters": [
 ["rating.value", ">", 3]
 ],
 "limit": 3
 }
]'

Python

python
import requests

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

data = [
 {
 "categories": ["pizza_restaurant"],
 "description": "pizza",
 "title": "pizza",
 "is_claimed": True,
 "location_coordinate": "53.476225,-2.243572,10",
 "order_by": ["rating.value,desc"],
 "filters": [
 ["rating.value", ">", 3]
 ],
 "limit": 3
 }
]

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

TypeScript

typescript
import axios from "axios";

const postData = [
 {
 categories: ["pizza_restaurant"],
 description: "pizza",
 title: "pizza",
 is_claimed: true,
 location_coordinate: "53.476225,-2.243572,10",
 order_by: ["rating.value,desc"],
 filters: [
 ["rating.value", ">", 3]
 ],
 limit: 3
 }
];

axios.post(
 "https://api.seermartech.cn/v3/business_data/business_listings/search/live",
 postData,
 {
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
 }
 }
).then((response) => {
 console.log(response.data);
}).catch((error) => {
 console.error(error.response?.data || error.message);
});

响应结构

接口返回 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
status_messagestring任务状态说明
timestring任务执行耗时
costfloat当前任务费用,单位 USD
result_countintegerresult 数组中的数量
patharrayURL 路径
dataobject原样返回请求参数
resultarray获取结果数组

result[] 字段

字段名类型说明
total_countinteger与本次请求的数据库总结果数
countintegeritems 数组中的数量
offsetinteger当前返回结果偏移量
offset_tokenstring后续翻页令牌
itemsarray企业列表结果数组

items[] 字段说明

items 中的类型固定为 business_listing

字段名类型说明
typestring素类型,固定为 business_listing
titlestring企业名称
original_titlestring原始标题,未被 Google 翻译的名称
descriptionstring企业描述
categorystring企业主类目
category_idsarray通用类目 ID,不随国家变化
additional_categoriesarray附加类目
cidstringGoogle 定义的本地商家唯一客户端 ID
feature_idstringSERP素唯一标识
addressstring企业地址
address_infoobject地址拆分信息
place_idstring地点唯一标识
phonestring电话
urlstring企业官网或落地页 URL
domainstring域名
logostringGoogle My Business 资料中的 logo 图片 URL
main_imagestringGoogle My Business 资料中的主图 URL
total_photosinteger图片总数
snippetstring附加简介信息
latitudefloat纬度
longitudefloat经度
is_claimedboolean是否已由所有认领
attributesobject商家属性信息
place_topicsobject评论中高频提及的及提及次数
ratingobject评分信息
hotel_ratinginteger店星级,若无则为 null
price_levelstring价格等级,可能值:inexpensivemoderateexpensivevery_expensive
rating_distributionobject1 星到 5 星评分分布
people_also_searcharray商家
work_timeobject营业时间信息
popular_timesobject热门时段信息
local_business_linksarray搜索结果中可直接与商家交互的链接
contact_infoarray联系方式列表
check_urlstring搜索引擎结果直达链接,用于核验结果
last_updated_timestring数据最近更新时间,UTC 格式
first_seenstring首次发现该商家记录的时间,UTC 格式

重要子对象说明

address_info

字段名类型说明
boroughstring行政区 / 区县
addressstring街道地址
citystring城市
zipstring邮编
regionstringDMA 区域
country_codestringISO 国家代码

rating

字段名类型说明
rating_typestring评分类型,可为 Max5PercentsCustomMax
valueinteger / float评分值
votes_countinteger评价数
rating_maxinteger该评分类型的最大值

rating_distribution

字段名类型说明
1integer1 星评价数
2integer2 星评价数
3integer3 星评价数
4integer4 星评价数
5integer5 星评价数

work_time

字段名类型说明
work_hoursobject营业时间
timetableobject每周营业时间表,按 sundaysaturday 返回
current_statusstring当前营业状态:openclosetemporarily_closedclosed_forever

营业时间段对象中:

字段名类型说明
open.hourinteger开始小时,24 小时制
open.minuteinteger开始分钟
close.hourinteger结束小时,24 小时制
close.minuteinteger结束分钟
字段名类型说明
popular_times_by_daysobject每周每日的繁忙时段
time.hourinteger小时,24 小时制
time.minuteinteger分钟
popular_indexinteger热门指数,范围 0-100,值越高表示越繁忙
字段名类型说明
typestring交互类型,可能值:reservationorderdelivery_services_elementmenu
titlestring素标题,通常为服务平台域名或名称
urlstring对应服务链接

contact_info

字段名类型说明
typestring联系方式类型
valuestringSERP 展示的联系方式
sourcestring数据来源

响应示例

json
{
 "version": "0.1.20240422",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.3282 sec.",
 "cost": 0.0109,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "business_data",
 "function": "search",
 "categories": [
 "pizza_restaurant"
 ],
 "description": "pizza",
 "title": "pizza",
 "is_claimed": true,
 "location_coordinate": "53.476225,-2.243572,10",
 "order_by": [
 "rating.value,desc"
 ],
 "filters": [
 ["rating.value", ">", 3]
 ],
 "limit": 3
 },
 "result": [
 {
 "items": [
 {
 "type": "business_listing",
 "title": "Pizza Mate",
 "category": "Pizza takeaway",
 "cid": "10964700581133624142",
 "feature_id": "0x487bb328c6bde12b:0x982a7115c6fd234e",
 "address": "Project, 53 22 Market Pl, Stockport SK1 1EU",
 "address_info": {
 "borough": null,
 "address": "Project, 53 22 Market Pl",
 "city": "Stockport",
 "zip": "SK1 1EU",
 "region": null,
 "country_code": "GB"
 },
 "place_id": "ChIJK-G9xiize0gRTiP9xhVxKpg",
 "url": "https://pizzamate.co.uk/",
 "domain": "pizzamate.co.uk",
 "total_photos": 6,
 "latitude": 53.4115499,
 "longitude": -2.1574226,
 "is_claimed": true,
 "rating": {
 "rating_type": "Max5",
 "value": 5,
 "votes_count": 7,
 "rating_max": null
 },
 "rating_distribution": {
 "1": 0,
 "2": 0,
 "3": 0,
 "4": 0,
 "5": 7
 },
 "work_time": {
 "work_hours": {
 "current_status": "closed_forever"
 }
 },
 "check_url": "https://www.google.co.uk/maps?cid=10964700581133624142&hl=en&gl=GB",
 "last_updated_time": "2023-09-17 10:03:04 +00:00",
 "first_seen": "2023-09-17 10:03:04 +00:00"
 },
 {
 "type": "business_listing",
 "title": "Four Side Vegan Pizza",
 "category": "Pizza restaurant",
 "phone": "+447565790366",
 "domain": "www.instagram.com",
 "rating": {
 "rating_type": "Max5",
 "value": 4.8,
 "votes_count": 20,
 "rating_max": null
 }
 },
 {
 "type": "business_listing",
 "title": "Rudy's Pizza Napoletana - Portland Street",
 "category": "Neapolitan restaurant",
 "phone": "+441615322922",
 "domain": "www.rudyspizza.co.uk",
 "price_level": "inexpensive",
 "rating": {
 "rating_type": "Max5",
 "value": 4.7,
 "votes_count": 568,
 "rating_max": null
 },
 "place_topics": {
 "toppings": 11,
 "drinks": 95,
 "pepperoni": 83
 },
 "work_time": {
 "work_hours": {
 "current_status": "open"
 }
 }
 }
 ]
 }
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code=20000 表示请求成功。
  • 各任务也会返回独立的 status_codestatus_message
  • 建议同时校验:
  1. HTTP 状态码
  2. 顶层 status_code
  3. tasks_error
  4. tasks[].status_code

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


使用建议

  1. 小批量分页:当结果总量较小(如 1 万)时,优使用 offset
  2. 大结果集拉取:当结果很多时,优使用 offset_token,可降低时风险。
  3. 参数一致性:若使用 offset_token,除 offset_token 本身外余参数与前序请求一致。
  4. 精准筛选:建议组合 categorieslocation_coordinatefiltersorder_by 使用,以提升命中质量。
  5. 结果核验:可使用返回的 check_url 对搜索结果进行人工复核。

实用场景

  • 筛选高评分门店:按类目和坐标范围抓取商家,并用 rating.valuevotes_count 过滤,快速建立优质本地商家名单。
  • 监测竞品本地覆盖:按城市或商圈拉取指定类目的商家分布,分析竞品门店密度、认领状态和价格带。
  • 挖掘外链与联系方式:提取商家的官网域名、电话、联系信息,为本地 SEO 外联、渠道拓展和销售触达提供线索。
  • 分析用户评价话题:使用 place_topics 和评分分布识别用户最的服务点与差评原因,优化和口碑管理。
  • 优化营业时段运营:结合 work_timepopular_times 评估门店营业状态和繁忙时段,为投放时间、客服排班和本地活动策划提供依据。

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