API
Katalog zawiera wszystkie rekordy, najpopularniejsze najpierw: w jednym pliku na typ do pobierania hurtowego oraz na stronach po 250 do przeglądania. Jest przebudowywany codziennie w nowym folderze, więc pliki danej kompilacji nigdy się nie zmieniają; zmienia się tylko manifest.
Pliki
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
Odczytywanie
- Odczytaj
v1/catalog/manifest.json, aby poznać id bieżącej kompilacji, rozmiar strony oraz liczbę rekordów i stron dla każdego typu. - Pobierz
v1/catalog/{build}/{type}/all.json, aby uzyskać wszystkie rekordy danego typu, lubv1/catalog/{build}/{type}/{n}.jsondla strony n (numerowanej od 1).
Pełne pliki są duże: około 7 MB każdy dla seriali i filmów oraz 30 MB dla osób, po kompresji jedna trzecia tego lub mniej.
Wpisy
Każdy wpis jest tablicą:
| Pozycja | Typ | Opis |
|---|---|---|
| 0 | number | Id rekordu. |
| 1 | string | Slug rekordu. |
| 2 | string | Nazwa angielska lub inna nazwa, jeśli nie ma angielskiej. |
| 3 | number | null | Rok, w przypadku tytułów. |
| 4 | number | Wynik popularności z TheTVDB. Lista jest według niego posortowana. |
| 5 | string | null | Ścieżka miniatury. |
Przykład
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())