נקודות קצה של מגמות ורשימות

נקודות הקצה של המגמות והרשימות מחזירות עמודים מדורגים של סרטים, סדרות או אנשים. השתמשו ב-GET /3/trending/{media_type}/{time_window} לטבלאות יומיות ושבועיות, ובנתיבי הרשימות של סרטים וסדרות לכותרים פופולריים, מדורגים, מוקרנים עכשיו, צפויים, משודרים היום ומשודרים כעת. כל עמוד מכיל 20 תוצאות ונשמר במטמון 30 דקות.

עודכן צפייה כ-Markdown

קבלת כותרים במגמה

GET /3/trending/{media_type}/{time_window} מחזיר עמוד מדורג של מה שאנשים צופים בו או מחפשים עכשיו. הערך media_type הוא all, movie, tv או person. הערך time_window הוא day או week. טבלאות יומיות זזות מהר ומתאימות לרצועת הערב. טבלאות שבועיות יציבות יותר ומתאימות לעמוד הבית.

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

bashjspyphpgo
curl -s "https://api.amodb.dev/3/trending/movie/week?language=en-US&page=1" \
  -H "Authorization: Bearer $AMODB_KEY"
const url = 'https://api.amodb.dev/3/trending/movie/week?language=en-US&page=1';
const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` } });
if (!res.ok) throw new Error(`amodb returned ${res.status}`);
const chart = await res.json();
for (const [i, m] of chart.results.slice(0, 10).entries()) {
  console.log(i + 1, m.title, m.release_date);
}
import os
import requests

r = requests.get(
    "https://api.amodb.dev/3/trending/movie/week",
    params={"language": "en-US", "page": 1},
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
r.raise_for_status()
for i, m in enumerate(r.json()["results"][:10], start=1):
    print(i, m["title"], m.get("release_date"))
<?php
$url = 'https://api.amodb.dev/3/trending/movie/week?language=en-US&page=1';
$ch = curl_init($url);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('AMODB_KEY')],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status !== 200) {
    throw new RuntimeException("amodb returned $status");
}
$chart = json_decode($body, true);
foreach (array_slice($chart['results'], 0, 10) as $i => $m) {
    echo ($i + 1), ' ', $m['title'], ' ', $m['release_date'] ?? '', PHP_EOL;
}
package main

import (
	"encoding/json"
	"fmt"
	"net/http"
	"os"
	"time"
)

type Chart struct {
	Results []struct {
		Title       string `json:"title"`
		ReleaseDate string `json:"release_date"`
	} `json:"results"`
}

func main() {
	url := "https://api.amodb.dev/3/trending/movie/week?language=en-US&page=1"
	req, _ := http.NewRequest("GET", url, nil)
	req.Header.Set("Authorization", "Bearer "+os.Getenv("AMODB_KEY"))
	client := &http.Client{Timeout: 10 * time.Second}
	res, err := client.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	if res.StatusCode != http.StatusOK {
		panic(res.Status)
	}
	var chart Chart
	if err := json.NewDecoder(res.Body).Decode(&chart); err != nil {
		panic(err)
	}
	for i, m := range chart.Results {
		if i == 10 {
			break
		}
		fmt.Println(i+1, m.Title, m.ReleaseDate)
	}
}

פרמטרים

  • media_typeנתיבחובה
    all, movie, tv או person.
  • time_windowנתיבחובה
    day או week.
  • api_keyשאילתהאחד משניים
    המפתח שלכם. השתמשו בו או בכותרת Authorization: Bearer.
  • languageשאילתה
    תגית TMDB כמו en-US או ru-RU. מוגשות 14 שפות בסיס, וכל שפה אחרת חוזרת לאנגלית.
  • pageשאילתה
    מספר עמוד מ-1 עד 500. כל עמוד מכיל 20 תוצאות.

שדות התגובה

שדהסוגהערות
pageintegerהעמוד שביקשתם.
resultsarrayאובייקטים של סרטים, סדרות או אנשים, הדירוג הגבוה ביותר ראשון.
total_pages, total_resultsintegerסיכומי עימוד. טבלאות מגמות מדווחות על 500 עמודים ו-10000 תוצאות לכל היותר.
media_typestringmovie, tv או person בכל פריט מגמה. קראו אותו כשמבקשים all.
idintegerהשתמשו בו עם סרטים, סדרות טלוויזיה או אנשים.
title, original_titlestringפריטי סרטים. פריטי סדרות משתמשים ב-name וב-original_name.
release_date, first_air_datestringYYYY-MM-DD בפריטי סרטים וסדרות.
genre_idsarrayמזהים מספריים. השמות מגיעים מז'אנרים.
popularity, vote_average, vote_countnumberנתוני הדירוג והציון המצטבר של המשתמשים.
poster_path, backdrop_path, profile_pathstring או nullמצרפים ל-https://img.amodb.dev/t/p/{size}.
name, original_name, gender, known_for_departmentstring או integerפריטי אנשים. known_for הוא מערך ריק בפריטי אנשים במגמה.

תגובה לדוגמה

JSON
{
  "page": 1,
  "results": [
    {
      "adult": false,
      "backdrop_path": "/7ULXMNvmZSi13zN3EZjz8wbER9B.jpg",
      "genre_ids": [28, 53],
      "id": 1561726,
      "original_language": "en",
      "original_title": "Masterplan",
      "overview": "When a legendary thief sets his sights on the Mona Lisa, he recruits two young strangers to help him before...",
      "popularity": 189.8286,
      "poster_path": "/3x3AfF0qVwSUDDciTaNKcPHZUN8.jpg",
      "release_date": "2026-10-16",
      "title": "Masterplan",
      "video": false,
      "vote_average": 7.279,
      "vote_count": 61,
      "media_type": "movie"
    },
    {
      "adult": false,
      "backdrop_path": "/mBZKC8ActTlM4W3HEGI1Cl1RtO3.jpg",
      "genre_ids": [878, 9648, 28],
      "id": 1058424,
      "original_language": "ko",
      "original_title": "호프",
      "overview": "In the remote South Korean village of Hope Harbor, police chief Bum-seok and officer Sung-ae are called to...",
      "popularity": 294.6518,
      "poster_path": "/bcK5naYzzfY0JBCgrPrsrbV6NO1.jpg",
      "release_date": "2026-07-15",
      "title": "Hope",
      "video": false,
      "vote_average": 6.917,
      "vote_count": 246,
      "media_type": "movie"
    },
    {
      "adult": false,
      "backdrop_path": "/5YfPIIMzGBkIjHt3PTXBWyfBTGS.jpg",
      "genre_ids": [28, 14],
      "id": 1153576,
      "original_language": "en",
      "original_title": "Street Fighter",
      "overview": "In 1993, estranged Street Fighters Ryu and Ken Masters are thrown back into combat when the mysterious Chun...",
      "popularity": 209.3923,
      "poster_path": "/utKzCSCz2HtXwcDGfWLj2IHhSob.jpg",
      "release_date": "2026-10-13",
      "title": "Street Fighter",
      "video": false,
      "vote_average": 6.316,
      "vote_count": 76,
      "media_type": "movie"
    }
  ],
  "total_pages": 500,
  "total_results": 10000
}

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

רשימות סרטים

טבלאות הסרטים חולקות מבנה אחד: מערך results מחולק לעמודים של אובייקטי סרטים. הרשימות now_playing ו-upcoming מוסיפות אובייקט dates עם minimum ו-maximum, חלון היציאה שהרשימה מכסה. כל ארבע הרשימות מקבלות language, page ו-region.

שיטה ונתיבמה מוחזר
GET /movie/now_playingסרטים שיצאו בתוך חלון dates סביב היום, ובנוסף dates
GET /movie/popularסרטים מדורגים לפי הפופולריות הנוכחית
GET /movie/top_ratedסרטים מדורגים לפי ציון המשתמשים
GET /movie/upcomingסרטים עם תאריך יציאה בעתיד, ובנוסף dates
GET /movie/latestאובייקט סרט אחד: הפריט החדש ביותר בקטלוג. זו לא רשימה

אובייקט dates אמיתי נראה כך:

JSON
{ "dates": { "maximum": "2026-10-21", "minimum": "2026-09-09" } }

הערך region הוא קוד ISO 3166-1 באותיות גדולות, כמו DE או GB. ב-now_playing וב-upcoming הוא משאיר רק כותרים שיצאו באותה מדינה, ולכן הרשימה היא חלק קטן מהרשימה העולמית. קוד לא מוכר מחזיר רשימה ריקה. ב-popular וב-top_rated הוא רק מחליף את release_date בתאריך המקומי ואינו משנה את הדירוג. כדי לראות איפה סרט מוקרן, שלבו את now_playing עם זמני הקרנות.

רשימות סדרות

טבלאות הסדרות מחזירות את אותם שדות עימוד. הפריטים משתמשים ב-name, ב-original_name, ב-first_air_date וב-origin_country במקום שמות השדות של סרטים. כל ארבע הרשימות מקבלות language ו-page.

שיטה ונתיבמה מוחזרפרמטרים נוספים
GET /tv/airing_todayסדרות עם פרק שמשודר היוםtimezone
GET /tv/on_the_airסדרות עם פרק שמשודר בימים הקרוביםtimezone
GET /tv/popularסדרות מדורגות לפי הפופולריות הנוכחיתאין
GET /tv/top_ratedסדרות מדורגות לפי ציון המשתמשיםאין
GET /tv/latestאובייקט סדרה אחד: הפריט החדש ביותר בקטלוג. זו לא רשימהאין

הערך timezone הוא שם IANA כמו Europe/Rome. הוא קובע איזה יום לוח נחשב להיום, ולכן airing_today מחזיר קבוצה שונה עבור Asia/Tokyo מאשר עבור Pacific/Auckland. לרשימות הסדרות אין פרמטר region.

רשימות אנשים

GET /person/popular מחזיר רשימה מחולקת לעמודים של אנשים מדורגים לפי פופולריות, עם language ו-page. בכל פריט יש id, name, original_name, known_for_department, gender, profile_path, popularity ומערך known_for של עד 3 כרטיסי סרטים או סדרות, כל אחד עם media_type. פתחו אדם בעמוד אנשים.

JSON
{
  "page": 1,
  "results": [
    {
      "adult": false,
      "gender": 1,
      "id": 1247604,
      "known_for_department": "Acting",
      "name": "Agnez Mo",
      "original_name": "Agnez Mo",
      "popularity": 45.8988,
      "profile_path": "/7GuBJxf5szQRCKLk3iG2ztfCo39.jpg",
      "known_for": [
        {
          "adult": false,
          "backdrop_path": "/pF0qkRsrHkdYadPWY9AMeFZfcwk.jpg",
          "first_air_date": "2022-02-03",
          "genre_ids": [10759],
          "id": 108978,
          "name": "Reacher",
          "origin_country": ["US"],
          "original_language": "en",
          "original_name": "Reacher",
          "overview": "Jack Reacher, a veteran military police investigator, has just recently enter...",
          "popularity": 411.841,
          "poster_path": "/f1VCQIG2iCyOookdgOzwtUpwWC0.jpg",
          "vote_average": 8.1,
          "vote_count": 3508,
          "media_type": "tv"
        }
      ]
    }
  ],
  "total_pages": 1001,
  "total_results": 20001
}

amodb לא מציע את person/latest ואת פידי changes.

בחירת הרשימה הנכונה למסך

מסךקריאהרענון
שורת הגיבור בעמוד הבית/trending/all/weekלכל היותר כל 30 דקות
לשונית בקולנוע עכשיו/movie/now_playing עם ה-region שלכםלכל היותר כל 30 דקות
לשונית בקרוב/movie/upcoming עם ה-region שלכםלכל היותר כל 30 דקות
רצועת הערב בטלוויזיה/tv/airing_today עם timezoneלכל היותר כל 30 דקות
מועדפים של כל הזמנים/movie/top_ratedפעם ביום מספיקה
אנשים שמחפשים עכשיו/trending/person/dayלכל היותר כל 30 דקות
האנשים הפופולריים ביותר בסך הכול/person/popularלכל היותר כל 30 דקות

שגיאות

HTTPstatus_codeמתי
4017המפתח חסר או שגוי.
40236תקופת המסלול הסתיימה.
40434הנתיב לא קיים, למשל שם רשימה עם שגיאת כתיב, או media_type או time_window שאינם ברשימות שלמעלה.
40537השתמשתם בשיטת כתיבה בנתיב רשימה.
42925עברתם את הבקשות שלכם לדקה. המתינו Retry-After שניות.
50011page מעל 500.

הטבלה המלאה בעמוד שגיאות. המגבלות לכל מסלול בעמוד מגבלות קצב.

הערות מעשיות

  • הקצה שומר רשימות מגמות, פופולריים, מוקרנים עכשיו ומשודרים כעת במטמון 30 דקות, וכל המפתחות חולקים את אותו פריט. משימת רענון שרצה כל 30 דקות מספיקה.
  • העמודים נעים בין 1 ל-500. רשימות פופולריים מדווחות על total_results של 20001, וזה תקרה ולא ספירה אמיתית. אחרי עמוד 500 השתמשו בAPI גילוי עם sort_by ומסננים, שמגיע לכותרים שטבלה לעולם לא מציגה.
  • פריטי רשימה מחזיקים רק את השדות הדרושים לכרטיס. לקבלת משך, imdb_id או קרדיטים קראו לפרטי סרט עם append_to_response, פעם אחת לכל כרטיס שהמשתמש פותח.
  • הפרמטר language שולט בשפת הכותרות והתקצירים. כותרים בלי תרגום חוזרים בטקסט המקורי, ולכן בדקו מחרוזות ריקות לפני שמציירים כרטיס.
  • שמרו את ה-id מהרשימה, לא את המיקום. הדירוגים משתנים בכל רענון.