איזה API לבחור

TMDB מציע API חינמי לשימוש מתאים לפי התנאים שלו, עם מפתחות API v3 ואסימוני v4. קראו את התנאים האלה לשימוש מסחרי ולייחוס לפני ההשקה. בחרו בחלופה כשאתם רוצים הסכם בתשלום, מגבלה שאפשר לתכנן סביבה, או יותר נתונים בכל תגובה. amodb הוא API עצמאי שמדבר בפרוטוקול TMDB v3 לקריאה, ולכן מעבר פירושו כתובת בסיס חדשה ומפתח חדש. הוא לקריאה בלבד, וכמה נתיבים של TMDB אינם קיימים, כפי שמופיע בהמשך.

הישארו ב-TMDB אם התנאים החינמיים מתאימים לפרויקט שלכם ושום דבר בסעיף הבא לא חל עליכם.

סימנים לכך שאתם צריכים חלופה

חמש בדיקות עוזרות להחליט. הריצו אותן מול התעבורה והחוזה שלכם, לא מול רשימת תכונות.

סימןמה לבדוקהתשובה של amodb
תנאים מסחרייםקראו את התנאים של ה-API שבו אתם משתמשים היום לשימוש מסחרי ולייחוסמסלולים בתשלום, תשלום מראש, בלי חידוש אוטומטי
תעבורת שיאספרו בקשות בדקה העמוסה ביותר שלכםמגבלה קבועה של 20, 40 או 120 בקשות לדקה לכל מפתח
נתונים למסךרשמו את הקריאות הנוספות מאחורי עמוד כותר אחדappend_to_response מקבל גם ratings, moods, soundtracks, wikidata ו-showtimes
שפת ממשקבדקו כל שפה שאתם משיקים14 שפות, כל השאר חוזרות ל-en
עלות יציאהספרו את שורות הקוד ששמות ספקאותם נתיבים ו-JSON בנקודות הקצה שמוגשות, ולכן גם עזיבה היא החלפת כתובת בסיס

פגיעות מטמון נספרות גם הן. בדיקת המפתח ומגבלת הקצב רצות לפני מטמון הקצה, ולכן בקשה חוזרת עדיין צורכת אחת מהבקשות שלכם בדקה. תכננו לפי סך הבקשות, לא לפי החטאות מטמון.

השוואת תכונות

תכונהTMDBamodb
מודל תמחורAPI חינמי לשימוש מתאים לפי התנאים שלותקופות בתשלום מראש של 1, 3, 6, 12 או 24 חודשים
מסלול חינמיכן, לשימוש מתאיםאין, וגם אין תקופת ניסיון
אימותמפתח v3 ב-api_key, או אסימון v4 כ-Bearerapi_key או Bearer, מפתח של 32 תווים הקסדצימליים
פורמט תגובהJSONJSON במבנה של TMDB v3
שפותראו במסמכים שלהם14 שפות ממשק
סרטיםכןכן
סדרותכןכן, עם עונות ופרקים
אנשיםכןכן
תמונותכן, ממארח התמונות שלוimg.amodb.dev, אותם מזהי גודל, בלי מפתח
דירוגיםציון המשתמשים של TMDB, מקורות אחרים ראו במסמכים שלהםציון TMDB ובנוסף IMDb, Kinopoisk, Metacritic ו-Rotten Tomatoes כשהם ידועים
שיטות כתיבהשיטות חשבון, רשימות ודירוגלא קיים, הן מחזירות 405
מגבלת קצבראו במסמכים שלהם20, 40 או 120 לדקה לכל מפתח
שימוש מסחריאת התנאים לשימוש מסחרי ולייחוס ראו אצלםנמכר כ-API בתשלום, ראו תמחור
תאימותמגדיר את פרוטוקול v3רוב נתיבי הקריאה של v3, ובנוסף OMDb

במה amodb שונה

  • מגבלות שאפשר לקרוא. כל תגובה עם מפתח נושאת X-RateLimit-Limit, X-RateLimit-Remaining ו-X-RateLimit-Reset בשניות. תגובת 429 מוסיפה Retry-After. המספרים מוסברים בעמוד מגבלות קצב.
  • בלוקים נוספים בקריאה אחת. דירוגים מחמישה מקורות, מדדי מצב רוח, פסקולים, עובדות מ-Wikidata וזמני הקרנה בקולנוע מגיעים דרך append_to_response, ולכן עמוד כותר אחד יכול להסתפק בבקשה אחת.
  • עוד מקורות של מזהים חיצוניים. /3/find פותר את imdb_id, tvdb_id, wikidata_id ו-kinopoisk_id, וגם את facebook_id, twitter_id ו-instagram_id. ראו חיפוש לפי מזהה חיצוני.
  • OMDb על אותו מפתח. https://api.amodb.dev/omdb/ עונה לקריאות בסגנון OMDb עם הפרמטר apikey, מה שעוזר כששתי מערכות שלכם משתמשות בפרוטוקולים שונים.
  • זמני מטמון ידועים. פרטים וקרדיטים נשארים 6 שעות בקצה, טרנדים וגילוי 30 דקות, חיפוש 10 דקות, הגדרות 24 שעות ותמונות 30 יום.

מתי TMDB מתאים יותר

  • פרויקטים חינמיים. אם השימוש שלכם עומד בתנאים החינמיים, TMDB לא עולה כלום, ו-amodb לא יכול להתחרות בזה.
  • שיטות כתיבה של משתמשים. TMDB מציע שיטות כתיבה לחשבון, להתחברות, לדירוג ולרשימות. amodb עונה להן 405 עם status_code 37, ולכן אפליקציה שמאפשרת למשתמשים להתחבר ולדרג כותרים צריכה להשאיר את TMDB לחלק הזה.
  • פידים של שינויים. TMDB מציג את המזהים שהשתנו. ל-amodb אין פיד כזה, ולכן מרעננים לפי לוח הזמנים שלכם.
  • שפות מעבר ל-14. amodb לא מגיש טקסט ממשק בגרמנית, ביפנית או בקוריאנית וחוזר לאנגלית. כותרות מקוריות עדיין מגיעות ב-original_title וב-original_name. לשפות אחרות ב-TMDB ראו במסמכים שלהם.
  • תנאים שכבר אישרתם. אם הבדיקה המשפטית כבר נעשתה עבור TMDB, מעבר עולה לכם בבדיקה נוספת.

מה amodb לא מציע

בדקו את הקוד שלכם מול הרשימה הזו לפני המעבר. הטבלה המלאה נמצאת בעמוד amodb מול TMDB.

קריאה ב-TMDBהתשובה של amodb
כתיבות של חשבון, התחברות, דירוג ורשימות405, status_code 37
שינויים, קרדיטים מצטברים, שליפת קרדיט או ביקורת, תוכן של קבוצות פרקים404, status_code 34
תרגומי אנשים, תמונות ותרגומים של אוספים, חברות ורשתות404, status_code 34
רשימת ביקורות של סרט או סדרה200, ריקה ברוב הכותרים
תמונות, סרטונים ותרגומים של עונה200, ריקים
מזהים חיצוניים של עונות ופרקים200, כולם null

שתי התנהגויות שקטות. שם של append_to_response ש-amodb לא מכיר, כמו aggregate_credits, מתעלמים ממנו בלי שגיאה. גם הפרמטר include_adult מתעלמים ממנו, כי כותרים ואנשים למבוגרים לא מוגשים לעולם.

מעבר ל-amodb

  1. בחרו מסלול בעמוד תמחור וצרו מפתח בלוח הבקרה של החשבון.
  2. החליפו את כתובת הבסיס ואת המפתח במקום אחד, כמו להלן.
  3. קראו את images.secure_base_url מ-/3/configuration כדי שקישורי התמונות ישתמשו ב-img.amodb.dev.
  4. הסירו קריאות לשיטות כתיבה ולנתיבים שבטבלה למעלה.
  5. טפלו ב-429 בהמתנה של Retry-After שניות.
JavaScript
const config = {
  // before: baseUrl held your current TMDB v3 base URL
  baseUrl: 'https://api.amodb.dev/3',
  apiKey: process.env.AMODB_KEY,
};

const res = await fetch(`${config.baseUrl}/movie/550?language=en-US`, {
  headers: { Authorization: `Bearer ${config.apiKey}` },
});
if (!res.ok) throw new Error(`request failed with status ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.release_date);

הריצו את הבדיקות הקיימות שלכם מול שתי כתובות הבסיס לפני המעבר. מבנה משותף לא מבטיח ערכים זהים, ולכן השוו מדגם מהכותרים שלכם. המדריך המלא נמצא במדריך למתחילים, וטבלת השוואה נמצאת בעמוד amodb מול TMDB.

טיפול בשגיאות עובר כמו שהוא

קריאות שנכשלות מחזירות את גוף התגובה של TMDB {"success": false, "status_code": N, "status_message": "..."}, ולכן קוד שמסתעף לפי status_code לא צריך שכתוב.

HTTPstatus_codeסיבה אופיינית
4017המפתח חסר או הוקלד בטעות
40110המפתח הושעה
40236תקופת התשלום מראש הסתיימה
40434המזהה לא נמצא, או נתיב ש-amodb לא מציע
40537שיטת כתיבה שהקוד שלכם עדיין קורא לה
42925יותר בקשות ממה שהמסלול מאפשר ב-60 שניות

התייחסו ל-402 כאות לחידוש ידני, כי שום דבר לא מתחדש אוטומטית. הרשימה המלאה נמצאת בעמוד שגיאות.

תמחור

amodb הוא בתשלום מראש. בחרו תקופה של 1, 3, 6, 12 או 24 חודשים, שמקנה 0, 10, 20, 30 או 40 אחוז הנחה, ואחד משלושה מסלולים של 20, 40 או 120 בקשות לדקה. כל מסלול מקבל את כל הנתונים ושום דבר לא מתחדש אוטומטית. אין מסלול חינמי ואין תקופת ניסיון. הסכומים הנוכחיים מופיעים בעמוד תמחור.