# API לסדרות טלוויזיה, עונות ופרקים

> ה-API לסדרות טלוויזיה מחזיר סדרה ב-GET /3/tv/{series_id} עם הסטטוס שלה, הרשתות, רשימת העונות ו-next_episode_to_air. נקודות הקצה של עונות ופרקים מוסיפות תאריכי שידור, משכים ותמונות סצנה. ה-JSON זהה ל-TMDB v3, ב-14 שפות, במסלולים בתשלום מראש של 20, 40 או 120 בקשות לדקה.

## API לסדרות טלוויזיה עם סטטוס, עונות והפרק הבא

`GET /3/tv/{series_id}` מחזיר סדרה עם ה-`status` שלה, `networks`, רשימת `seasons`, `last_episode_to_air` ו-`next_episode_to_air`. נקודות הקצה של עונות ופרקים מוסיפות תאריכי שידור, משכים ותמונות סצנה. amodb הוא API עצמאי שמדבר בפרוטוקול TMDB v3, ולכן לקוח שנכתב עבור TMDB עובד אחרי שמחליפים את כתובת הבסיס ל-`https://api.amodb.dev/3`.

מה מקבלים:

- רשומות סדרה עם מספר העונות והפרקים, ותאריכי השידור הראשון והאחרון.
- מחרוזת `status` ודגל `in_production`.
- רשתות עם מזהים, לוגואים ומדינת מקור.
- קריאה אחת לכל עונה, שמחזירה את כל הפרקים של העונה.
- רשימות של סדרות שמשודרות היום או בתוך 7 הימים הקרובים.

## אילו נתונים מקבלים

| מה שצריך         | קריאה                                                                   | שדות מרכזיים                                                                                  |
| ---------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| רשומת סדרה       | `GET /3/tv/{series_id}`                                                 | `name`, `original_name`, `status`, `in_production`, `number_of_seasons`, `number_of_episodes` |
| הפרק הבא והאחרון | אותה קריאה                                                              | `next_episode_to_air`, `last_episode_to_air`                                                  |
| עונה אחת         | `GET /3/tv/{series_id}/season/{season_number}`                          | `episodes`, `air_date`, `poster_path`                                                         |
| פרק אחד          | `GET /3/tv/{series_id}/season/{season_number}/episode/{episode_number}` | `name`, `overview`, `runtime`, `still_path`, `air_date`                                       |
| רשת שידור        | `GET /3/network/{network_id}`                                           | `name`, `headquarters`, `origin_country`                                                      |

רשימות השדות המלאות נמצאות בעמודים [סדרות טלוויזיה](https://amodb.dev/he/tv-series/) ו[עונות ופרקים](https://amodb.dev/he/tv-seasons-episodes/).

## מתחילים בשלושה שלבים

1. פתחו את עמוד [תמחור](https://amodb.dev/he/pricing/) ובחרו את המסלול עם קצב הבקשות שאתם צריכים: 20, 40 או 120 לדקה.
2. צרו מפתח API בלוח הבקרה של החשבון.
3. שלחו `GET /3/tv/{series_id}` עם `Authorization: Bearer YOUR_API_KEY`, או הוסיפו את `api_key` כפרמטר שאילתה.

## בקשה לדוגמה

הסקריפט קורא את Breaking Bad (מזהה סדרה 1396), מדפיס את הסטטוס שלה ואת הפרק הבא, ואז מציג את עונה 1. שמרו אותו כ-`check.mjs` והריצו אותו עם Node 18 ומעלה.

```bash
curl -s "https://api.amodb.dev/3/tv/1396?language=en-US&append_to_response=ratings" \
  -H "Authorization: Bearer $AMODB_KEY"

curl -s "https://api.amodb.dev/3/tv/1396/season/1?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const base = 'https://api.amodb.dev/3';
const headers = { Authorization: `Bearer ${process.env.AMODB_KEY}` };

async function get(path) {
  const res = await fetch(`${base}${path}`, { headers });
  if (!res.ok) throw new Error(`amodb returned ${res.status} for ${path}`);
  return res.json();
}

const show = await get('/tv/1396?language=en-US');
const next = show.next_episode_to_air;
console.log(`${show.name}: ${show.status}, ${show.number_of_seasons} seasons`);
console.log(next
  ? `Next: S${next.season_number}E${next.episode_number} on ${next.air_date}`
  : 'No upcoming episode is scheduled');

const season = await get('/tv/1396/season/1?language=en-US');
for (const ep of season.episodes) {
  console.log(`E${ep.episode_number} ${ep.air_date} ${ep.name}`);
}
```

תגובת סדרה מקוצרת עבור `language=en-US`. נשמרו רק חלק מהשדות, וב-`seasons` מוצגים 2 הפריטים הראשונים מתוך 6. בחלק מהשמות בנתונים האלה אין עקיבה אחרי `language`: שם עונה 0 הוא בסינית וה-`name` בתוך `last_episode_to_air` הוא בעברית.

```json
{
  "first_air_date": "2008-01-20",
  "id": 1396,
  "in_production": false,
  "last_air_date": "2013-09-29",
  "last_episode_to_air": {
    "air_date": "2013-09-29",
    "episode_number": 16,
    "episode_type": "standard",
    "id": 62161,
    "name": "פלינה",
    "overview": "הסדרה זוכת הפרסים מגיעה לסיום דרמתי בפרק החותם אותה.",
    "production_code": "",
    "runtime": 56,
    "season_number": 5,
    "show_id": 1396,
    "still_path": "/pA0YwyhvdDXP3BEGL2grrIhq8aM.jpg",
    "vote_average": 0,
    "vote_count": 0
  },
  "name": "Breaking Bad",
  "next_episode_to_air": null,
  "number_of_episodes": 62,
  "number_of_seasons": 5,
  "original_name": "Breaking Bad",
  "seasons": [
    {
      "air_date": "2009-02-17",
      "episode_count": 9,
      "id": 3577,
      "name": "特别篇",
      "overview": "",
      "poster_path": "/ikBSCmgG5Z4jequUUAjKpf1QG3T.jpg",
      "season_number": 0,
      "vote_average": 0
    },
    {
      "air_date": "2008-01-20",
      "episode_count": 7,
      "id": 3572,
      "name": "Season 1",
      "overview": "High school chemistry teacher Walter White's life is suddenly transformed by a dire medical diagn...",
      "poster_path": "/91EIXdWxmp2mHNRsSuDW3WyDJLj.jpg",
      "season_number": 1,
      "vote_average": 0
    }
  ],
  "status": "Ended"
}
```

## קריאת הסטטוס והפרק הבא

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

| `status`         | משמעות                   | מה להציג                                        |
| ---------------- | ------------------------ | ----------------------------------------------- |
| Returning Series | מצופים עוד פרקים         | תאריך השידור הבא אם האובייקט קיים, אחרת "חוזרת" |
| In Production    | בהפקה, עדיין לא משודרת   | "בהפקה"                                         |
| Planned          | הוכרזה בלבד              | "מתוכננת"                                       |
| Pilot            | קיים רק פיילוט           | "פיילוט"                                        |
| Ended            | הריצה הסתיימה            | "הסתיימה" ו-`last_air_date`                     |
| Canceled         | הופסקה לפני הסוף המתוכנן | "בוטלה"                                         |

השדות בתוך `next_episode_to_air` ו-`last_episode_to_air`: `air_date`, `season_number`, `episode_number`, `episode_type`, `id`, `show_id`, `name`, `overview`, `runtime` ו-`still_path`. מחרוזת `status` יכולה להיות ריקה גם בכמה כותרים, ולכן הכינו תווית ניטרלית.

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

## עונות, פרקים ומה משודר

עונה 0, כשיש כזו לסדרה, מחזיקה פרקים מיוחדים. עונות רגילות מתחילות ב-1.

| קריאה                                          | מה מוחזר                          | פרמטרים                                           |
| ---------------------------------------------- | --------------------------------- | ------------------------------------------------- |
| `GET /3/tv/{series_id}/season/{season_number}` | רשומת עונה עם מערך `episodes`     | `language`, `append_to_response`                  |
| `GET /3/tv/airing_today`                       | סדרות עם פרק שמשודר היום          | `page`, `language`                                |
| `GET /3/tv/on_the_air`                         | סדרות שמשודרות בשבוע הקרוב        | `page`, `language`                                |
| `GET /3/discover/tv`                           | סדרות מסוננות לפי רשת, סטטוס ועוד | `with_networks`, `with_status`, `sort_by`, `page` |

תוצאות רשימות ו-discover נשמרות במטמון 30 דקות, ולכן בקשה אחת לחצי שעה מספיקה לתג "משודר בקרוב". התאימו את המזהים שחוזרים לסדרות שהמשתמשים שלכם עוקבים אחריהן. פרטי עונות ופרקים מכוסים בעמוד [מדריך פרקים](https://amodb.dev/he/episode-guide-api/).

## בניית רשימת מעקב עם ספירה לאחור

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

1. שמרו את ה-`id` של הסדרה כשמשתמש עוקב אחריה.
2. פעם ביום, קראו ל-`/3/tv/{series_id}` לכל מזהה במעקב ושמרו את `status`, `next_episode_to_air` ו-`last_air_date`.
3. כש-`next_episode_to_air` הוא אובייקט, הציגו את `air_date` כתאריך. הוא לא נושא שעה ביום ואזור זמן, ולכן אל תספרו לאחור עד הדקה.
4. כשהוא null וה-`status` הוא Returning Series, הציגו "עונה חדשה עדיין לא מתוכננת".
5. שלפו את קריאת העונה רק כשמשתמש פותח את הסדרה, כי היא התגובה הגדולה ביותר.

404 עם `status_code` 34 אומר שהמזהה לא מוכר, ו-429 אומר שחרגתם מהבקשות לדקה: המתינו `Retry-After` שניות. עם 200 סדרות במעקב, מעבר יומי אחד הוא 200 בקשות, כעשר דקות ב-20 בקשות לדקה. ראו [מגבלות קצב](https://amodb.dev/he/rate-limits/) ו[שגיאות](https://amodb.dev/he/errors/).

## איך זה בהשוואה

| יכולת             | גירוד דפים בעצמכם      | API למטא-נתונים עם מסלול חינמי | amodb                                          |
| ----------------- | ---------------------- | ------------------------------ | ---------------------------------------------- |
| מבנה עונות ופרקים | נבנה מחדש מפריסות דפים | משתנה, ראו במסמכים             | קריאת עונה עם מערך `episodes`                  |
| תאריך השידור הבא  | מנותח מדף לוח שידורים  | משתנה, ראו במסמכים             | `next_episode_to_air`, null כשאין שידור מתוכנן |
| סטטוס הסדרה       | טקסט חופשי בדף         | משתנה, ראו במסמכים             | מחרוזת `status` ודגל `in_production`           |
| משודר השבוע       | גירוד לוח שידורים      | משתנה, ראו במסמכים             | `/3/tv/on_the_air` ו-`/3/tv/airing_today`      |
| שפות              | מה שהדף מציע           | משתנה                          | 14, נבחרות עם `language`                       |
| תנאי גישה         | חלים התנאים של האתר    | מסלול חינמי עם תנאי שימוש      | בתשלום, תשלום מראש, בלי מסלול חינמי            |

## תמחור

משלמים פעם אחת על 1, 3, 6, 12 או 24 חודשים. תקופות ארוכות יותר מקנות 10, 20, 30 או 40 אחוז הנחה, ושום דבר לא מתחדש אוטומטית. כל מסלול מקבל את כל נתוני הטלוויזיה, וההבדל היחיד הוא 20, 40 או 120 בקשות לדקה. ראו [תמחור](https://amodb.dev/he/pricing/), צרו מפתח, והקריאה הראשונה לסדרה עולה בקשה אחת.

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

### איך יודעים אם סדרה עדיין משודרת?

קראו את status ב-/3/tv/{id}. Returning Series אומר שמצופים עוד פרקים, ו-Ended ו-Canceled אומרים שלא. השדה next_episode_to_air מחזיק את הפרק המתוכנן הבא והוא null כשלא מתוכנן דבר.

### אפשר לשלוף כל פרק של סדרה בבקשה אחת?

עונה אחת בכל קריאה. GET /3/tv/{id}/season/{n} מחזיר את כל הפרקים של העונה במערך episodes, ולכן סדרה בת חמש עונות דורשת חמש קריאות עונה ועוד קריאת סדרה אחת.

### מה מקבלים על רשת שידור?

המערך networks בסדרה מציג id, name, logo_path ו-origin_country. GET /3/network/{id} מוסיף פרטים, ו-with_networks ב-/3/discover/tv מציג את הסדרות של רשת אחת.

### אפשר להציג את הסדרות שמשודרות היום?

כן. /3/tv/airing_today מציג סדרות עם פרק שמשודר היום ו-/3/tv/on_the_air מכסה את 7 הימים הבאים. שניהם מדורגים, מקבלים language, ונשמרים במטמון הקצה 30 דקות.

### יש מסלול חינמי ל-API לסדרות טלוויזיה?

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

## עמודים קשורים

- [API סדרות טלוויזיה](https://amodb.dev/he/tv-series/): API סדרות טלוויזיה עם אותם נתיבים ו-JSON כמו TMDB v3. קבלו סדרה לפי מזהה ב-GET /3/tv/{series_id} עם עונות, רשתות והפרק הבא, וגם סיווגי גיל וספקי צפייה.
- [API עונות ופרקים של סדרות](https://amodb.dev/he/tv-seasons-episodes/): API עונות ופרקים של סדרות עם אותם נתיבים ו-JSON כמו TMDB v3. קראו עונה עם כל הפרקים שלה, או פרק אחד עם תאריך שידור, משך ותמונה מהפרק, עם crew ו-guest_stars.
- [API למדריך פרקים](https://amodb.dev/he/episode-guide-api/): API מדריך פרקים עם נקודות הקצה של עונות ופרקים ב-TMDB v3: שמות, תקצירים, תאריכי שידור, משכים, תמונות סצנה ורשימות קבוצות פרקים לכל סדרה, ב-14 שפות.
- [חברות ורשתות שידור](https://amodb.dev/he/companies-networks/): חפשו חברות הפקה ורשתות טלוויזיה עם נתיבי TMDB v3. קראו שם, מדינת מקור ולוגו לפי מזהה, ואז סננו את discover באמצעות with_companies או with_networks.
- [נקודות קצה של מגמות ורשימות](https://amodb.dev/he/trending-lists/): API סרטים פופולריים עם נתיבי TMDB v3: טבלאות יומיות ושבועיות, ורשימות מוקרנים עכשיו, פופולריים, מדורגים וצפויים לסרטים ולסדרות, במטמון 30 דקות.
- [מדריך למתחילים](https://amodb.dev/he/quickstart/): בצעו את הקריאה הראשונה ל-amodb: קבלו מפתח, בקשו פרטי סרט ב-curl, JavaScript, Python, PHP או Go, ואז טענו את הפוסטר מ-img.amodb.dev. פחות מ-2 דקות.

עודכן: 2026-10-18. Source: https://amodb.dev/he/tv-show-api/
