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())