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