Watch It? Track It.

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.json
  • https://api.watchittrackit.com/v1/catalog/{build}/{type}/all.json
  • https://api.watchittrackit.com/v1/catalog/{build}/{type}/{n}.json

Odczytywanie

  1. Odczytaj v1/catalog/manifest.json, aby poznać id bieżącej kompilacji, rozmiar strony oraz liczbę rekordów i stron dla każdego typu.
  2. Pobierz v1/catalog/{build}/{type}/all.json, aby uzyskać wszystkie rekordy danego typu, lub v1/catalog/{build}/{type}/{n}.json dla 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ą:

PozycjaTypOpis
0numberId rekordu.
1stringSlug rekordu.
2stringNazwa angielska lub inna nazwa, jeśli nie ma angielskiej.
3number | nullRok, w przypadku tytułów.
4numberWynik popularności z TheTVDB. Lista jest według niego posortowana.
5string | 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())