Skip to content

App Store 应用交集实时查询

接口说明

/v3/dataforseo_labs/apple/app_intersection/live 用于查询多个 App Store 应用在同一搜索结果页(SERP)中排名的。

你传一组 app_ids 后,本接口会返回这些应用同时出现在 App Store 搜索结果中的列表,并给出对应数据及每个应用在该下的排名信息。

app_id 可从 App Store 应用页面 URL 中获取,即 URL 中 id 后面的数字。例如:

https://apps.apple.com/us/app/id835599320

该应用的 app_id835599320

请求方式: POST接口地址: https://api.seermartech.cn/v3/dataforseo_labs/apple/app_intersection/live

计费说明

本接口按请求计费。 参考价约 ¥0.1760 / 次

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

请求要求

  • 请求体为 UTF-8 编码的 JSON
  • POST 请求体格式为 JSON 数组:[{ ... }]
  • 单接口调用频率上限:2000 次/分钟
  • 支持通过 filters 过滤结果
  • 支持通过 order_by 排序结果
  • 单次请求最多返回 1000
  • app_ids 最多可传 20 个应用 ID

请求参数

顶层请求体示例

json
[
 {
 "app_ids": {
 "1": "686449807",
 "2": "382617920"
 },
 "location_code": 2840,
 "language_name": "English",
 "limit": 10
 }
]

参数说明

字段类型说明
app_idsobject目标 App Store 应用 ID 集合。键名使用 "1""20" 的序号,值为应用 ID。最多支持 20 个应用。若传 1 个 ID,则只返回该应用对应。
location_namestring条件填地区名。未传 location_code 时填。当前端点支持 United States
location_codeinteger条件填地区编码。未传 location_name 时填。当前端点支持 2840(美国)。
language_namestring条件填语言名称。未传 language_code 时填。当前端点支持 English
language_codestring条件填语言编码。未传 language_name 时填。当前端点支持 en
filtersarray结果过滤条件数组,最多支持 8 个过滤条件。条件之间需用逻辑运算符 and / or 连接。支持操作符:<, <=, >, >=, =, <>, in, not_in
order_byarray排序规则。可使用与 filters 相同的字段路径。排序方式支持 ascdesc。单次请求最多设置 3 条排序规则。
limitinteger返回的最大数量。默认 100,最大 1000
offsetinteger结果偏移量。默认 0。例如设置为 10 时,将跳过前 10 条结果。
tagstring用户自定义任务标识,最大长度 255。响应中的 data 对象会原样返回该值,便于结果追踪。

地区与语言

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

  • /v3/dataforseo_labs/locations_and_languages

注意:

  • 当前接口支持美国地区
  • 当前接口支持英语

过滤与排序

filters

  • 最多 8 个条件
  • 条件间可用 and / or
  • 支持操作符:
  • <
  • <=
  • >
  • >=
  • =
  • <>
  • in
  • not_in

示例:

json
[
 {
 "app_ids": {
 "1": "686449807",
 "2": "382617920"
 },
 "location_code": 2840,
 "language_name": "English",
 "filters": [
 ["keyword_data.keyword_info.search_volume", ">=", 500]
 ],
 "limit": 10
 }
]

order_by

  • 支持按结果字段排序
  • 排序方向:
  • asc:升序
  • desc:降序
  • 最多设置 3 条排序规则

响应结构

接口返回 JSON 数据,顶层 tasks 数组。

顶层字段

字段类型说明
versionstring当前 API 版本
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 数组数量
patharrayURL 路径
dataobject与请求中提交的参数一致
resultarray结果数组

result[] 字段

字段类型说明
se_typestring搜索引擎类型
app_idsobject请求中提交的应用 ID 集合
location_codeinteger请求中的地区编码
language_codestring请求中的语言编码
total_countinteger数据库中与请求匹的结果总数
items_countinteger当前 items 数组返回的结果数
itemsarray结果列表

items[] 字段说明

每个表示一个“多个应用排名”的结果。

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

keyword_data

字段类型说明
se_typestring搜索引擎类型
keywordstring返回的
location_codeinteger地区编码
language_codestring语言编码
keyword_infoobject详细信息
serp_infoobject / nullSERP 信息;若未启用数据或库中无数据,则返回 null

keyword_data.keyword_info

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

keyword_data.serp_info

字段类型说明
se_typestring搜索引擎类型
check_urlstring可直接打开的搜索结果地址,用于校验结果
serp_item_typesarray / null该 SERP 中出现的结果类型
se_results_countstring搜索结果数量
last_updated_timestring最近一次 SERP 数据更新时间,UTC 格式
previous_updated_timestring上一次 SERP 数据更新时间,UTC 格式

说明:原始参考文档中该字段描述提到需设置 include_serp_info=true 才会返回 serp_info,但该参数未在本页请求参数中列出。如需使用,请以响应能力为准。

intersection_result 字段说明

intersection_result 按你在 app_ids 中传的序号分别返回每个应用在该下的 App Store 搜索结果信息。

例如,请求中传:

json
"app_ids": {
 "1": "686449807",
 "2": "382617920"
}

则响应中的 intersection_result 可能:

  • 1
  • 2

每个编号对象表示对应应用在该下的搜索结果数据。

intersection_result.{n} 字段

字段类型说明
typestringSERP素类型;当前值为 app_store_search_organic
rank_groupinteger同类型结果中的排名
rank_absoluteinteger在整个 SERP 中的绝对排名
positionstring结果展示位置,可能为 leftright
app_idstring应用 ID
titlestring应用名称
urlstringApp Store 应用页面地址
iconstring应用图标地址
reviews_countinteger应用评论总数
ratingobject评分信息
is_freeboolean是否
priceobject价格信息

rating

字段类型说明
rating_typestring评分类型,当前为 Max5
valuefloat平均评分值
votes_countinteger / null投票/反馈数量,当前场景下可能为 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/apple/app_intersection/live" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "app_ids": {
 "1": "686449807",
 "2": "382617920"
 },
 "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/apple/app_intersection/live"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

data = [
 {
 "app_ids": {
 "1": "686449807",
 "2": "382617920"
 },
 "location_name": "United States",
 "language_name": "English",
 "filters": [
 ["keyword_data.keyword_info.search_volume", ">=", 500]
 ],
 "limit": 10
 }
]

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

TypeScript

typescript
import axios from "axios";

const postData = [
 {
 app_ids: {
 "1": "686449807",
 "2": "382617920"
 },
 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/apple/app_intersection/live",
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
 },
 data: postData
})
 .then((response) => {
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

响应示例

json
{
 "version": "0.1.20220428",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.9195 sec.",
 "cost": 0.011,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "dataforseo_labs",
 "function": "app_intersection",
 "se_type": "apple",
 "app_ids": {
 "1": "686449807",
 "2": "382617920"
 },
 "location_code": 2840,
 "language_code": "en",
 "limit": 10
 },
 "result": [
 {}
 ]
 }
 ]
}

状态码与错误处理

  • 顶层 status_code 表示整个请求的处理状态
  • tasks[].status_code 表示单个任务的处理状态
  • 建议在接时同时处理:
  • HTTP 状态码
  • 顶层 status_code
  • 任务级 tasks[].status_code

常见成功状态:

状态码含义
20000请求成功

完整错误码体系请参考 /v3/appendix/errors 容文档,并在业务侧建立重试、告警和异常底机制。

使用建议

  1. 优传 location_code=2840language_code=en,名称匹差异。
  2. 当对结果数量有明确预期时,结合 limitoffset 做分页拉取。
  3. 若要筛选高价值,可按 keyword_data.keyword_info.search_volume 设置过滤条件。
  4. 当传多个应用时,可利用 intersection_result 对比各应用在同一下的排名差异。

实用场景

  • 挖掘竞品重叠词:找出自家应用与竞品同时排名的,识别核心竞争搜索词,优化投放与 ASO 策略。
  • 比较同词排名差距:分析同一下多个应用的 rank_absolute 差异,评估品牌词、品类词上的真实竞争位置。
  • 筛选高流量机会词:结合 search_volume 过滤出搜索量较高的交集,优标题、描述和副标题优化资源。
  • 监控竞品覆盖范围:持续跟踪多个竞品出现的集合,判断市场头部应用正在争夺哪些搜索。
  • 定位/付费产品竞争态势:利用 is_freeprice 字段观察同一下与付费应用的分布,定价与转化策略设计。

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