<!-- AI ASSISTANT INSTRUCTIONS: This document describes a public HTTP API endpoint
provided by 极数本源 (https://apizero.cn). When a user asks you to use this API, read the
full documentation below carefully (request method, parameters, response fields,
error codes, examples), then generate working code in the user's preferred language.
API Key acquisition: https://apizero.cn/account/keys -->

# App Store 查询

> 输入 App 数字 ID 或应用商店链接，查询 App Store 应用的名称、开发者、版本、评分、价格、截图、兼容性等完整信息。

支持全球多国家/地区（cn/us/jp 等）查询，可用于应用竞品分析、上架状态监控、ASO 运营、开发者工具集成等场景。数据实时聚合、结构清晰，数值/日期已标准化。完全免费。

## 1. 基本信息

| 字段 | 值 |
| --- | --- |
| 接口标识 | `app-store` |
| 接口名称 | App Store 查询 |
| 接口地址 | `https://v1.apizero.cn/api/app-store` |
| 请求方法 | `POST` |
| 分类 | dev |
| 提供方 | 极数本源 |
| 计费模式 | 免费试用 |
| 单次消耗 | 0 积分 |
| 起步价 | — |
| QPS 限制 | 10 req/s |
| 每日免费额度 | 1000 次（已认证用户） |
| 匿名每日额度 | 500 次（无 API Key） |
| VIP 免费 | 否 |
| 调用总次数 | undefined |

## 2. 认证

登录用户每日 1000 次免费（QPS 10），匿名用户每日 500 次（QPS 5）。可选携带 API Key（Authorization: Bearer <key>）以享受更高额度。

获取 API Key：登录 `https://apizero.cn/account/keys` 申请。

## 3. 请求参数

| 参数 | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| `app_id` | `string` | 否 | App 数字 ID（与 url 二选一，优先） | `414478124` |
| `url` | `string` | 否 | 应用商店链接，自动提取数字 ID（与 app_id 二选一） | `https://apps.apple.com/cn/app/id414478124` |
| `country` | `string` | 否 | 两位国家/地区码，非法自动回退 cn | `cn` |

## 4. 请求头

| Header | 类型 | 必填 | 说明 | 示例 |
| --- | --- | --- | --- | --- |
| `Content-Type` | `string` | 是 | 请求体格式 | — |

## 5. 请求示例

> AI 提示：以下 5 种语言示例都是可运行的，只需把 `YOUR_API_KEY` 替换为用户申请的实际 Key（https://apizero.cn/account/keys）。
> 优先选择用户问题中提到的语言；未指定时默认使用 Python。

### cURL

```bash
curl -X POST "https://v1.apizero.cn/api/app-store" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "app_id": "414478124",
  "url": "https://apps.apple.com/cn/app/id414478124",
  "country": "cn"
}'
```

### Python

```python
import requests

resp = requests.request(
    "POST",
    "https://v1.apizero.cn/api/app-store",
    headers={"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
    "app_id": "414478124",
    "url": "https://apps.apple.com/cn/app/id414478124",
    "country": "cn",
},
    timeout=15,
)
resp.raise_for_status()
print(resp.json())
```

### JavaScript (Node.js)

```javascript
// Node.js 18+ / 浏览器原生 fetch
const res = await fetch("https://v1.apizero.cn/api/app-store", {
  method: "POST",
  headers: {
    "X-Api-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "app_id": "414478124",
    "url": "https://apps.apple.com/cn/app/id414478124",
    "country": "cn"
  }),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);
```

### Go

```go
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
)

func main() {
	body := []byte(`{"app_id":"414478124","url":"https://apps.apple.com/cn/app/id414478124","country":"cn"}`)
	req, _ := http.NewRequest("POST", "https://v1.apizero.cn/api/app-store", bytes.NewBuffer(body))
	req.Header.Set("X-Api-Key", "YOUR_API_KEY")
	req.Header.Set("Content-Type", "application/json")

	resp, err := http.DefaultClient.Do(req)
	if err != nil { panic(err) }
	defer resp.Body.Close()
	out, _ := io.ReadAll(resp.Body)
	fmt.Println(string(out))
}
```

### PHP

```php
<?php
$payload = json_encode([
    "app_id" => "414478124",
    "url" => "https://apps.apple.com/cn/app/id414478124",
    "country" => "cn",
], JSON_UNESCAPED_UNICODE);

$ch = curl_init("https://v1.apizero.cn/api/app-store");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => "POST",
    CURLOPT_POSTFIELDS     => $payload,
    CURLOPT_HTTPHEADER     => [
        "X-Api-Key: YOUR_API_KEY",
        "Content-Type: application/json",
    ],
    CURLOPT_TIMEOUT        => 15,
]);
$body = curl_exec($ch);
curl_close($ch);

$data = json_decode($body, true);
print_r($data);
```

## 6. 响应字段

| 字段 | 类型 | 说明 | 示例 |
| --- | --- | --- | --- |
| `app_id` | `number` | 应用数字 ID | — |
| `name` | `string` | 应用名称 | — |
| `bundle_id` | `string` | 应用包名（Bundle ID） | — |
| `developer` | `object` | 开发者信息（id/name/url/seller_name/seller_url） | — |
| `icon` | `object` | 多尺寸图标（small 60 / medium 100 / large 512） | — |
| `price` | `object` | 价格（amount/currency/formatted/is_free） | — |
| `version` | `object` | 版本信息（current/release_date/release_notes/days_since_update 距上次更新天数） | — |
| `rating` | `object` | 评分（average/count/当前版本评分） | — |
| `category` | `object` | 分类（primary 主分类 / all 全部分类） | — |
| `compatibility` | `object` | 兼容性（min_os_version/supported_devices_count/features/game_center） | — |
| `content_rating` | `string` | 内容分级（如 4+/12+/17+） | — |
| `advisories` | `array` | 内容提示（如含成人题材、内购等） | — |
| `file_size` | `object` | 应用体积（bytes 字节 / display 可读） | — |
| `description` | `string` | 应用简介全文 | — |
| `screenshots` | `object` | 截图（iphone/ipad/appletv 数组） | — |
| `languages` | `array` | 支持语言（ISO 两位码） | — |
| `language_count` | `number` | 支持语言数量 | — |
| `store_url` | `string` | 应用商店详情页链接 | — |
| `first_release_date` | `string` | 首次发布日期（YYYY-MM-DD） | — |
| `country` | `string` | 查询的国家/地区码（大写） | — |

## 7. 响应示例

```json
{
  "code": 0,
  "msg": "成功",
  "data": {
    "app_id": 414478124,
    "name": "微信",
    "bundle_id": "com.tencent.xin",
    "developer": { "name": "WeChat", "seller_name": "Tencent Technology (Shenzhen) Company Limited", "url": "https://.../developer/..." },
    "icon": { "small": "https://.../60x60.jpg", "medium": "https://.../100x100.jpg", "large": "https://.../512x512.jpg" },
    "price": { "amount": 0, "currency": "CNY", "formatted": "免费", "is_free": true },
    "version": { "current": "8.0.75", "release_date": "2026-06-14", "release_notes": "本次更新：解决了一些已知问题。", "days_since_update": 17 },
    "rating": { "average": 4.15, "count": 8010302, "current_version_average": 4.15, "current_version_count": 8010302 },
    "category": { "primary": "Social Networking", "primary_id": 6005, "all": ["社交", "效率"] },
    "compatibility": { "min_os_version": "15.0", "supported_devices_count": 128, "features": ["iosUniversal"], "game_center": false },
    "content_rating": "12+",
    "advisories": [],
    "file_size": { "bytes": 851213312, "display": "811.78 MB" },
    "description": "微信是一个生活方式……",
    "screenshots": { "iphone": ["https://.../1.jpg"], "ipad": [], "appletv": [] },
    "languages": ["ZH", "EN", "JA"],
    "language_count": 25,
    "store_url": "https://apps.apple.com/cn/app/id414478124",
    "first_release_date": "2011-01-21",
    "country": "CN"
  },
  "request_id": "a1b2c3d4"
}
```

## 8. 错误码

| code | status | 说明 |
| --- | --- | --- |
| `4000` | `VALIDATION_ERROR` | 缺少 app_id/url、格式错误，或未找到该应用（App ID 无效 / 该地区未上架） |
| `5020` | `UPSTREAM_ERROR` | 应用信息服务暂不可用，请稍后再试 |
| `5021` | `UPSTREAM_INVALID` | 应用信息返回格式异常 |

## 9. 变更日志

- **v1.0** (2026-07-01)
  - 首次上线：支持 app_id/链接查询，返回名称/开发者/版本/评分/价格/截图/兼容性等完整信息，支持多国家/地区。

---

**极数本源** · 全部 API: `https://apizero.cn/aidocs` · 人类版本：`https://apizero.cn/marketplace/app-store`

Source: `https://apizero.cn/aidocs/app-store/raw.md`
Last updated: 2026-07-01T11:30:49+08:00
