Skip to content

Google Play 应用交集(实时)

接口说明

该接口用于返回一组移动应用在同一个 Google Play 搜索结果页中排名的列表。换句话说,您可以传多个 app_ids,查找这些应用在哪些下同时出现在 Google Play SERP 中。

应用的 app_id 可从 Google Play 应用页 URL 中获取。例如:

https://play.google.com/store/apps/details?id=org.telegram.messenger

该应用的 app_id 为:

org.telegram.messenger

接口地址

POST https://api.seermartech.cn/v3/dataforseo_labs/google/app_intersection/live

计费说明

本接口按请求计费。

参考价约 ¥0.1760 / 次

扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

请求说明

  • 请求方法:POST
  • 请求体格式:JSON
  • 编码:UTF-8
  • 请求体为 JSON 数组:[{ ... }]
  • 频率限制:最高支持每分钟 2000 次 API 调用
  • 支持通过 filtersorder_bylimitoffset 控制结果筛选、排序与分页

请求参数

顶层任务参数

字段名类型说明
app_idsobject。目标应用 ID 集合,即 Google Play 中的应用 ID。最多支持 20 个应用。格式示例:"app_ids": { "1": "org.telegram.messenger", "2": "com.zhiliaoapp.musically" }。如果只传一个 ID,则返回该应用对应的结果。
location_namestring当未指定 location_code 时填。地区完整名称。二选一传 location_namelocation_code。当前接口支持美国。示例:United States
location_codeinteger当未指定 location_name 时填。地区编码。二选一传 location_namelocation_code。当前接口支持美国。示例:2840
language_namestring当未指定 language_code 时填。语言完整名称。二选一传 language_namelanguage_code。当前接口当前支持英文。示例:English
language_codestring当未指定 language_name 时填。语言代码。二选一传 language_namelanguage_code。当前接口支持英文。示例:en
filtersarray可选。结果过滤条件数组,最多支持 8 个过滤条件。多个条件之间可使用逻辑运算符 andor。支持的比较运算符:<<=>>==<>innot_in
order_byarray可选。结果排序规则。可按与 filters 相同的字段进行排序。排序方式:asc 升序,desc 降序。单次请求最多支持 3 条排序规则
limitinteger可选。返回数量上限。默认值:100;最大值:1000
offsetinteger可选。结果偏移量。默认值:0。例如设置为 10 时,将跳过前 10 条结果
tagstring可选。用户自定义任务标识,最大长度 255 字符。可用于请求与结果,响应中的 data 对象会原样返回该值

地区与语言说明

地区和语言可通过以下容路径查询:

/v3/dataforseo_labs/locations_and_languages

但需注意,本接口当前支持:

  • 地区:United States / 2840
  • 语言:English / en

filters 说明

filters 是一个数组,用于筛选结果。可组合多个条件,并通过 and / or 连接。

支持运算符:

  • <
  • <=
  • >
  • >=
  • =
  • <>
  • in
  • not_in

示例:

json
[
 ["keyword_data.keyword_info.search_volume", ">=", 500],
 "and",
 ["keyword_data.keyword", "<>", "telegram"]
]

可结合参考文档中的 Labs 过滤规则使用。


order_by 说明

order_by 用于定义结果排序。格式通常为:

json
["keyword_data.keyword_info.search_volume,desc"]

多条排序规则示例:

json
[
 "keyword_data.keyword_info.search_volume,desc",
 "keyword_data.keyword,asc"
]

说明:

  • 最多支持 3 条排序规则
  • 多条规则之间使用数组项分隔
  • 若未指定,系统使用默认排序规则

响应结构

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

顶层响应字段

字段名类型说明
versionstringAPI 当前版本
status_codeinteger通用状态码
status_messagestring通用状态信息
timestring执行耗时,单位秒
costfloat本次请求总费用,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorinteger返回错误的任务数量
tasksarray任务结果数组

tasks 数组字段

字段名类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务状态说明
timestring任务执行耗时
costfloat单任务费用,单位 USD
result_countintegerresult 数组数量
patharray请求路径
dataobject回显请求时提交的参数
resultarray结果数组

result 数组字段

字段名类型说明
se_typestring搜索引擎类型
app_idsobject请求中传的应用 ID 集合
location_codeinteger请求中的地区编码
language_codestring请求中的语言代码
total_countinteger数据库中符合条件的总结果数
items_countinteger当前 items 返回数量
itemsarray结果列表

items 字段说明

每个 items素表示一个,以及该下多个应用在 Google Play 结果页中的交集排名信息。

字段名类型说明
se_typestring搜索引擎类型
keyword_dataobject数据对象
intersection_resultobject该下各应用的 SERP 结果明细

keyword_data 字段

字段名类型说明
se_typestring搜索引擎类型
keywordstring返回的
location_codeinteger请求中的地区编码
language_codestring请求中的语言代码
keyword_infoobject指标信息
serp_infoobjectSERP 信息;若未请求或数据库无数据,则为 null

keyword_info 字段

字段名类型说明
se_typestring搜索引擎类型
last_updated_timestring数据更新时间,UTC 格式,如 2019-11-15 12:57:46 +00:00
competitionfloat竞争度,取值范围 01;本接口该字段通常为 null
competition_levelstring竞争等级,可能值:LOWMEDIUMHIGH;未知时为 null,本接口该字段通常为 null
cpcfloat平均点击成本(USD);本接口该字段通常为 null
search_volumeinteger月均搜索量,表示该在 Google Play 上的大致搜索次数
low_top_of_page_bidfloat首页顶部最低竞价;本接口该字段通常为 null
high_top_of_page_bidfloat首页顶部最高竞价;本接口该字段通常为 null
categoriesarray产品/服务分类;本接口该字段通常为 null
monthly_searchesarray最近 12 个月月度搜索量;本接口该字段通常为 null

serp_info 字段

字段名类型说明
se_typestring搜索引擎类型。原始说明中该字段会返回固定值,但该描述与当前接口场景可能存在不一致,建议以响应为准
check_urlstring搜索结果直达链接,可用于校验结果
serp_item_typesarraySERP 中出现的结果类型;本接口该字段通常为 null
se_results_countstring该对应的搜索结果数量
last_updated_timestring最近一次 SERP 数据更新时间,UTC 格式
previous_updated_timestring上一次 SERP 数据更新时间,UTC 格式

intersection_result 字段说明

intersection_result 按请求中的 app_ids 分组返回结果。您传多少个应用,就会返回多少个编号字段,例如 123……最多到 20

每个编号字段对应一个应用在该下的 Google Play 排名条目。

单个应用结果字段

字段名类型说明
typestringSERP素类型,固定为 google_play_search_organic
rank_groupinteger相同 type 分组的位置
rank_absoluteinteger在整个 SERP 中的绝对排名
positionstring结果在页面中的对齐位置,可为 leftright
app_idstring应用 ID
titlestring应用标题
urlstringGoogle Play 应用页 URL
iconstring应用图标 URL
reviews_countinteger应用累计评论数
ratingobject应用评分信息
is_freeboolean是否为应用
priceobject应用价格信息
developerstring开发名称
developer_urlobject开发在 Google Play 的页面地址

rating 字段

字段名类型说明
rating_typestring评分类型,可能值:Max5
valuefloat评分值
votes_countinteger反馈数量;该字段在本场景下可能为 null
rating_maxinteger评分上限;Max5 的上限为 5

price 字段

字段名类型说明
currentfloat当前价格
regularfloat常规价格
max_valuefloat最高价格
currencystring币种,ISO 代码
is_price_rangeboolean是否为价格区间
displayed_pricestring结果中展示的原始价格字符串

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/dataforseo_labs/google/app_intersection/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "app_ids": {
 "1": "org.telegram.messenger",
 "2": "com.zhiliaoapp.musically"
 },
 "location_code": 2840,
 "language_name": "English",
 "filters": [
 ["keyword_data.keyword_info.search_volume", ">=", 500]
 ],
 "limit": 10
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/dataforseo_labs/google/app_intersection/live"
payload = [
 {
 "app_ids": {
 "1": "org.telegram.messenger",
 "2": "com.zhiliaoapp.musically"
 },
 "location_name": "United States",
 "language_name": "English",
 "filters": [
 ["keyword_data.keyword_info.search_volume", ">=", 500]
 ],
 "limit": 10
 }
]
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

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

TypeScript

typescript
import axios from "axios";

const payload = [
 {
 app_ids: {
 "1": "org.telegram.messenger",
 "2": "com.zhiliaoapp.musically"
 },
 location_code: 2840,
 language_name: "English",
 filters: [
 ["keyword_data.keyword_info.search_volume", ">=", 500]
 ],
 limit: 10
 }
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/dataforseo_labs/google/app_intersection/live",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
 },
 data: payload
})
 .then((response) => {
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error.response?.data || error.message);
 });

响应示例

json
{
 "version": "0.1.20220428",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "1.4156 sec.",
 "cost": 0.011,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "dataforseo_labs",
 "function": "app_intersection",
 "se_type": "google",
 "app_ids": {
 "1": "org.telegram.messenger",
 "2": "com.zhiliaoapp.musically"
 },
 "location_code": 2840,
 "language_code": "en",
 "limit": 10
 },
 "result": [
 {}
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code 表示整次请求的处理状态
  • tasks[].status_code 表示单个任务的执行状态
  • 建议同时检查:
  • 顶层 status_code
  • tasks_error
  • 各任务的 status_codestatus_message

常见处理建议:

  1. status_code = 20000 通常表示请求成功
  2. tasks_error > 0,需逐个检查失败任务
  3. 若筛选条件无效、地区语言不支持或参数格式错误,接口可能返回相应错误码
  4. 建议业务系统建立统一的异常处理与重试机制

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


使用要点

  1. app_ids 最多支持传 20 个应用
  2. 本接口当前支持:
  • 地区:美国
  • 语言:英文
  1. 若只传一个应用 ID,返回结果会退化为该应用可匹到的列表
  2. intersection_result 中的编号字段与您提交的 app_ids 编号一一对应,例如:
  • app_ids.1 对应 intersection_result.1
  • app_ids.2 对应 intersection_result.2
  1. 层面的搜索量等指标位于:
  • keyword_data.keyword_info.search_volume

实用场景

  • 挖掘竞品重叠词:自家应用与竞品应用,找出双方覆盖的 Google Play 搜索词,用于识别直接竞争流量池。
  • 定位高价值冲突:结合 search_volume 过滤高搜索量,优分析最值得争夺的应用商店流量。
  • 评估应用可见度差距:通过 rank_absolute 对比多个应用在同一下的排名,快速发现优化空间。
  • 筛选投放与 ASO 目标词:将排名词作为应用标题、描述、投放词和素材优化的候选集,提高获客效率。
  • 监控竞品覆盖变化:定期拉取相同应用组合的数据,观察交集新增或流失,用于跟踪市场竞争动态。

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