# חלופה ל-OMDb API

> OMDb הוא API קטן שמחזיר רשומה אחת, עם מפתח חינמי ומכסה יומית של 1,000 (ראו באתר שלהם). amodb עונה ל-i, t, s, type, y, plot ו-page בנתיב /omdb/ עם אותם שדות בגוף התגובה, מגביל לפי דקה ומוסיף נקודות קצה של TMDB v3 על מפתח אחד. JSON בלבד, בלי XML, בלי פרקים.

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

בחרו ב-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` ולפי שנה                                                                   |
| `plot`          | `short` או `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](https://amodb.dev/he/omdb-endpoint/).

## תגובה לדוגמה

בקשה עם `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`. כל קריאה נספרת כבקשה אחת במגבלת הדקה שלכם, בלי קשר לכמה שדות אתם קוראים.

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

| תכונה       | OMDb                                             | amodb                                                         |
| ----------- | ------------------------------------------------ | ------------------------------------------------------------- |
| מודל תמחור  | מפתח חינמי ומסלול תומכים בתשלום, ראו באתר שלהם   | תקופות בתשלום מראש, 1 עד 24 חודשים                            |
| מסלול חינמי | מפתח חינמי עם מכסה יומית של 1,000, ראו באתר שלהם | אין, וגם אין תקופת ניסיון                                     |
| אימות       | פרמטר `apikey`                                   | `apikey` ב-`/omdb/`, `api_key` או Bearer ב-`/3`               |
| פורמט תגובה | JSON או XML                                      | JSON                                                          |
| שפות        | ראו במסמכים שלהם                                 | 14 שפות ממשק בנתיבי `/3`                                      |
| סרטים       | כן                                               | כן                                                            |
| סדרות       | סדרות ופרקים, את השדות ראו במסמכים שלהם          | רשומות סדרה ב-`/omdb/`, עונות ופרקים בנתיבי `/3`              |
| אנשים       | שמות כטקסט בכל רשומה                             | פרופילים, פילמוגרפיה ותמונות בנתיבי `/3`                      |
| תמונות      | קישור לפוסטר בכל רשומה                           | קישור לפוסטר ורשימות תמונות, `img.amodb.dev`                  |
| דירוגים     | השדות `Ratings`, `Metascore` ו-`imdbRating`      | אותם שדות, ובנוסף אובייקט `ratings` בנתיבי `/3`               |
| מגבלת קצב   | מכסה יומית במפתח החינמי, ראו באתר שלהם           | 20, 40 או 120 לדקה לכל מפתח                                   |
| שימוש מסחרי | ראו באתר שלהם                                    | נמכר כ-API בתשלום, ראו [תמחור](https://amodb.dev/he/pricing/) |
| תאימות      | מגדיר את פרוטוקול 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`.

```js
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`:

```bash
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 ראו [אימות](https://amodb.dev/he/authentication/) ואת [המדריך למתחילים](https://amodb.dev/he/quickstart/).

## תמחור

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

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

### האם אצטרך לשכתב את לקוח ה-OMDb שלי?

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

### האם נקודת הקצה OMDb של amodb מחזירה XML?

לא. היא מחזירה JSON בלבד. בקשה עם r=xml מקבלת תגובת 400 עם השגיאה Only r=json is supported, ולכן הסירו את הפרמטר r או קבעו r=json לפני המעבר.

### אפשר לחפש עונות ופרקים בנקודת הקצה OMDb?

לא. הפרמטרים Season ו-Episode מתעלמים מהם, ולכן בקשה עם i ו-Season=1 מחזירה את רשומת הסדרה, ו-type=episode לא מוצא כלום. את הפרקים קראו מ-/3/tv/{id}/season/{n} עם אותו מפתח.

### במה המגבלה שונה מהמפתח החינמי של OMDb?

OMDb מתעד מכסה יומית של 1,000 למפתח החינמי שלו, ולכן את התנאים העדכניים ראו באתר שלהם. amodb מגביל בקשות לדקה לכל מפתח, ל-20, ל-40 או ל-120, לפי המסלול.

### מאיפה נטענות תמונות הפוסטר?

השדה Poster מצביע על img.amodb.dev בגודל w300. החליפו את w300 בגודל אחר כמו w780 באותה כתובת כדי לקבל תמונה גדולה יותר. תמונות לא דורשות מפתח.

### אפשר להשתמש באותו מפתח לקריאות בסגנון TMDB?

כן. מפתח אחד עובד ב-/omdb/ ובנתיבי /3. כך אפשר להביא שחקנים, טריילרים או תרגומים עבור imdbID בלי מנוי שני.

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

- [נקודת קצה תואמת OMDb](https://amodb.dev/he/omdb-endpoint/): נקודת קצה תואמת OMDb API בכתובת api.amodb.dev/omdb/. חפשו לפי i או t, חפשו עם s, קראו את המערך Ratings ושמרו את הלקוח שלכם בהחלפת כתובת הבסיס.
- [חלופה ל-IMDb API](https://amodb.dev/he/imdb-api-alternative/): ל-IMDb אין REST API חינמי לשימוש כללי. חפשו כותרים לפי מזהה IMDb, קראו את דירוג IMDb כשהוא ידוע ושלפו שחקנים, תמונות וטריילרים מ-API בתשלום שמחזיר JSON.
- [חלופה ל-TMDB API](https://amodb.dev/he/tmdb-api-alternative/): מחפשים חלופה ל-TMDB API? בדקו תנאים, מגבלות, שפות ודירוגים, ועברו ל-API בתשלום ששומר את רוב נתיבי הקריאה וה-JSON של TMDB v3. ראו את הפערים לפני המעבר.
- [אימות](https://amodb.dev/he/authentication/): איך שולחים את מפתח amodb: api_key בשאילתה, כותרת Authorization Bearer או apikey בקריאות OMDb. פורמט המפתח, שמירה, החלפה ושגיאות 401 שכדאי להכיר.
- [תמחור](https://amodb.dev/he/pricing/): המסלולים של amodb נבדלים רק בבקשות לדקה: 20, 40 או 120. כל מסלול כולל את כל הנתונים התואמים ל-TMDB v3 ול-OMDb. תשלום מראש, בלי חידוש ובלי ניסיון.

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