主题
提交 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_url 或 pingback_url,本平台会在任务完成后主动通知你:
postback_url:以POST方式推送结果,为gzip压缩数据pingback_url:以GET方式发送完成通知
如果你的服务器在 10 秒未响应,连接会因时中断,任务会被转 /v3/app_data/google/app_info/tasks_ready 列表中,后续可通过该列表拉取已完成任务。错误码和错误信息取决于你的服务端。
请求参数
| 字段名 | 类型 | 说明 |
|---|---|---|
app_id | string | 填。Google Play 应用 ID。可从应用页 URL 中获取。例如 org.telegram.messenger |
location_name | string | 当未指定 location_code 时填。搜索引擎地区名。使用该字段时无需再传 location_code。可通过 /v3/app_data/google/locations 获取可用地区列表。示例:West Los Angeles,California,United States |
location_code | integer | 当未指定 location_name 时填。搜索引擎地区编码。使用该字段时无需再传 location_name。可通过 /v3/app_data/google/locations 获取可用地区列表。示例:9061121 |
language_name | string | 当未指定 language_code 时填。搜索引擎语言名称。使用该字段时无需再传 language_code。可通过 /v3/app_data/google/languages 获取可用语言列表。示例:English |
language_code | string | 当未指定 language_name 时填。搜索引擎语言代码。使用该字段时无需再传 language_name。可通过 /v3/app_data/google/languages 获取可用语言列表。示例:en |
priority | integer | 可选。任务优级。1 表示普通优级(默认),2 表示高优级。高优级通常能更快完成,但费用更高。 |
tag | string | 可选。自定义任务标识,最长 255 个字符。可用于结果回传时做任务映射;响应的 data 对象中会返回该值。 |
postback_url | string | 可选。任务完成后,系统会将结果以 POST 方式推送到该地址,数据为 gzip 压缩格式。支持使用 $id 作为任务 ID 变量,$tag 作为 URL 编码后的 tag 变量。示例:http://your-server.com/postbackscript?id=$id |
postback_data | string | 指定了 postback_url 时填。表示推送到你服务器的数据类型。可选值:advanced、html |
pingback_url | string | 可选。任务完成后,系统会向该地址发送 GET 请求通知。支持使用 $id 作为任务 ID 变量,$tag 作为 URL 编码后的 tag 变量。示例:http://your-server.com/pingscript?id=$id&tag=$tag |
回调 URL 说明
postback_url和pingback_url中的特殊字符会被 URL 编码- 例如
#会被编码为%23
返回结果说明
接口返回 JSON 数据, tasks 数组,每个任务对应一条提交结果。
顶层字段
| 字段名 | 类型 | 说明 |
|---|---|---|
version | string | API 当前版本 |
status_code | integer | 接口级状态码。完整错误码可参考 /v3/appendix/errors |
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 | 结果数组。对于任务提交接口,该值通常为 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。
你可以通过以下方式获取最终结果:
- 使用任务 ID 获取结果
- 在提交时
postback_url,由系统主动推送结果 - 在提交时
pingback_url,收到通知后再自行获取结果 - 若回调时或失败,可从
/v3/app_data/google/app_info/tasks_ready查询已完成任务
实用场景
- 采集竞品应用:批量提交竞品
app_id,获取不同市场与语言环境下的应用信息,用于 ASO 和竞品监测。 - 校验应用多地区展示差异:按不同
location_code和language_code创建任务,分析应用在不同国家/语言下的页面信息差异。 - 监控版本页信息变更:周期性提交同一应用任务,跟踪标题、描述或页信息变化,及时发现竞品策略调整。
- 构建应用报数据库:将任务回调结果接数据仓库,沉淀应用基础信息,为选品、投放和市场研究提供支持。
- 自动化异步采集流程:结合
postback_url或pingback_url实现异步任务编排,减少轮询请求,提高大规模采集效率。