בחירה לפי צורת הקריאות

בחרו ב-OMDb כשאתם רוצים רשומה קטנה אחת לכל כותר והמפתח החינמי שלו מספיק לנפח שלכם. בחרו ב-amodb כשגדלתם מעבר לזה, או כשאתם רוצים את אותו סגנון בקשות של OMDb לצד קרדיטים, תמונות ותרגומים על מפתח אחד. OMDb מחזיר JSON או XML, משתמש בפרמטר apikey ומציע מפתח חינמי עם מכסה יומית של 1,000 בקשות (ראו באתר שלהם) וכן מסלול תומכים בתשלום. amodb הוא בתשלום בלבד ועונה לפרמטרים העיקריים של OMDb וגם ל-TMDB v3.

מה נשאר אותו דבר

נקודת הקצה של OMDb נמצאת ב-https://api.amodb.dev/omdb/, והסלאש בסוף אופציונלי. קוד הניתוח הקיים שלכם לא אמור להזדקק לעריכות עבור הרכיבים האלה.

רכיב ב-OMDbב-amodb
apikeyאותו פרמטר, עם מפתח amodb שלכם
i ו-tחיפוש לפי מזהה IMDb או לפי כותרת
s ו-pageחיפוש עם 10 תוצאות בעמוד וספירת totalResults, page עד 100
type ו-yסינון לפי movie או series ולפי שנה
plotshort או full
rרק json מתקבל
שדות גוף התגובהבשמות של OMDb, מ-Title עד Response
Ratingsמערך של זוגות Source ו-Value עבור Internet Movie Database, Rotten Tomatoes ו-Metacritic, כשהם קיימים
שגיאות{"Response":"False","Error":"..."} בניסוח של OMDb, בתגובת HTTP 200

מה לא עובר

  • XML. בקשה עם r=xml מחזירה 400 עם {"Response":"False","Error":"Only r=json is supported."}.
  • עונות ופרקים. Season ו-Episode מתעלמים מהם, ו-type=episode לא מוצא כלום. בקשה עם i=tt0903747&Season=1 מחזירה את רשומת הסדרה, לא עונה. לפרקים השתמשו ב-/3/tv/{id}/season/{n}.
  • פרמטרים אחרים. callback מתעלמים ממנו.
  • שדות בלי נתונים. DVD, Production ו-Website הם תמיד "N/A". לרשומות סדרה יש totalSeasons והן משמיטות את DVD, BoxOffice, Production ו-Website.
  • פוסטרים. השדה Poster מצביע על https://img.amodb.dev/t/p/w300/... ולא על מארח אחר. החליפו את w300 ב-w780 כדי לקבל תמונה גדולה יותר מאותו נתיב, ותמונות לא דורשות מפתח.

הרשימה המלאה של הפרמטרים והשגיאות נמצאת בעמוד נקודת הקצה OMDb.

תגובה לדוגמה

בקשה עם t=Fight Club מחזירה אובייקט שטוח. התגובה למטה אמיתית, ורק הטקסט של Plot קוצר.

JSON
{
  "Title": "Fight Club",
  "Year": "1999",
  "Rated": "R",
  "Released": "15 Oct 1999",
  "Runtime": "139 min",
  "Genre": "Crime, Drama, Thriller",
  "Director": "David Fincher",
  "Writer": "Chuck Palahniuk, Jim Uhls",
  "Actors": "Brad Pitt, Edward Norton, Meat Loaf",
  "Plot": "A nameless first-person narrator attends support groups in an attempt to subdue his emotional state an...",
  "Language": "English",
  "Country": "United States, Germany",
  "Awards": "Nominated for 1 Oscar. 12 wins & 38 nominations total",
  "Poster": "https://img.amodb.dev/t/p/w300/qkrH7rjYKU4KOwwIl6wF6H3ISvm.jpg",
  "Ratings": [
    {
      "Source": "Internet Movie Database",
      "Value": "8.8/10"
    },
    {
      "Source": "Rotten Tomatoes",
      "Value": "81%"
    },
    {
      "Source": "Metacritic",
      "Value": "67/100"
    }
  ],
  "Metascore": "67",
  "imdbRating": "8.8",
  "imdbVotes": "2,669,989",
  "imdbID": "tt0137523",
  "Type": "movie",
  "DVD": "N/A",
  "BoxOffice": "$38,003,039",
  "Production": "N/A",
  "Website": "N/A",
  "Response": "True"
}

הערכים הם מחרוזות, כמו ב-OMDb, ולכן נתחו בעצמכם את imdbRating, את imdbVotes ואת Runtime. כל קריאה נספרת כבקשה אחת במגבלת הדקה שלכם, בלי קשר לכמה שדות אתם קוראים.

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

תכונהOMDbamodb
מודל תמחורמפתח חינמי ומסלול תומכים בתשלום, ראו באתר שלהםתקופות בתשלום מראש, 1 עד 24 חודשים
מסלול חינמימפתח חינמי עם מכסה יומית של 1,000, ראו באתר שלהםאין, וגם אין תקופת ניסיון
אימותפרמטר apikeyapikey ב-/omdb/, api_key או Bearer ב-/3
פורמט תגובהJSON או XMLJSON
שפותראו במסמכים שלהם14 שפות ממשק בנתיבי /3
סרטיםכןכן
סדרותסדרות ופרקים, את השדות ראו במסמכים שלהםרשומות סדרה ב-/omdb/, עונות ופרקים בנתיבי /3
אנשיםשמות כטקסט בכל רשומהפרופילים, פילמוגרפיה ותמונות בנתיבי /3
תמונותקישור לפוסטר בכל רשומהקישור לפוסטר ורשימות תמונות, img.amodb.dev
דירוגיםהשדות Ratings, Metascore ו-imdbRatingאותם שדות, ובנוסף אובייקט ratings בנתיבי /3
מגבלת קצבמכסה יומית במפתח החינמי, ראו באתר שלהם20, 40 או 120 לדקה לכל מפתח
שימוש מסחריראו באתר שלהםנמכר כ-API בתשלום, ראו תמחור
תאימותמגדיר את פרוטוקול OMDbפרמטרי OMDb שלמעלה, וקריאות של TMDB v3

במה amodb שונה

  • מגבלות לדקה. המסלולים מאפשרים 20, 40 או 120 בקשות לדקה בחלון נע של 60 שניות. בכל תגובה עם מפתח יש X-RateLimit-Remaining, כך שמשימת אצווה יכולה להאט את עצמה לפני שהיא רואה 429.
  • דרך להתקדם מעבר לרשומות בודדות. ברשומת OMDb רשימת השחקנים היא טקסט. בנתיבי /3 אפשר לבקש את אותו כותר עם קרדיטים, סרטונים ותרגומים בקריאה אחת, וה-imdbID מוצא את הרשומה דרך /3/find.
  • תמונות גדולות יותר. רשומות בסגנון OMDb נותנות קישור פוסטר אחד. שרת התמונות מגיש עשרה מזהי גודל, מ-w92 עד original.
  • עוד מקורות דירוג. ההרחבה /3/movie/{id}/ratings מוסיפה ערכים של Kinopoisk, Metacritic, Rotten Tomatoes ו-TMDB כשהם ידועים.

מתי OMDb מתאים יותר

  • פרויקטים קטנים או חינמיים. מפתח חינמי עם מכסה יומית של 1,000 מספיק לאב טיפוס או לאתר תחביב, ול-amodb אין מסלול חינמי.
  • צרכני XML. אם מערכת ישנה מנתחת XML, OMDb מציע אותו ו-amodb לא.
  • חיפושי עונות ופרקים. לנתיב /omdb/ של amodb אין מצב של עונה או פרק, ולכן לקוח שנבנה עליו צריך להשתמש בנתיבי /3 במקום.
  • פשטות. נקודת קצה אחת ומעט פרמטרים קל ללמוד. אם זה כל מה שאתם צריכים, תרוויחו מעט מהמעבר.

מעבר ל-amodb

רק כתובת הבסיס והמפתח משתנים. השאירו את שאר הבקשה כפי שהיא, אחרי שחיפשתם בקוד את r=xml, Season, Episode ו-type=episode.

JavaScript
const OMDB_BASE = process.env.OMDB_BASE_URL; // before: your current OMDb base URL
const AMODB_BASE = 'https://api.amodb.dev/omdb/'; // after

async function lookup(title) {
  const url = new URL(AMODB_BASE);
  url.searchParams.set('apikey', process.env.AMODB_KEY);
  url.searchParams.set('t', title);
  url.searchParams.set('plot', 'short');
  const res = await fetch(url);
  const data = await res.json();
  if (data.Response === 'False') throw new Error(data.Error);
  return data;
}

const movie = await lookup('Fight Club');
console.log(movie.Title, movie.Year, movie.imdbRating, movie.Poster);

המשיכו לבדוק את השדה Response, כפי שעשיתם עם OMDb. כשהערך הוא המחרוזת "False", השדה Error נושא את ההודעה. לפרקים, מפו את ה-imdbID פעם אחת עם /3/find וקראו עונות מצד ה-/3:

curl
curl -s "https://api.amodb.dev/3/find/tt0903747?external_source=imdb_id&api_key=$AMODB_KEY"
curl -s "https://api.amodb.dev/3/tv/1396/season/1?api_key=$AMODB_KEY"

לצד של סגנון TMDB ראו אימות ואת המדריך למתחילים.

תמחור

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