适用场景App Store 查询接口能够根据应用数字 ID 或商店链接返回应用的名称、版本、评分、用量说明、截图、兼容性等完整信息支持多国家/地区查询。以下场景尤其需要这类数据竞品分析定期拉取竞品的版本更新频率、评分变化、下载量级通过评分数量间接评估辅助产品决策。上架状态监控实时检查自研应用在 App Store 的是否正常上架、是否有下架风险。ASO 运营获取应用关键词、类别、截图等素材为优化搜索排名提供依据。开发者工具集成将查询能力嵌入内部工单系统、CI/CD 流水线或运营仪表盘实现自动化数据采集。接口能力边界请求方法POST请求地址https://v1.apizero.cn/api/app-storeQPS 限制10 次/秒短时间高频请求需加上限速与重试逻辑。数据覆盖支持全球主要国家/地区cn/us/jp 等国家码非法默认回退至cn。输入方式支持app_id数字 ID或url商店完整链接二选一url会自动提取app_id。注意接口文档未明确返回数据的实时性建议以文档为准实际测试发现更新时间在 1 小时以内普通监控场景够用。请求参数与鉴权Header 参数参数名是否必填类型说明Content-Type是string固定为application/jsonX-API-Key是string用于身份认证的 API Key需在平台申请获取请求体JSON请求体是一个 JSON 对象包含三个字段均为可选但app_id或url至少提供一个字段名类型是否必填说明app_idstring否与 url 二选一App 的数字 ID例如414478124urlstring否与 app_id 二选一App Store 完整链接例如https://apps.apple.com/cn/app/id414478124countrystring否两位国家/地区码如cn、us、jp非法则回退为cn示例请求体{ app_id: 414478124, url: https://apps.apple.com/cn/app/id414478124, country: cn }当同时提供app_id和url时app_id优先url会被忽略。代码接入示例1. cURL 请求以下请求使用了环境变量$APIZERO_API_KEY存放 API Key请先设置或直接替换。export APIZERO_API_KEYyour_api_key_here curl -sS \ -X POST \ -H X-API-Key: $APIZERO_API_KEY \ -H Content-Type: application/json \ -d {app_id: 414478124, url: https://apps.apple.com/cn/app/id414478124, country: cn} \ https://v1.apizero.cn/api/app-store2. Python 请求使用requests库import requests import json API_URL https://v1.apizero.cn/api/app-store API_KEY your_api_key_here # 请替换为真实 Key payload { app_id: 414478124, url: https://apps.apple.com/cn/app/id414478124, country: cn } headers { Content-Type: application/json, X-API-Key: API_KEY } resp requests.post(API_URL, headersheaders, jsonpayload) if resp.status_code 200: data resp.json() print(json.dumps(data, indent2, ensure_asciiFalse)) else: print(f请求失败状态码{resp.status_code}响应体{resp.text})3. Node.js 请求使用node-fetch或axiosconst fetch require(node-fetch); // 或 import fetch from node-fetch; const API_URL https://v1.apizero.cn/api/app-store; const API_KEY your_api_key_here; const body { app_id: 414478124, url: https://apps.apple.com/cn/app/id414478124, country: cn }; fetch(API_URL, { method: POST, headers: { Content-Type: application/json, X-API-Key: API_KEY }, body: JSON.stringify(body) }) .then(res res.json()) .then(data console.log(JSON.stringify(data, null, 2))) .catch(err console.error(请求失败:, err));响应格式与字段解读成功响应的 HTTP 状态码为 200返回 JSON 格式包含外层包装字段和data数据体。外层包装字段类型说明codenumber业务状态码0 表示成功非 0 表示错误msgstring提示信息成功时通常为 成功失败时为错误描述dataobject核心应用数据request_idstring本次请求的唯一标识可用于日志追踪data字段详解字段类型说明app_idnumberApp 数字 ID示例 414478124namestring应用名称如“微信”bundle_idstring应用包名如com.tencent.xindescriptionstring应用描述文本developerobject开发者信息含name、seller_name、urliconobject图标链接分small(60x60)、medium(100x100)、large(512x512)screenshotsobject截图 URL 数组按设备类型分类iphone、ipad、appletvpriceobject用量说明信息含amount、currency、formatted、is_freeratingobject评分信息含average(平均分)、count(评分总数)、current_version_average、current_version_countversionobject版本信息含current(版本号)、release_date、release_notes、days_since_update(距更新天数)categoryobject分类信息含primary(主要分类名称)、primary_id、all(所有分类数组)compatibilityobject兼容性信息含min_os_version、supported_devices_count、features、game_centercontent_ratingstring年龄分级如 12language_countnumber支持语言数量languagesarray支持语言缩写数组如[ZH,EN,JA]file_sizeobject文件大小含bytes与display可读格式first_release_datestring首次上架日期格式YYYY-MM-DDstore_urlstring应用商店链接advisoriesarray查看文档/下载前的提示如 App 内查看文档警告示例片段仅展示部分返回数据{ code: 0, data: { app_id: 414478124, name: 微信, bundle_id: com.tencent.xin, version: { current: 8.0.75, release_date: 2026-06-14, days_since_update: 17, release_notes: 本次更新解决了一些已知问题。 }, price: { amount: 0, currency: CNY, formatted: 免费, is_free: true }, rating: { average: 4.15, count: 8010302, current_version_average: 4.15, current_version_count: 8010302 } }, msg: 成功, request_id: a1b2c3d4 }常见错误与处理建议问题可能原因解决方式HTTP 403API Key 缺失或无效检查X-API-Key头是否正确未设置时平台拒绝HTTP 400 /code ! 0请求体中缺少app_id和url至少提供一个有效输入msg为“参数错误”country非法如xyz使用合法两位国家码如cn、us返回空数据提供的app_id或url不存在确认应用 ID 正确或链接格式是否完整如域名apps.apple.com频繁 429超出 QPS 限制10次/秒增加请求间隔至少 100ms或使用指数退避重试SSL 证书错误环境时间不同步或证书链异常更新系统证书或设置verifyFalse仅测试环境工程化注意事项API Key 管理不要将 Key 硬编码在代码仓库中使用环境变量或密钥管理服务如 HashiCorp Vault、AWS Secrets Manager。限流与重试虽然 QPS 为 10但长时间批量查询仍可能触发频率限制。建议使用令牌桶策略并捕获 429 状态后等待Retry-After头指示的秒数重试。数据缓存对于已查询的应用尤其是评分、版本等非实时敏感字段可缓存 530 分钟以降低调用量。使用 Redis 或本地内存缓存。国家/地区轮询若需要获取同一应用在多个国家的数据可使用country参数轮询留意每个国家的 QPS 独立计算可能共享全局限流。错误监控记录request_id与返回的msg便于调用方排查问题。集成告警如 Slack、钉钉在失败次数超过阈值时通知。URL 提取逻辑若用户输入的是完整链接建议在客户端先解析出app_id再请求避免依赖接口内部提取但接口本身支持。例如从https://apps.apple.com/cn/app/id414478124中正则提取414478124。参考文档App Store 查询接口文档https://apizero.cn/aidocs/app-store原始接口说明含更多示例https://apizero.cn/aidocs/app-store/raw.md