נקודות קצה של מגמות ורשימות
נקודות הקצה של המגמות והרשימות מחזירות עמודים מדורגים של סרטים, סדרות או אנשים. השתמשו ב-GET /3/trending/{media_type}/{time_window} לטבלאות יומיות ושבועיות, ובנתיבי הרשימות של סרטים וסדרות לכותרים פופולריים, מדורגים, מוקרנים עכשיו, צפויים, משודרים היום ומשודרים כעת. כל עמוד מכיל 20 תוצאות ונשמר במטמון 30 דקות.
קבלת כותרים במגמה
GET / מחזיר עמוד מדורג של מה שאנשים צופים בו או מחפשים עכשיו. הערך media_type הוא all, movie, tv או person. הערך time_window הוא day או week. טבלאות יומיות זזות מהר ומתאימות לרצועת הערב. טבלאות שבועיות יציבות יותר ומתאימות לעמוד הבית.
הדוגמה מבקשת את טבלת הסרטים השבועית ומדפיסה את עשרת הכותרים הראשונים.
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 תוצאות.
שדות התגובה
| שדה | סוג | הערות |
|---|---|---|
page | integer | העמוד שביקשתם. |
results | array | אובייקטים של סרטים, סדרות או אנשים, הדירוג הגבוה ביותר ראשון. |
total_pages, total_results | integer | סיכומי עימוד. טבלאות מגמות מדווחות על 500 עמודים ו-10000 תוצאות לכל היותר. |
media_type | string | movie, tv או person בכל פריט מגמה. קראו אותו כשמבקשים all. |
id | integer | השתמשו בו עם סרטים, סדרות טלוויזיה או אנשים. |
title, original_title | string | פריטי סרטים. פריטי סדרות משתמשים ב-name וב-original_name. |
release_date, first_air_date | string | YYYY-MM-DD בפריטי סרטים וסדרות. |
genre_ids | array | מזהים מספריים. השמות מגיעים מז'אנרים. |
popularity, vote_average, vote_count | number | נתוני הדירוג והציון המצטבר של המשתמשים. |
poster_path, backdrop_path, profile_path | string או null | מצרפים ל-https:/. |
name, original_name, gender, known_for_department | string או integer | פריטי אנשים. known_for הוא מערך ריק בפריטי אנשים במגמה. |
תגובה לדוגמה
{
"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 אמיתי נראה כך:
{ "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. פתחו אדם בעמוד אנשים.
{
"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 דקות |
שגיאות
| HTTP | status_code | מתי |
|---|---|---|
| 401 | 7 | המפתח חסר או שגוי. |
| 402 | 36 | תקופת המסלול הסתיימה. |
| 404 | 34 | הנתיב לא קיים, למשל שם רשימה עם שגיאת כתיב, או media_type או time_window שאינם ברשימות שלמעלה. |
| 405 | 37 | השתמשתם בשיטת כתיבה בנתיב רשימה. |
| 429 | 25 | עברתם את הבקשות שלכם לדקה. המתינו Retry-After שניות. |
| 500 | 11 | page מעל 500. |
הטבלה המלאה בעמוד שגיאות. המגבלות לכל מסלול בעמוד מגבלות קצב.
הערות מעשיות
- הקצה שומר רשימות מגמות, פופולריים, מוקרנים עכשיו ומשודרים כעת במטמון 30 דקות, וכל המפתחות חולקים את אותו פריט. משימת רענון שרצה כל 30 דקות מספיקה.
- העמודים נעים בין 1 ל-500. רשימות פופולריים מדווחות על
total_resultsשל 20001, וזה תקרה ולא ספירה אמיתית. אחרי עמוד 500 השתמשו בAPI גילוי עםsort_byומסננים, שמגיע לכותרים שטבלה לעולם לא מציגה. - פריטי רשימה מחזיקים רק את השדות הדרושים לכרטיס. לקבלת משך, imdb_id או קרדיטים קראו לפרטי סרט עם
append_to_response, פעם אחת לכל כרטיס שהמשתמש פותח. - הפרמטר
languageשולט בשפת הכותרות והתקצירים. כותרים בלי תרגום חוזרים בטקסט המקורי, ולכן בדקו מחרוזות ריקות לפני שמציירים כרטיס. - שמרו את ה-
idמהרשימה, לא את המיקום. הדירוגים משתנים בכל רענון.