主题
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 调用 - 支持通过
filters、order_by、limit、offset控制结果筛选、排序与分页
请求参数
顶层任务参数
| 字段名 | 类型 | 说明 |
|---|---|---|
app_ids | object | 填。目标应用 ID 集合,即 Google Play 中的应用 ID。最多支持 20 个应用。格式示例:"app_ids": { "1": "org.telegram.messenger", "2": "com.zhiliaoapp.musically" }。如果只传一个 ID,则返回该应用对应的结果。 |
location_name | string | 当未指定 location_code 时填。地区完整名称。二选一传 location_name 或 location_code。当前接口支持美国。示例:United States |
location_code | integer | 当未指定 location_name 时填。地区编码。二选一传 location_name 或 location_code。当前接口支持美国。示例:2840 |
language_name | string | 当未指定 language_code 时填。语言完整名称。二选一传 language_name 或 language_code。当前接口当前支持英文。示例:English |
language_code | string | 当未指定 language_name 时填。语言代码。二选一传 language_name 或 language_code。当前接口支持英文。示例:en |
filters | array | 可选。结果过滤条件数组,最多支持 8 个过滤条件。多个条件之间可使用逻辑运算符 and、or。支持的比较运算符:<、<=、>、>=、=、<>、in、not_in |
order_by | array | 可选。结果排序规则。可按与 filters 相同的字段进行排序。排序方式:asc 升序,desc 降序。单次请求最多支持 3 条排序规则 |
limit | integer | 可选。返回数量上限。默认值:100;最大值:1000 |
offset | integer | 可选。结果偏移量。默认值:0。例如设置为 10 时,将跳过前 10 条结果 |
tag | string | 可选。用户自定义任务标识,最大长度 255 字符。可用于请求与结果,响应中的 data 对象会原样返回该值 |
地区与语言说明
地区和语言可通过以下容路径查询:
/v3/dataforseo_labs/locations_and_languages
但需注意,本接口当前支持:
- 地区:
United States/2840 - 语言:
English/en
filters 说明
filters 是一个数组,用于筛选结果。可组合多个条件,并通过 and / or 连接。
支持运算符:
<<=>>==<>innot_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 数组,每个任务对应结果。
顶层响应字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | API 当前版本 |
status_code | integer | 通用状态码 |
status_message | string | 通用状态信息 |
time | string | 执行耗时,单位秒 |
cost | float | 本次请求总费用,单位 USD |
tasks_count | integer | tasks 数组中的任务数量 |
tasks_error | integer | 返回错误的任务数量 |
tasks | array | 任务结果数组 |
tasks 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
id | string | 任务唯一标识,UUID 格式 |
status_code | integer | 任务状态码,范围通常为 10000-60000 |
status_message | string | 任务状态说明 |
time | string | 任务执行耗时 |
cost | float | 单任务费用,单位 USD |
result_count | integer | result 数组数量 |
path | array | 请求路径 |
data | object | 回显请求时提交的参数 |
result | array | 结果数组 |
result 数组字段
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
app_ids | object | 请求中传的应用 ID 集合 |
location_code | integer | 请求中的地区编码 |
language_code | string | 请求中的语言代码 |
total_count | integer | 数据库中符合条件的总结果数 |
items_count | integer | 当前 items 返回数量 |
items | array | 结果列表 |
items 字段说明
每个 items素表示一个,以及该下多个应用在 Google Play 结果页中的交集排名信息。
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
keyword_data | object | 数据对象 |
intersection_result | object | 该下各应用的 SERP 结果明细 |
keyword_data 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
keyword | string | 返回的 |
location_code | integer | 请求中的地区编码 |
language_code | string | 请求中的语言代码 |
keyword_info | object | 指标信息 |
serp_info | object | SERP 信息;若未请求或数据库无数据,则为 null |
keyword_info 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型 |
last_updated_time | string | 数据更新时间,UTC 格式,如 2019-11-15 12:57:46 +00:00 |
competition | float | 竞争度,取值范围 0 到 1;本接口该字段通常为 null |
competition_level | string | 竞争等级,可能值:LOW、MEDIUM、HIGH;未知时为 null,本接口该字段通常为 null |
cpc | float | 平均点击成本(USD);本接口该字段通常为 null |
search_volume | integer | 月均搜索量,表示该在 Google Play 上的大致搜索次数 |
low_top_of_page_bid | float | 首页顶部最低竞价;本接口该字段通常为 null |
high_top_of_page_bid | float | 首页顶部最高竞价;本接口该字段通常为 null |
categories | array | 产品/服务分类;本接口该字段通常为 null |
monthly_searches | array | 最近 12 个月月度搜索量;本接口该字段通常为 null |
serp_info 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
se_type | string | 搜索引擎类型。原始说明中该字段会返回固定值,但该描述与当前接口场景可能存在不一致,建议以响应为准 |
check_url | string | 搜索结果直达链接,可用于校验结果 |
serp_item_types | array | SERP 中出现的结果类型;本接口该字段通常为 null |
se_results_count | string | 该对应的搜索结果数量 |
last_updated_time | string | 最近一次 SERP 数据更新时间,UTC 格式 |
previous_updated_time | string | 上一次 SERP 数据更新时间,UTC 格式 |
intersection_result 字段说明
intersection_result 按请求中的 app_ids 分组返回结果。您传多少个应用,就会返回多少个编号字段,例如 1、2、3……最多到 20。
每个编号字段对应一个应用在该下的 Google Play 排名条目。
单个应用结果字段
| 字段名 | 类型 | 说明 |
|---|---|---|
type | string | SERP素类型,固定为 google_play_search_organic |
rank_group | integer | 相同 type 分组的位置 |
rank_absolute | integer | 在整个 SERP 中的绝对排名 |
position | string | 结果在页面中的对齐位置,可为 left、right |
app_id | string | 应用 ID |
title | string | 应用标题 |
url | string | Google Play 应用页 URL |
icon | string | 应用图标 URL |
reviews_count | integer | 应用累计评论数 |
rating | object | 应用评分信息 |
is_free | boolean | 是否为应用 |
price | object | 应用价格信息 |
developer | string | 开发名称 |
developer_url | object | 开发在 Google Play 的页面地址 |
rating 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
rating_type | string | 评分类型,可能值:Max5 |
value | float | 评分值 |
votes_count | integer | 反馈数量;该字段在本场景下可能为 null |
rating_max | integer | 评分上限;Max5 的上限为 5 |
price 字段
| 字段名 | 类型 | 说明 |
|---|---|---|
current | float | 当前价格 |
regular | float | 常规价格 |
max_value | float | 最高价格 |
currency | string | 币种,ISO 代码 |
is_price_range | boolean | 是否为价格区间 |
displayed_price | string | 结果中展示的原始价格字符串 |
请求示例
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_code与status_message
常见处理建议:
status_code = 20000通常表示请求成功- 若
tasks_error > 0,需逐个检查失败任务 - 若筛选条件无效、地区语言不支持或参数格式错误,接口可能返回相应错误码
- 建议业务系统建立统一的异常处理与重试机制
完整错误码请参考 /v3/appendix/errors。
使用要点
app_ids最多支持传20个应用- 本接口当前支持:
- 地区:美国
- 语言:英文
- 若只传一个应用 ID,返回结果会退化为该应用可匹到的列表
intersection_result中的编号字段与您提交的app_ids编号一一对应,例如:
app_ids.1对应intersection_result.1app_ids.2对应intersection_result.2
- 层面的搜索量等指标位于:
keyword_data.keyword_info.search_volume
实用场景
- 挖掘竞品重叠词:自家应用与竞品应用,找出双方覆盖的 Google Play 搜索词,用于识别直接竞争流量池。
- 定位高价值冲突:结合
search_volume过滤高搜索量,优分析最值得争夺的应用商店流量。 - 评估应用可见度差距:通过
rank_absolute对比多个应用在同一下的排名,快速发现优化空间。 - 筛选投放与 ASO 目标词:将排名词作为应用标题、描述、投放词和素材优化的候选集,提高获客效率。
- 监控竞品覆盖变化:定期拉取相同应用组合的数据,观察交集新增或流失,用于跟踪市场竞争动态。