API
O catálogo lista todos os registros, os mais populares primeiro: em um arquivo por tipo para downloads em massa e em páginas de 250 para navegação. Ele é reconstruído diariamente em uma nova pasta, então os arquivos de um build nunca mudam; só o manifesto muda.
Arquivos
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
Como ler
- Leia
v1/catalog/manifest.jsonpara obter o id do build atual, o tamanho da página e a quantidade de registros e de páginas de cada tipo. - Baixe
v1/catalog/{build}/{type}/all.jsonpara obter todos os registros de um tipo, ouv1/catalog/{build}/{type}/{n}.jsonpara a página n (a partir de 1).
Os arquivos completos são grandes: cerca de 7 MB cada para séries e filmes e 30 MB para pessoas, um terço disso ou menos quando compactados.
Entradas
Cada entrada é um array:
| Posição | Tipo | Descrição |
|---|---|---|
| 0 | number | Id do registro. |
| 1 | string | Slug do registro. |
| 2 | string | Nome em inglês, ou outro nome quando não há um em inglês. |
| 3 | number | null | Ano, para títulos. |
| 4 | number | Pontuação de popularidade do TheTVDB. A lista é ordenada por ela. |
| 5 | string | null | Caminho da miniatura. |
Exemplo
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())