Skip to content

提交 Google Play 应用任务

通过本接口可创建应用采集任务,用于获取 app_id 指定的 Google Play 应用信息。

app_id 可从 Google Play 应用页面 URL 中提取。例如:

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

org.telegram.messenger 即为该应用的 app_id

  • 请求方法:POST
  • 接口地址:https://api.seermartech.cn/v3/app_data/google/app_info/task_post

计费说明

创建任务时即会产生费用。

参考价需根据参考单价换算,扣费以响应头 X-SeerMarTech-Charge-CNY 为准。

若使用高优级任务(priority = 2),会额外增加费用。

使用说明

所有 POST 数据使用 JSON(UTF-8)编码,且请求体格式为 JSON 数组

[{ ... }]

创建任务时,请将任务参数放数组中。调用限制如下:

  • 每分钟最多 2000 次 API 调用
  • 每次 POST 最多提交 100 个任务
  • 如果单次请求中任务数 100,出部分会返回 40006 错误

任务提交成功后,你可以通过返回的唯一任务 ID id 获取结果。

如果在创建任务时指定了 postback_urlpingback_url,本平台会在任务完成后主动通知你:

  • postback_url:以 POST 方式推送结果,为 gzip 压缩数据
  • pingback_url:以 GET 方式发送完成通知

如果你的服务器在 10 秒未响应,连接会因时中断,任务会被转 /v3/app_data/google/app_info/tasks_ready 列表中,后续可通过该列表拉取已完成任务。错误码和错误信息取决于你的服务端。

请求参数

字段名类型说明
app_idstring。Google Play 应用 ID。可从应用页 URL 中获取。例如 org.telegram.messenger
location_namestring当未指定 location_code 时填。搜索引擎地区名。使用该字段时无需再传 location_code。可通过 /v3/app_data/google/locations 获取可用地区列表。示例:West Los Angeles,California,United States
location_codeinteger当未指定 location_name 时填。搜索引擎地区编码。使用该字段时无需再传 location_name。可通过 /v3/app_data/google/locations 获取可用地区列表。示例:9061121
language_namestring当未指定 language_code 时填。搜索引擎语言名称。使用该字段时无需再传 language_code。可通过 /v3/app_data/google/languages 获取可用语言列表。示例:English
language_codestring当未指定 language_name 时填。搜索引擎语言代码。使用该字段时无需再传 language_name。可通过 /v3/app_data/google/languages 获取可用语言列表。示例:en
priorityinteger可选。任务优级。1 表示普通优级(默认),2 表示高优级。高优级通常能更快完成,但费用更高。
tagstring可选。自定义任务标识,最长 255 个字符。可用于结果回传时做任务映射;响应的 data 对象中会返回该值。
postback_urlstring可选。任务完成后,系统会将结果以 POST 方式推送到该地址,数据为 gzip 压缩格式。支持使用 $id 作为任务 ID 变量,$tag 作为 URL 编码后的 tag 变量。示例:http://your-server.com/postbackscript?id=$id
postback_datastring指定了 postback_url 时填。表示推送到你服务器的数据类型。可选值:advancedhtml
pingback_urlstring可选。任务完成后,系统会向该地址发送 GET 请求通知。支持使用 $id 作为任务 ID 变量,$tag 作为 URL 编码后的 tag 变量。示例:http://your-server.com/pingscript?id=$id&tag=$tag

回调 URL 说明

  • postback_urlpingback_url 中的特殊字符会被 URL 编码
  • 例如 # 会被编码为 %23

返回结果说明

接口返回 JSON 数据, tasks 数组,每个任务对应一条提交结果。

顶层字段

字段名类型说明
versionstringAPI 当前版本
status_codeinteger接口级状态码。完整错误码可参考 /v3/appendix/errors
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结果数组。对于任务提交接口,该值通常为 null

请求示例

cURL

bash
curl --location --request POST "https://api.seermartech.cn/v3/app_data/google/app_info/task_post" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json" \
--data-raw '[
 {
 "app_id": "org.telegram.messenger",
 "location_code": 2840,
 "language_code": "en"
 }
]'

Python

python
import requests

url = "https://api.seermartech.cn/v3/app_data/google/app_info/task_post"
headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

data = [
 {
 "app_id": "org.telegram.messenger",
 "location_code": 2840,
 "language_code": "en"
 },
 {
 # 高优级任务,通常返回更快,但费用更高
 "app_id": "org.telegram.messenger",
 "priority": 2,
 "location_code": 2840,
 "language_code": "en",
 "tag": "some_string_123",
 "pingback_url": "https://your-server.com/pingscript?id=$id&tag=$tag"
 },
 {
 # 任务完成后将结果推送到指定地址
 "app_id": "org.telegram.messenger",
 "location_code": 2840,
 "language_code": "en",
 "postback_data": "html",
 "postback_url": "https://your-server.com/postbackscript"
 }
]

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

TypeScript

typescript
import axios from "axios";

const postData = [
 {
 app_id: "org.telegram.messenger",
 location_code: 2840,
 language_code: "en",
 },
 {
 // 高优级任务,通常返回更快,但费用更高
 app_id: "org.telegram.messenger",
 priority: 2,
 location_code: 2840,
 language_code: "en",
 tag: "some_string_123",
 pingback_url: "https://your-server.com/pingscript?id=$id&tag=$tag",
 },
 {
 // 任务完成后将结果推送到指定地址
 app_id: "org.telegram.messenger",
 location_code: 2840,
 language_code: "en",
 postback_data: "html",
 postback_url: "https://your-server.com/postbackscript",
 },
];

axios({
 method: "post",
 url: "https://api.seermartech.cn/v3/app_data/google/app_info/task_post",
 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.20220422",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "0.1068 sec.",
 "cost": 0.0006,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "id": "f3b7d5b2-7d5b-4c4d-9b2a-1234567890ab",
 "status_code": 20100,
 "status_message": "Task Created.",
 "time": "0.0000 sec.",
 "cost": 0.0006,
 "result_count": 0,
 "path": [
 "v3",
 "app_data",
 "google",
 "app_info",
 "task_post"
 ],
 "data": {
 "api": "app_data",
 "function": "app_info",
 "se": "google",
 "app_id": "org.telegram.messenger",
 "location_code": 2840,
 "language_code": "en",
 "se_type": "app_info",
 "device": "desktop",
 "os": "windows"
 },
 "result": null
 }
 ]
}

状态码与错误处理

建议在接时同时处理接口级和任务级状态码:

  • 顶层 status_code:表示整个请求是否成功
  • tasks[].status_code:表示单个任务是否成功创建

常见:

  • 20000:请求成功
  • 20100:任务已成功创建
  • 40006:单次 POST 中任务数 100 个

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

结果获取方式

本接口负责创建任务,不直接返回应用数据,result 通常为 null

你可以通过以下方式获取最终结果:

  1. 使用任务 ID 获取结果
  2. 在提交时 postback_url,由系统主动推送结果
  3. 在提交时 pingback_url,收到通知后再自行获取结果
  4. 若回调时或失败,可从 /v3/app_data/google/app_info/tasks_ready 查询已完成任务

实用场景

  • 采集竞品应用:批量提交竞品 app_id,获取不同市场与语言环境下的应用信息,用于 ASO 和竞品监测。
  • 校验应用多地区展示差异:按不同 location_codelanguage_code 创建任务,分析应用在不同国家/语言下的页面信息差异。
  • 监控版本页信息变更:周期性提交同一应用任务,跟踪标题、描述或页信息变化,及时发现竞品策略调整。
  • 构建应用报数据库:将任务回调结果接数据仓库,沉淀应用基础信息,为选品、投放和市场研究提供支持。
  • 自动化异步采集流程:结合 postback_urlpingback_url 实现异步任务编排,减少轮询请求,提高大规模采集效率。

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