API למטא-נתונים של סרטים וסדרות

נתוני סרטים וסדרות, תואמים ל-TMDB ול-OMDb

אותם נתיבים ואותו JSON כמו ב-TMDB v3 וב-OMDb. מחליפים את כתובת הבסיס, והקוד נשאר.

BASE_URL
  • https://api.themoviedb.org/3
  • https://api.amodb.dev/3
  • https://www.omdbapi.com/
  • https://api.amodb.dev/omdb/

GEThttps://api.amodb.dev/3/movie/550?language=en-US

200 OKapplication/json1.7 kBתגובה חיה

{  "id": 550,  "imdb_id": "tt0137523",  "title": "Fight Club",  "tagline": "Mischief. Mayhem. Soap.",  "release_date": "1999-10-15",  "runtime": 139,  "status": "Released",  "genres": [{ "id": 18, "name": "Drama" }, { "id": 53, "name": "Thriller" }],  "origin_country": ["US", "DE"],  "original_language": "en",  "budget": 63000000,  "revenue": 101209702,  "vote_average": 8.437,  "vote_count": 33042,  "popularity": 39.0054,  "poster_path": "/jSziioSwPVrOy9Yow3XhWIBDjq1.jpg",  "backdrop_path": "/b9HyPoxwxjxkWEUL5ErZdhApQe2.jpg"}

amodb הוא API בתשלום למטא-דאטה של סרטים וסדרות. הוא שומר על הנתיבים, הפרמטרים וה-JSON של TMDB v3 ושל OMDb, ולכן לקוח קיים עובד אחרי החלפת כתובת הבסיס. מפתח אחד מכסה את שני הסגנונות, 14 שפות ופוסטרים ב-img.amodb.dev. כל מסלול כולל את כל הנתונים, והמסלולים נבדלים רק בבקשות לדקה.

01 · /3/movie/550

מחליפים את כתובת הבסיס, והקוד נשאר

amodb עונה באותם נתיבים כמו TMDB v3. בקשה לסרט 550 מחזירה את אותם שדות JSON שהלקוח שלכם כבר מפענח: id, title, genres, release_date, poster_path ועוד.

  1. קבלו מפתח

    בחרו תוכנית והעתיקו את המפתח מהחשבון שלכם.

    Authorization: Bearer $AMODB_KEY
  2. החליפו את כתובת הבסיס

    כוונו את לקוח TMDB או OMDb אל api.amodb.dev.

    api.themoviedb.orgapi.amodb.dev
  3. עלו לאוויר

    חוזר אותו JSON, כך שהקוד שמפענח אותו ממשיך לעבוד.

    200 OKapplication/json

שלחו את המפתח כ-api_key בשאילתה או בכותרת Authorization: Bearer. שתי הדרכים עובדות בכל נקודת קצה.

bashjspy
curl "https://api.amodb.dev/3/movie/550?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
const res = await fetch("https://api.amodb.dev/3/movie/550?language=en-US", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
const movie = await res.json();
console.log(movie.title, movie.release_date);
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/movie/550",
    params={"language": "en-US"},
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
movie = res.json()
print(movie["title"], movie["release_date"])
JSON
{
  "id": 550,
  "imdb_id": "tt0137523",
  "title": "Fight Club",
  "release_date": "1999-10-15",
  "runtime": 139,
  "genres": [{ "id": 18, "name": "Drama" }],
  "vote_average": 8.4,
  "poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}

02 · /omdb/?i=tt0137523

מפתח אחד לקריאות בסגנון OMDb

נקודת הקצה התואמת ל-OMDb נמצאת בכתובת https://api.amodb.dev/omdb/. היא מקבלת i, t, s, type, y, plot ו-page, ומחזירה Title, Year, imdbRating, Ratings ואת שאר שדות OMDb.

השדה Poster מצביע אל img.amodb.dev, ולכן הפוסטרים נטענים מאותו שירות. השגיאות שומרות על המבנה של OMDb: {"Response":"False","Error":"..."}.

bashjspy
curl "https://api.amodb.dev/omdb/?i=tt0137523&plot=short&apikey=$AMODB_KEY"
const url = new URL("https://api.amodb.dev/omdb/");
url.searchParams.set("t", "Fight Club");
url.searchParams.set("y", "1999");
url.searchParams.set("apikey", process.env.AMODB_KEY);

const film = await (await fetch(url)).json();
console.log(film.Title, film.imdbRating);
import os
import requests

film = requests.get(
    "https://api.amodb.dev/omdb/",
    params={"i": "tt0137523", "apikey": os.environ["AMODB_KEY"]},
    timeout=10,
).json()
print(film["Title"], film["imdbRating"])
JSON
{
  "Title": "Fight Club",
  "Year": "1999",
  "Runtime": "139 min",
  "Director": "David Fincher",
  "imdbRating": "8.8",
  "imdbID": "tt0137523",
  "Poster": "https://img.amodb.dev/t/p/w300/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg",
  "Response": "True"
}

03 · append_to_response

נתונים ש-TMDB v3 לא מחזיר

כל מפתח יכול לקרוא להרחבות של amodb באותה כתובת בסיס. מוסיפים אותן עם append_to_response או קוראים להן בנפרד.

  • מדדי מצב רוח

    פחד, הומור, עצב, אלימות ועוד, כל אחד בסולם של 0 עד 10, בקריאה נוספת אחת.

    GET /3/tv/1396/moods
  • דירוגים בקריאה אחת

    ציוני IMDb ו-TMDB ועוד שלושה מקורות, עם מספר הקולות, מנקודת קצה אחת.

    GET /3/movie/550/ratings
  • מגבלת קצב שאפשר לראות

    כל תגובה מראה כמה בקשות נשארו בדקה הזו.

  • כל גדלי התמונות של TMDB

    מתמונות ממוזערות בגודל w92 ועד הקבצים המקוריים ב-img.amodb.dev. בלי מפתח.

    img.amodb.dev/t/p/w500/…
  • חיפוש לפי כל מזהה חיצוני

    שלחו מזהה IMDb או מזהה חיצוני אחר וקבלו בחזרה את הרשומה של TMDB.

    GET /3/find/tt0137523
  • זמני הקרנה בקולנוע

    זמני הקרנה לפי מדינה לכותרים שמוקרנים בקולנוע, כשהם ידועים.

    GET /3/movie/550/showtimes?country=US
  • פסקולים

    השירים ששימשו בסרט או בסדרה, באותה כתובת בסיס.

    GET /3/movie/157336/soundtracks

04 · ?language=uk-UA

כותרים ותקצירים ב-14 שפות

העבירו ב-language תגית בסגנון TMDB, כמו ru-RU או pt-BR. amodb מגיש 14 שפות בסיס וחוזר לאנגלית בכל תגית אחרת, ולכן בקשה אף פעם לא נכשלת בגלל שפה.

שפה

Spirited Away

Унесённые призраками

Віднесені привидами

Скрадзеныя прывідамі

千与千寻

A Viagem de Chihiro

Отнесени от духове

המסע המופלא

Cesta do fantazie

Călătoria lui Chihiro

Le Voyage de Chihiro

Spirited Away: W krainie Bogów

La città incantata

El viaje de Chihiro

  • en English Spirited Away
  • ru Русский Унесённые призраками
  • uk Українська Віднесені привидами
  • be Беларуская Скрадзеныя прывідамі
  • zh 中文 千与千寻
  • pt Português A Viagem de Chihiro
  • bg Български Отнесени от духове
  • he עברית המסע המופלא
  • cs Čeština Cesta do fantazie
  • ro Română Călătoria lui Chihiro
  • fr Français Le Voyage de Chihiro
  • pl Polski Spirited Away: W krainie Bogów
  • it Italiano La città incantata
  • es Español El viaje de Chihiro

05 · /plans

המסלולים נבדלים רק בבקשות לדקה

כל מסלול כולל את כל נקודות הקצה, את כל 14 השפות, את התמונות ואת ההרחבות. משלמים פעם אחת עבור 1, 3, 6, 12 או 24 חודשים, ותקופה ארוכה יותר עולה פחות לחודש. אין מסלול חינמי ואין חידוש אוטומטי.

  • Lite

    20 בקשות לדקה

    החל מ-‏3.11 ‏$ לחודש

    קבלת Lite
  • Pro+

    120 בקשות לדקה

    החל מ-‏4.31 ‏$ לחודש

    קבלת Pro+
תמחור

06 · X-RateLimit-Remaining

בנוי לתעבורת ייצור

  • מטמון קצה משותף

    רשימות פופולריות נשמרות במטמון ל-30 דקות, פרטים ל-6 שעות ו-configuration ל-24 שעות.

  • מגבלות קצב ברורות

    כל תגובה נושאת את X-RateLimit-Limit, את X-RateLimit-Remaining ואת X-RateLimit-Reset. תגובת 429 מוסיפה Retry-After.

  • שגיאות בסגנון TMDB

    שגיאות מחזירות success, status_code ו-status_message, ולכן הטיפול הקיים בשגיאות ממשיך לעבוד.

  • תמונות בלי מפתח

    פוסטרים ותמונות רקע נטענים מ-img.amodb.dev/t/p/{size}/{file} בכל הגדלים של TMDB ונשמרים במטמון ל-30 ימים.

שאלות ותשובות

האם צריך לשנות את קוד הלקוח שלי של TMDB?

לא. כוונו את כתובת הבסיס אל https://api.amodb.dev/3 ושלחו את מפתח amodb כ-api_key או כאסימון Bearer. הנתיבים, פרמטרי השאילתה ושדות ה-JSON נשארים כמו ב-TMDB v3.

האם אותו מפתח עובד בקריאות בסגנון OMDb?

כן. שלחו אותו כ-apikey אל https://api.amodb.dev/omdb/. הפרמטרים i, t, s, type, y, plot ו-page עובדים כמו ב-OMDb, והתגובה משתמשת בשמות השדות של OMDb.

האם יש מסלול חינמי או תקופת ניסיון?

לא. amodb פועל בתשלום מראש בלבד. בוחרים מסלול ותקופה, משלמים פעם אחת, והמפתח פועל עד סוף התקופה. אין חידוש אוטומטי.

במה נבדלים המסלולים?

רק בקצב הבקשות: 20, 40 או 120 בקשות לדקה. כל מסלול כולל את כל נקודות הקצה, את כל 14 השפות, את התמונות ואת ההרחבות של amodb.

אילו שפות נתמכות?

אנגלית, רוסית, אוקראינית, בלארוסית, סינית, פורטוגזית, בולגרית, עברית, צ'כית, רומנית, צרפתית, פולנית, איטלקית וספרדית. העבירו תגית בסגנון TMDB כמו ru-RU; כל שפה אחרת חוזרת לאנגלית.

מתחילים עם מפתח אחד

כל מסלול כולל את כל נקודות הקצה, את כל 14 השפות ואת התמונות. המסלולים נבדלים רק בבקשות לדקה.

$ curl https://api.amodb.dev/3/movie/550 -H "Authorization: Bearer $AMODB_KEY"