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за идентификатора на текущото изграждане, размера на страницата и броя записи и страници за всеки тип. - Изтеглете
v1/catalog/{build}/{type}/all.jsonза всички записи от даден тип илиv1/catalog/{build}/{type}/{n}.jsonза страница n (започвайки от 1).
Пълните файлове са големи: около 7 MB всеки за сериали и филми и 30 MB за хора, а в компресиран вид една трета от това или по-малко.
Елементи
Всеки елемент е масив:
| Позиция | Тип | Описание |
|---|---|---|
| 0 | number | Идентификатор на записа. |
| 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())