API
يسرد الفهرس كل السجلات، الأكثر شعبية أولًا: في ملف واحد لكل نوع للتنزيل الجماعي، وفي صفحات من 250 سجلًا للتصفح. يُعاد بناؤه يوميًا في مجلد جديد، فلا تتغير ملفات أي بناء أبدًا؛ وحده ملف البيان (manifest) يتغير.
الملفات
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 | المعرّف النصي للسجل. |
| 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())