跳转到主要内容
POST
https://api.aisa.one/apis/v1
/
dataforseo
/
business_data
/
business_listings
/
search
/
live
实时商家列表搜索任务
curl --request POST \
  --url https://api.aisa.one/apis/v1/dataforseo/business_data/business_listings/search/live \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "categories": [
    "<string>"
  ],
  "description": "<string>",
  "title": "<string>",
  "is_claimed": true,
  "location_coordinate": "<string>",
  "filters": [
    "<string>"
  ],
  "order_by": [
    "<string>"
  ],
  "limit": 123,
  "offset": 123,
  "offset_token": "<string>",
  "tag": "<string>"
}
'
import requests

url = "https://api.aisa.one/apis/v1/dataforseo/business_data/business_listings/search/live"

payload = {
    "categories": ["<string>"],
    "description": "<string>",
    "title": "<string>",
    "is_claimed": True,
    "location_coordinate": "<string>",
    "filters": ["<string>"],
    "order_by": ["<string>"],
    "limit": 123,
    "offset": 123,
    "offset_token": "<string>",
    "tag": "<string>"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

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

print(response.text)
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    categories: ['<string>'],
    description: '<string>',
    title: '<string>',
    is_claimed: true,
    location_coordinate: '<string>',
    filters: ['<string>'],
    order_by: ['<string>'],
    limit: 123,
    offset: 123,
    offset_token: '<string>',
    tag: '<string>'
  })
};

fetch('https://api.aisa.one/apis/v1/dataforseo/business_data/business_listings/search/live', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/business_data/business_listings/search/live",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'categories' => [
        '<string>'
    ],
    'description' => '<string>',
    'title' => '<string>',
    'is_claimed' => true,
    'location_coordinate' => '<string>',
    'filters' => [
        '<string>'
    ],
    'order_by' => [
        '<string>'
    ],
    'limit' => 123,
    'offset' => 123,
    'offset_token' => '<string>',
    'tag' => '<string>'
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.aisa.one/apis/v1/dataforseo/business_data/business_listings/search/live"

	payload := strings.NewReader("{\n  \"categories\": [\n    \"<string>\"\n  ],\n  \"description\": \"<string>\",\n  \"title\": \"<string>\",\n  \"is_claimed\": true,\n  \"location_coordinate\": \"<string>\",\n  \"filters\": [\n    \"<string>\"\n  ],\n  \"order_by\": [\n    \"<string>\"\n  ],\n  \"limit\": 123,\n  \"offset\": 123,\n  \"offset_token\": \"<string>\",\n  \"tag\": \"<string>\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/business_data/business_listings/search/live")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"categories\": [\n    \"<string>\"\n  ],\n  \"description\": \"<string>\",\n  \"title\": \"<string>\",\n  \"is_claimed\": true,\n  \"location_coordinate\": \"<string>\",\n  \"filters\": [\n    \"<string>\"\n  ],\n  \"order_by\": [\n    \"<string>\"\n  ],\n  \"limit\": 123,\n  \"offset\": 123,\n  \"offset_token\": \"<string>\",\n  \"tag\": \"<string>\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.aisa.one/apis/v1/dataforseo/business_data/business_listings/search/live")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"categories\": [\n    \"<string>\"\n  ],\n  \"description\": \"<string>\",\n  \"title\": \"<string>\",\n  \"is_claimed\": true,\n  \"location_coordinate\": \"<string>\",\n  \"filters\": [\n    \"<string>\"\n  ],\n  \"order_by\": [\n    \"<string>\"\n  ],\n  \"limit\": 123,\n  \"offset\": 123,\n  \"offset_token\": \"<string>\",\n  \"tag\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "version": "<string>",
  "version.status_code": 123,
  "version.status_message": "<string>",
  "version.time": "<string>",
  "version.cost": 123,
  "version.tasks_count": 123,
  "version.tasks_error": 123,
  "tasks": [
    "<string>"
  ],
  "tasks.id": "<string>",
  "tasks.status_code": 123,
  "tasks.status_message": "<string>",
  "tasks.time": "<string>",
  "tasks.cost": 123,
  "tasks.result_count": 123,
  "tasks.path": [
    "<string>"
  ],
  "tasks.data": {},
  "result": [
    "<string>"
  ],
  "result.total_count": 123,
  "result.count": 123,
  "result.offset": 123,
  "result.offset_token": "<string>",
  "items": [
    "<string>"
  ],
  "items.type": "<string>",
  "items.title": "<string>",
  "items.original_title": "<string>",
  "items.description": "<string>",
  "items.category": "<string>",
  "items.category_ids": [
    "<string>"
  ],
  "items.additional_categories": [
    "<string>"
  ],
  "items.cid": "<string>",
  "items.feature_id": "<string>",
  "items.address": "<string>",
  "items.address_info": {},
  "items.borough": "<string>",
  "items.city": "<string>",
  "items.zip": "<string>",
  "items.region": "<string>",
  "items.country_code": "<string>",
  "items.place_id": "<string>",
  "items.phone": "<string>",
  "items.url": "<string>",
  "items.domain": "<string>",
  "items.logo": "<string>",
  "items.main_image": "<string>",
  "items.total_photos": 123,
  "items.snippet": "<string>",
  "items.latitude": 123,
  "items.longitude": 123,
  "items.is_claimed": true,
  "items.attributes": {},
  "items.available_attributes": {},
  "items.unavailable_attributes": {},
  "items.place_topics": {},
  "items.rating": {},
  "items.rating_type": "<string>",
  "items.value": 123,
  "items.votes_count": 123,
  "items.rating_max": 123,
  "items.hotel_rating": 123,
  "items.price_level": "<string>",
  "items.rating_distribution": {},
  "items.1": 123,
  "items.2": 123,
  "items.3": 123,
  "items.4": 123,
  "items.5": 123,
  "items.people_also_search": [
    "<string>"
  ],
  "items.work_time": {},
  "items.work_hours": {},
  "items.timetable": {},
  "items.sunday": [
    "<string>"
  ],
  "items.open": {},
  "items.hour": 123,
  "items.minute": 123,
  "items.close": {},
  "items.current_status": "<string>",
  "popular_times": {},
  "popular_times.popular_times_by_days": {},
  "popular_times.sunday": [
    "<string>"
  ],
  "popular_times.time": {},
  "popular_times.hour": 123,
  "popular_times.minute": 123,
  "popular_times.popular_index": 123,
  "local_business_links": [
    "<string>"
  ],
  "local_business_links.type": "<string>",
  "local_business_links.title": "<string>",
  "local_business_links.url": "<string>",
  "contact_info": [
    "<string>"
  ],
  "contact_info.type": "<string>",
  "contact_info.value": "<string>",
  "contact_info.source": "<string>",
  "contact_info.check_url": "<string>",
  "contact_info.last_updated_time": "<string>",
  "contact_info.first_seen": "<string>"
}

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

请求体

application/json
categories
string[]

商家类别 可选字段。您指定的类别将用于搜索商家信息;如果不使用此字段,我们将返回在指定位置找到的商家信息;您最多可以指定 10 个类别

description
string

SERP 中元素的描述 可选字段,为其收集结果的商业实体描述;最多可包含 200 个字符

title
string

SERP 中元素的标题 可选字段;收集结果所针对的商业实体名称;最多可包含 200 个字符

is_claimed
boolean

指示商家是否已由其所有者在 Google Maps 上验证 可选字段

location_coordinate
string

位置的 GPS 坐标,可选字段。location_coordinate 参数应采用 “latitude,longitude,radius” 格式。“latitude”“longitude” 的最大小数位数:7。“radius” 的值以千米 (km) 为单位。“radius” 的最小值:1;最大值:100000。示例:53.476225,-2.243572,200

filters
string[]

结果过滤参数数组,可选字段。你可以同时添加多个过滤条件(最多 8 个)。应在条件之间设置逻辑运算符 andor。支持以下运算符:regexnot_regex、`>=`、`=`、innot_inlikenot_likeilikenot_ilikematchnot_match。你可以将 % 运算符与 likenot_like 配合使用,以匹配包含零个或多个字符的任意字符串。示例:["rating.value",">",3]。你可以向 https://api.dataforseo.com/v3/business_data/business_listings/available_filters 单独发起请求,以获取可用过滤条件列表。

order_by
string[]

结果排序规则 可选字段;您可以使用与 filters 数组中相同的值对结果进行排序;可用的排序类型:asc – 结果将按升序排列;desc – 结果将按降序排列;应使用逗号设置排序参数;示例:["rating.value,desc"]请注意,单个请求最多可设置三条排序规则;应使用逗号分隔多条排序规则;示例:["rating.value,desc","rating.votes_count,desc"]

limit
integer

返回的商家数量上限,可选字段,默认值:100,最大值:1000

offset
integer

返回企业的结果数组中的偏移量 可选字段,默认值:0。如果指定值 10,结果数组中的前十个实体将被省略,并提供后续实体的数据

offset_token
string

用于后续请求的 token 可选字段,在每个请求响应的同名字段中提供;尝试通过单个请求获取超过 100,000 条结果时,使用此参数可避免超时;通过指定响应数组中的唯一 offset_token 值,您将获得初始任务的后续结果;每个后续任务的 offset_token 值均唯一。注意:如果请求中指定了 offset_token,则所有其他参数都应与上一个请求相同

tag
string

用户定义的任务标识符,可选字段,字符数上限为 255。你可以使用此参数标识任务并将其与结果匹配;你可以在响应的 data 对象中找到指定的 tag

响应

成功响应

version
string

API 的当前版本

version.status_code
integer

常规状态代码 您可以在此处查看完整的响应代码列表。注意:我们强烈建议设计必要的系统来处理相关异常或错误情况

version.status_message
string

一般信息消息 你可以在此处查看一般信息消息的完整列表

version.time
string

执行时间(秒)

version.cost
number

任务总成本(美元)

version.tasks_count
integer

tasks数组中的任务数量

version.tasks_error
integer

返回的 tasks 数组中发生错误的任务数量

tasks
string[]

任务数组

tasks.id
string

我们系统中的唯一任务标识符,采用通用唯一标识符 (UUID) 格式

tasks.status_code
integer

DataForSEO 生成的任务状态码;取值范围为:10000-60000

tasks.status_message
string

任务信息消息

tasks.time
string

执行时间(秒)

tasks.cost
number

任务成本(美元)

tasks.result_count
integer

result 数组中的元素数量

tasks.path
string[]

URL 路径

tasks.data
object

包含与您在 POST 请求中指定的参数相同的参数

result
string[]

结果数组

result.total_count
integer

数据库中与您的请求相关的结果总数

result.count
integer

项目类型 items 数组中的项目数量

result.offset
integer

返回企业在结果数组中的偏移量

result.offset_token
string

用于后续请求的 token 设置新任务时指定唯一的 offset_token,即可获得初始任务的后续结果;每个后续任务的 offset_token 值均唯一

items
string[]

遇到的项目类型items 数组中遇到的搜索引擎结果类型;可能的项目类型:business_listing

items.type
string

元素类型 = ‘business_listing’

items.title
string

SERP 中元素的标题 收集结果所针对的商业实体名称

items.original_title
string

元素的原标题 未经 Google 翻译的原标题

items.description
string

SERP 中元素的描述 收集结果所针对的商业实体的描述

items.category
string

商家类别 最能描述该商业实体所提供服务的 Google My Business 常规类别

items.category_ids
string[]

全局类别 ID 不随所选国家/地区变化的通用类别 ID

items.additional_categories
string[]

其他业务类别 其他 Google My Business 类别,用于更详细地描述该商业实体提供的服务

items.cid
string

Google 定义的客户端 id 本地商家的唯一 id;有关该标识符的更多信息,请参阅此帮助中心文章

items.feature_id
string

SERP 中元素的唯一标识符 有关该标识符的更多信息,请参阅此帮助中心文章

items.address
string

企业实体的街道地址

items.address_info
object

包含企业实体地址组成部分的对象

items.borough
string

企业实体所在地所属的行政单位或区域

items.city
string

企业实体所在城市的名称

items.zip
string

商业实体的邮政编码

items.region
string

商业实体所在地的 DMA 区域

items.country_code
string

企业实体所在地的 ISO 国家代码

items.place_id
string

唯一地点标识符 元素中所展示本地商家的 place id;有关该标识符的更多信息,请参阅此帮助中心文章

items.phone
string

商业实体的电话号码

items.url
string

业务实体的绝对 URL

items.domain
string

商业实体的域名

Google My Business 资料中展示的徽标 URL

items.main_image
string

Google My Business 资料中展示的主图片 URL

items.total_photos
integer

Google My Business 资料中展示的图片总数

items.snippet
string

有关企业实体的其他信息

items.latitude
number

Google 地图中本地商家的纬度坐标 示例:"latitude": 51.584091

items.longitude
number

Google 地图中本地商家的经度坐标 示例:"longitude": -0.31365919999999997

items.is_claimed
boolean

指示该实体是否已由其所有者在 Google Maps 上验证

items.attributes
object

以用户审核项形式呈现的服务详情; 以审核项形式显示的商业实体服务详情,基于用户反馈和商家 category

items.available_attributes
object

可用属性表示企业实体可提供的属性

items.unavailable_attributes
object

不可用属性表示企业实体无法提供的属性

items.place_topics
object

客户评论中提及的关键词 包含企业实体的客户评论中与产品/服务相关的最热门关键词,以及提及每个关键词的评论数量 示例:"place_topics": {"egg roll": 48,"birthday": 33}

items.rating
object

元素评分 基于评论得出并显示在 SERP 中的热门程度

items.rating_type
string

评分类型 此处可能包含以下元素:Max5PercentsCustomMax

items.value
integer

评分值

items.votes_count
integer

反馈数量

items.rating_max
integer

rating_type 的最大值

items.hotel_rating
integer

酒店星级;星级范围为 1-5 星,了解更多;如果没有酒店星级信息,该值将为 null

items.price_level
string

property price level 可取以下值:inexpensivemoderateexpensivevery_expensive;如果没有价格等级信息,则该值为 null

items.rating_distribution
object

商业实体的评分分布,该对象显示用户评价的一星至五星评分数量

items.1
integer

1 星评分的数量

items.2
integer

2 星评分的数量

items.3
integer

3 星评分数量

items.4
integer

4 星评分的数量

items.5
integer

5 星评分数量

相关业务实体

items.work_time
object

工作时间详情 与企业实体营业时间相关的信息

items.work_hours
object

本地场所工作时间的营业时间信息

items.timetable
object

工作时间表

items.sunday
string[]

星期日的工作时段 可采用一周中对应日期的值

items.open
object

开盘时间

items.hour
integer

采用 24 小时制的小时数

items.minute
integer

分钟

items.close
object

关闭时间

items.current_status
string

商家的当前状态 可能的值:openclosetemporarily_closedclosed_forever

与企业实体繁忙时段相关的热门时段信息

热门时段:本地商家在一周中每天繁忙时段的信息

星期日的繁忙时段 可采用一周中对应日期的值

繁忙时段

24 小时制的小时数

分钟

热门程度指数0100 范围内衡量的相对时段热门程度指数;值越高表示一天中的该时段越繁忙

可与商家进行的交互 可直接从搜索结果中与商家进行交互的选项列表

元素类型,可能的值:"reservation""order""delivery_services_element""menu"

元素的标题 预订软件的域名

服务的 URL

contact_info
string[]

企业可用联系方式 可用于与企业联系的联系方式列表

contact_info.type
string

联系人元素类型

contact_info.value
string

SERP 中显示的联系方式 示例:"+119797979736"

contact_info.source
string

数据源

contact_info.check_url
string

搜索引擎结果的直接 URL,你可以使用它确认我们提供的结果是否准确

contact_info.last_updated_time
string

数据最后更新的日期和时间,采用 UTC 格式:“yyyy-mm-dd hh-mm-ss +00:00”,示例:2023-01-26 09:03:15 +00:00

contact_info.first_seen
string

我们的爬虫首次发现该商家列表元素的日期和时间,采用 UTC 格式:“yyyy-mm-dd hh-mm-ss +00:00” 示例:2023-03-11 10:04:11 +00:00