全新的【小宇宙播客订阅趋势榜单】及【API服务-测试版】
这半年AI videcoding 水平飞速进展,所以用kimi 的coding plan 更新了**小宇宙播客订阅趋势榜**
[https://xyzrank.top/]( )
**本次更新有以下特征:**
- 完全实现了每日订阅数字的抓取和更新,也修复了4月后未抓取的问题
- 覆盖了7700左右的小宇宙播客链接(如果没有链接说明播客下线了)
- 保留最最核心的订阅趋势数据,删减不需要的其他SEO的功能
- 增加登录功能,后续可能会对更多数据分层处理
**截图预览**

**全网唯一记录播客订阅趋势的网站**
- 尽量补齐了历史数据
- 尽量覆盖了更多的播客数据
### 小宇宙播客订阅追踪 API
追踪小宇宙平台上播客的订阅数变化,提供每日更新的订阅量、日增长、月增长数据。
> 但是不知道能维护多久,😁
**Base URL:** `https://api.xyzrank.top`
#### 接口列表
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/health` | 健康检查 |
| GET | `/v1/stats` | 播客订阅排行榜 |
| GET | `/v1/metrics/{podcast_id}` | 单个播客历史数据 |
| GET | `/v1/podcast/{name}` | 按名称搜索播客 |
所有接口支持 CORS,可直接前端调用,无需代理。
---
#### GET /health
健康检查。
```bash
curl https://api.xyzrank.top/health
```
```json
{"status": "ok"}
```
---
#### GET /v1/stats
获取播客订阅排行榜,支持排序和分页。
**参数:**
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `sort_by` | string | `latest_count` | 排序字段:`latest_count`(订阅数)、`daily_change`(日增长)、`monthly_change`(月增长) |
| `limit` | int | `50` | 每页数量,最大 500 |
| `offset` | int | `0` | 偏移量 |
**示例:**
```bash
# 订阅数 Top 10
curl "https://api.xyzrank.top/v1/stats?sort_by=latest_count&limit=10"
# 日增长 Top 20
curl "https://api.xyzrank.top/v1/stats?sort_by=daily_change&limit=20"
# 月增长 Top 50,第二页
curl "https://api.xyzrank.top/v1/stats?sort_by=monthly_change&limit=50&offset=50"
```
**响应:**
```json
{
"total": 9458,
"limit": 10,
"offset": 0,
"data": [
{
"podcast_id": "5e280fa7418a84a0461f912b",
"title": "故事FM",
"url": "https://www.xiaoyuzhoufm.com/podcast/5e280fa7418a84a0461f912b",
"latest_count": 2061343,
"daily_change": 150,
"monthly_change": 12300,
"updated_at": "2026-04-06 02:30:15"
}
]
}
```
---
#### GET /v1/metrics/{podcast_id}
获取单个播客的历史订阅数据,返回最近 365 天的每日记录,按日期降序。
`podcast_id` 从 `/v1/stats` 或 `/v1/podcast` 接口获取。
**示例:**
```bash
curl https://api.xyzrank.top/v1/metrics/5e280fa7418a84a0461f912b
```
**响应:**
```json
{
"podcast_id": "5e280fa7418a84a0461f912b",
"count": 30,
"data": [
{"crawl_date": "2026-04-06", "subscriber_count": 2061343, "status_code": 200},
{"crawl_date": "2026-04-05", "subscriber_count": 2061193, "status_code": 200},
{"crawl_date": "2026-04-04", "subscriber_count": 2061000, "status_code": 200}
]
}
```
`status_code` 为 200 表示该日抓取成功,0 表示失败。
---
#### GET /v1/podcast/{name}
按名称搜索播客。先精确匹配,无结果再模糊搜索(最多 20 条)。
名称需要 URL 编码。
**示例:**
```bash
# 精确匹配
curl "https://api.xyzrank.top/v1/podcast/%E6%95%85%E4%BA%8BFM"
# 模糊搜索
curl "https://api.xyzrank.top/v1/podcast/%E6%95%85%E4%BA%8B"
```
**精确匹配响应:**
```json
{
"match": "exact",
"podcast": {
"id": "5e280fa7418a84a0461f912b",
"url": "https://www.xiaoyuzhoufm.com/podcast/5e280fa7418a84a0461f912b",
"title": "故事FM"
}
}
```
**模糊匹配响应:**
```json
{
"match": "partial",
"count": 5,
"data": [
{"id": "5e280fa7418a84a0461f912b", "url": "...", "title": "故事FM"},
{"id": "5e4b5a3bb53ccd41c8b4a123", "url": "...", "title": "故事会"}
]
}
```
---
### 数据说明
- **覆盖范围:** 约 9500 个小宇宙播客
- **更新频率:** 每天凌晨 2:00(北京时间)全量爬取,约 31 小时完成
- **历史数据:** 2024 年 9 月起的月度快照 + 2026 年 4 月起的每日数据
- **数据来源:** 直接爬取小宇宙播客页面,订阅数为页面显示数值