API
目录列出所有记录,按热度排序:每种类型一个文件,便于批量下载;另按每页 250 条分页,便于浏览。目录每天在新文件夹中重新构建,因此某次构建的文件永远不会改变,只有清单会变。
文件
https://api.watchittrackit.com/v1/catalog/manifest.jsonhttps://api.watchittrackit.com/v1/catalog/{build}/{type}/all.jsonhttps://api.watchittrackit.com/v1/catalog/{build}/{type}/{n}.json
读取方式
- 读取
v1/catalog/manifest.json,获取当前构建 id、每页大小,以及每种类型的记录数和页数。 - 下载
v1/catalog/{build}/{type}/all.json获取某一类型的全部记录,或下载v1/catalog/{build}/{type}/{n}.json获取第 n 页(从 1 开始)。
完整文件较大:剧集和电影各约 7 MB,人物约 30 MB,压缩后只有其三分之一或更小。
条目
每个条目是一个数组:
| 位置 | 类型 | 说明 |
|---|---|---|
| 0 | number | 记录 id。 |
| 1 | string | 记录 slug。 |
| 2 | string | 英文名称;如果没有英文名称,则为其他名称。 |
| 3 | number | null | 年份(仅限作品)。 |
| 4 | number | TheTVDB 热度分数。列表按此排序。 |
| 5 | string | null | 缩略图路径。 |
示例
const BASE = "https://api.watchittrackit.com/v1/catalog"
const manifest = await fetch(`${BASE}/manifest.json`).then((r) => r.json())
// { "build": "20261001-063000", "pageSize": 250,
// "types": { "tv": { "count": 70734, "pages": 283 }, "movie": { … }, "person": { … } } }
// Page 1 of TV shows, most popular first
const page = await fetch(`${BASE}/${manifest.build}/tv/1.json`).then((r) => r.json())
// [[81189, "breaking-bad", "Breaking Bad", 2008, 3287090, "/images/tv/81189/….t.jpg"], …]
// Every movie at once
const movies = await fetch(`${BASE}/${manifest.build}/movie/all.json`).then((r) => r.json())