Skip to content

App Store 应用竞品实时分析

POST /v3/dataforseo_labs/apple/app_competitors/live

接口说明

本接口使用 POST 方法,路径为:

/v3/dataforseo_labs/apple/app_competitors/live

接口根据目标 App 在 App Store 中的排名,返回与产生交集的竞品应用列表,并提供竞品应用 ID、交集数量、搜索量及排名分布等数据。

返回结果针对请求体中指定的 app_id。例如,App Store 中 TikTok 的地址为:

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

app_id835599320

数据更新频率: 每周更新。最新更新时间可通过状态接口查询。

/v3/dataforseo_labs/status/

请求限制与计费

  • 所有请求体使用 UTF-8 编码的 JSON 格式。
  • POST 请求体是 JSON 数组。
  • 每次实时接口调用只能提交 1 个任务。 平台限流以认证说明中的 30/60/120 次/分钟规则为准。
  • 可通过 limitoffsetfiltersorder_by 控制返回结果。
  • 本接口按请求计费,扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

请求参数

请求示例结构

json
[
  {
    "app_id": "686449807",
    "location_code": 2840,
    "language_code": "en",
    "filters": [
      [
        "intersections",
        ">=",
        500
      ]
    ],
    "order_by": [
      "intersections,desc"
    ],
    "limit": 10,
    "offset": 0,
    "tag": "apple-competitor-analysis"
  }
]

参数说明

参数类型说明
app_idstringApp Store 应用 ID。可从应用页面 URL 中获取,例如 https://apps.apple.com/us/app/id835599320 中的 835599320
location_namestring条件填地区名称。当未传 location_code 时填。本接口当前支持美国地区,示例值:United States
location_codeinteger条件填地区代码。当未传 location_name 时填。本接口当前支持美国地区,示例值:2840
language_namestring条件填语言名称。当未传 language_code 时填。本接口当前支持英语,示例值:English
language_codestring条件填语言代码。当未传 language_name 时填。本接口当前支持英语,示例值:en
filtersarray结果过滤条件,最多支持 8 个过滤条件。多个条件之间需要使用 andor 连接。
order_byarray结果排序规则。最多支持 3 条排序规则,格式为 字段,排序方向,排序方向支持 ascdesc
limitinteger返回的最大竞品应用数量。默认值为 100,最大值为 1000
offsetinteger结果偏移量。默认值为 0。例如设置为 10,将跳过前 10 条结果。
tagstring用户自定义任务标识,最大长度为 255 个字符。该值会原样返回在响应任务的 data 对象中。

地区与语言

可通过以下接口获取可用的地区和语言列表:

/v3/dataforseo_labs/locations_and_languages

当前接口支持:

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

过滤条件

支持的比较运算符:

<<=>>==<>innot_in

示例:筛选交集数量不少于 500 的竞品应用。

json
[
  {
    "app_id": "686449807",
    "location_name": "United States",
    "language_name": "English",
    "filters": [
      [
        "intersections",
        ">=",
        500
      ]
    ],
    "limit": 10
  }
]

多个过滤条件示例:

json
[
  {
    "filters": [
      [
        "intersections",
        ">=",
        500
      ],
      "and",
      [
        "avg_position",
        "<=",
        20
      ]
    ]
  }
]

排序规则

排序格式如下:

json
[
  "intersections,desc",
  "avg_position,asc"
]

  • asc:升序排列
  • desc:降序排列

最多可设置 3 条排序规则。

响应字段

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

顶层字段

字段类型说明
versionstring当前 API 版本。
status_codeinteger通用状态码。成功通常为 20000
status_messagestring状态说明。
timestring请求执行耗时,例如 0.9813 sec.
costfloat平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。
tasks_countintegertasks 数组中的任务总数。
tasks_errorinteger执行失败的任务数量。
tasksarray任务结果数组。

任务字段

字段类型说明
idstring任务唯一标识,UUID 格式。
status_codeinteger当前任务的状态码。
status_messagestring当前任务的状态说明。
timestring当前任务执行耗时。
costfloat平台原始 USD 成本兼容字段;人民币实扣以 X-SeerMarTech-Charge-CNY 为准。
result_countintegerresult 数组中的数量。
patharray请求路径信息。
dataobject请求中提交的任务参数。
resultarray分析结果数组。

result 字段

字段类型说明
se_typestring搜索引擎类型,固定为 apple
app_idstring请求中指定的目标应用 ID。
location_codeinteger地区代码。
language_codestring语言代码。
total_countinteger数据库中符合请求条件的结果总数。
items_countinteger本次 items 数组返回的结果数量。
itemsarray目标应用及竞品应用的详细数据。

items 竞品字段

字段类型说明
se_typestring搜索引擎类型,固定为 apple
app_idstring竞品应用的 App Store ID。
avg_positionfloat竞品应用在 App Store 搜索结果中的平均排名。根据与目标应用重合的计算。相同应用与不同目标应用进行对比时,该值可能不同。
sum_positioninteger竞品应用在 App Store 搜索结果中的排名总和。根据重合计算。
intersectionsinteger与目标应用产生交集的数量。
competitor_metricsobject竞品应用在重合上的排名指标。
full_metricsobject竞品应用排名的汇总指标。

competitor_metrics.app_store_search_organic

该对象竞品应用在与目标应用重合的上的 App Store 自然搜索排名数据。

字段类型说明
pos_1integer竞品应用排名第 1 的自然搜索结果数量。
pos_2_3integer竞品应用排名第 2 至第 3 的自然搜索结果数量。
pos_4_10integer竞品应用排名第 4 至第 10 的自然搜索结果数量。
pos_11_100integer竞品应用排名第 11 至第 100 的自然搜索结果数量。
countinteger含该竞品应用的自然搜索结果总数。
search_volumeinteger重合在 App Store 自然搜索中的总搜索量。

full_metrics.app_store_search_organic

该对象竞品应用排名的 App Store 自然搜索排名数据。

字段类型说明
pos_1integer竞品应用排名第 1 的自然搜索结果数量。
pos_2_3integer竞品应用排名第 2 至第 3 的自然搜索结果数量。
pos_4_10integer竞品应用排名第 4 至第 10 的自然搜索结果数量。
pos_11_100integer竞品应用排名第 11 至第 100 的自然搜索结果数量。
countinteger含该竞品应用的自然搜索结果总数。
search_volumeinteger该竞品应用所有排名在 App Store 自然搜索中的总搜索量。

错误处理

请根据以下字段判断请求和任务是否成功:

  • 顶层 status_code
  • 任务级 status_code
  • 顶层及任务级 status_message
  • tasks_error

完整状态码和错误信息请参考:

/v3/appendix/errors

建议客户端对 HTTP 错误、参数校验失败、任务执行失败及空结果进行单独处理。

请求示例

cURL

bash
curl --location --request POST \
  "https://api.seermartech.cn/v3/dataforseo_labs/apple/app_competitors/live" \
  --header "Authorization: Bearer smt_live_YOUR_KEY" \
  --header "Content-Type: application/json" \
  --data-raw '[
    {
      "app_id": "686449807",
      "location_name": "United States",
      "language_name": "English",
      "filters": [
        [
          "intersections",
          ">=",
          500
        ]
      ],
      "limit": 10
    }
  ]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/dataforseo_labs/apple/app_competitors/live"

headers = {
    "Authorization": "Bearer smt_live_YOUR_KEY",
    "Content-Type": "application/json",
}

payload = [
    {
        "app_id": "686449807",
        "location_name": "United States",
        "language_name": "English",
        "filters": [
            ["intersections", ">=", 500]
        ],
        "limit": 10,
    }
]

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

if result.get("status_code") == 20000:
    print(result)
else:
    print(
        "请求失败,状态码:%s,信息:%s"
        % (result.get("status_code"), result.get("status_message"))
    )

TypeScript

typescript
import axios from "axios";

const response = await axios.post(
  "https://api.seermartech.cn/v3/dataforseo_labs/apple/app_competitors/live",
  [
    {
      app_id: "686449807",
      location_name: "United States",
      language_name: "English",
      filters: [["intersections", ">=", 500]],
      limit: 10,
    },
  ],
  {
    headers: {
      Authorization: "Bearer smt_live_YOUR_KEY",
      "Content-Type": "application/json",
    },
  }
);

const result = response.data;

if (result.status_code === 20000) {
  console.log(result);
} else {
  console.error(
    `请求失败,状态码:${result.status_code},信息:${result.status_message}`
  );
}

响应示例

json
{
  "version": "0.1.20220428",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.9813 sec.",
  "cost": 0.011,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "01234567-89ab-cdef-0123-456789abcdef",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.9500 sec.",
      "cost": 0.011,
      "result_count": 1,
      "path": [
        "v3",
        "dataforseo_labs",
        "apple",
        "app_competitors",
        "live"
      ],
      "data": {
        "api": "dataforseo_labs",
        "function": "app_competitors",
        "se_type": "apple",
        "app_id": "686449807",
        "language_name": "English",
        "location_name": "United States",
        "limit": 10
      },
      "result": [
        {
          "se_type": "apple",
          "app_id": "686449807",
          "location_code": 2840,
          "language_code": "en",
          "total_count": 1,
          "items_count": 1,
          "items": [
            {
              "se_type": "apple",
              "app_id": "835599320",
              "avg_position": 8.5,
              "sum_position": 170,
              "intersections": 20,
              "competitor_metrics": {
                "app_store_search_organic": {
                  "pos_1": 2,
                  "pos_2_3": 4,
                  "pos_4_10": 8,
                  "pos_11_100": 6,
                  "count": 20,
                  "search_volume": 125000
                }
              },
              "full_metrics": {
                "app_store_search_organic": {
                  "pos_1": 5,
                  "pos_2_3": 10,
                  "pos_4_10": 22,
                  "pos_11_100": 35,
                  "count": 72,
                  "search_volume": 480000
                }
              }
            }
          ]
        }
      ]
    }
  ]
}

实用场景

  • 识别重合度最高的竞品应用,定位直接争夺相同 App Store 搜索流量的产品。
  • 筛选排名表现优于目标应用的竞品,发现需要重点研究的标题、描述和优化对象。
  • 比较竞品在前 1、前 3、前 10 的排名分布,评估竞品自然搜索强度及排名稳定性。
  • 结合交集数量与搜索量评估市场机会,优选择高需求且竞争明确的方向。
  • 定期追踪竞品排名指标变化,为 App Store SEO 复盘、竞品监测和版本发布后的效果评估提供依据。

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