# חלופה ל-Kinopoisk API

> Kinopoisk הוא אתר סרטים ברוסית ואינו מפרסם API פתוח כללי. מפתחים פונים לעיתים קרובות לשירותי צד שלישי, ולכן ראו במסמכים שלהם. amodb הוא API בתשלום שמחזיר כותרים ברוסית עם language=ru-RU, מוצא כותר לפי מזהה Kinopoisk וכולל את הציון של Kinopoisk כשהוא ידוע.

## מה חלופה יכולה לתת ומה לא

Kinopoisk הוא אתר סרטים ברוסית, והוא לא מפרסם API פתוח כללי. מפתחים משתמשים לעיתים קרובות בשירותי צד שלישי במקום, ולכל אחד תנאים משלו, ולכן ראו במסמכים שלהם. amodb הוא API עצמאי ולא שירות של Kinopoisk. הוא עונה על שלושה צרכים שיש לעיתים קרובות בפרויקטים ברוסית: כותרים ותקצירים ברוסית, חיפוש לפי מזהה Kinopoisk, והציון של Kinopoisk לצד ציונים אחרים כשהוא ידוע.

## אבני בניין

| מה שצריך                     | איך                                            | מה חוזר                                    |
| ---------------------------- | ---------------------------------------------- | ------------------------------------------ |
| כותר ותקציר ברוסית           | `language=ru-RU` בכל קריאת פרטים               | `title` ברוסית, `original_title` ללא שינוי |
| כותר לפי מזהה Kinopoisk      | `GET /3/find/361?external_source=kinopoisk_id` | `movie_results` עם מזהה 550                |
| מזהה Kinopoisk של כותר       | `GET /3/movie/550/external_ids`                | `kinopoisk_id` כמחרוזת, כאן `"361"`        |
| ציון Kinopoisk               | `GET /3/movie/550/ratings`                     | `kinopoisk` עם `value` ו-`votes`, או null  |
| טקסט באוקראינית או בבלארוסית | `language=uk-UA` או `language=be-BY`           | שדות מתורגמים, אנגלית כשאין תרגום          |

הבלוק הבא מציג תגובת פרטים אחת ברוסית עם `append_to_response=ratings`. זו תגובה אמיתית עבור Fight Club (מזהה 550), מצומצמת לשדות שבשימוש כאן ועם תקציר מקוצר.

```json
{
  "id": 550,
  "original_title": "Fight Club",
  "overview": "Сотрудник страховой компании страдает хронической бессонницей и отчаянно пытается вырваться из му...",
  "release_date": "1999-10-15",
  "tagline": "«Интриги. Хаос. Мыло»",
  "title": "Бойцовский клуб",
  "ratings": {
    "imdb": {
      "value": 8.8,
      "votes": 2669989
    },
    "kinopoisk": {
      "value": 8.7,
      "votes": null
    },
    "metacritic": {
      "value": 67,
      "votes": null
    },
    "rotten_tomatoes": {
      "value": 81,
      "votes": null
    },
    "tmdb": {
      "value": 8.437,
      "votes": 33039
    }
  }
}
```

האובייקט ratings מציג תמיד את אותם חמישה מפתחות. כאן הציון של Kinopoisk הוא 8.7 וה-`votes` שלו הוא `null`, כך שאי אפשר להניח שיש מספר הצבעות של Kinopoisk. פרטים בעמוד [דירוגים](https://amodb.dev/he/ratings/).

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

| תכונה       | Kinopoisk                                            | amodb                                                      |
| ----------- | ---------------------------------------------------- | ---------------------------------------------------------- |
| מודל תמחור  | אין API פתוח כללי, לשירותי צד שלישי ראו במסמכים שלהם | תשלום מראש, 1 עד 24 חודשים לרכישה                          |
| מסלול חינמי | ראו במסמכים שלהם                                     | אין, וגם אין תקופת ניסיון                                  |
| אימות       | ראו במסמכים שלהם                                     | `api_key` או כותרת Bearer                                  |
| פורמט תגובה | ראו במסמכים שלהם                                     | JSON במבנה של TMDB v3                                      |
| שפות        | אתר ברוסית                                           | 14 שפות ממשק, ביניהן רוסית                                 |
| סרטים       | באתר                                                 | פרטים, קרדיטים, תמונות, סרטונים                            |
| סדרות       | באתר                                                 | סדרות, עונות ופרקים                                        |
| אנשים       | באתר                                                 | פרופילים ופילמוגרפיה                                       |
| תמונות      | באתר                                                 | `img.amodb.dev`, בלי מפתח                                  |
| דירוגים     | ציון הקהל שלו באתר                                   | ציון Kinopoisk ועוד ארבעה מקורות כשהם ידועים               |
| מגבלת קצב   | ראו במסמכים שלהם                                     | 20, 40 או 120 לדקה לכל מפתח                                |
| שימוש מסחרי | ראו במסמכים שלהם                                     | מסלולים בתשלום, ראו [תמחור](https://amodb.dev/he/pricing/) |
| תאימות      | אין API פתוח כללי, ראו במסמכים שלהם                  | קריאות של TMDB v3 ו-OMDb                                   |

## במה amodb שונה

- **חוזה מתועד.** נתיבים, פרמטרים, גופי שגיאה ומגבלות כתובים, ומפתח אחד משרת כל נקודת קצה.
- **רוסית לצד שפות אחרות.** אותה קריאה עם ערך `language` אחר מחזירה את אותם שדות בשפה אחרת. זה עוזר כשהקהל שלכם קורא רוסית, אוקראינית ואנגלית.
- **כמה ציונים באובייקט אחד.** אפשר להציג את הציון של Kinopoisk לצד IMDb, Metacritic ו-Rotten Tomatoes, וכל אחד מהם `null` כשהוא לא ידוע.
- **כותרות מקוריות נשמרות.** `original_title` ו-`original_name` מחזיקים את הכותרת בשפת המקור, כולל יפנית וקוריאנית, למרות שאלה אינן שפות ממשק.

## מתי Kinopoisk מתאים יותר

- **הקהילה עצמה.** ביקורות, רשימות, דפי משתמשים ודיונים מקומיים נמצאים באתר. amodb לא מציע אף אחד מהם, רק את הציון כשהוא ידוע.
- **כל מה שמעבר למטא-נתונים.** עבור תוכן שאינו שדה מטא-נתונים, השתמשו באתר עצמו. API למטא-נתונים לא נושא אותו.
- **ציון הקהל שלו.** הערך נוצר שם קודם. ב-amodb הוא יכול להיות `null` עבור כותר חדש או לא מוכר, ומספר ההצבעות יכול להיות `null` גם כשהציון מוגדר.

## מעבר ל-amodb

אספו את מזהי Kinopoisk ששמרתם, מפו אותם פעם אחת באמצעות `/3/find`, ושמרו לצדם את מזהה amodb המספרי. אחר כך בקשו פרטים ברוסית וקראו את הציון מאותה תגובה.

```python
import os
import requests

KEY = os.environ["AMODB_KEY"]
BASE = "https://api.amodb.dev/3"
HEADERS = {"Authorization": f"Bearer {KEY}"}


def get(path, **params):
    r = requests.get(BASE + path, params=params, headers=HEADERS, timeout=10)
    r.raise_for_status()
    return r.json()


found = get("/find/361", external_source="kinopoisk_id")
movie_id = found["movie_results"][0]["id"]
movie = get(f"/movie/{movie_id}", language="ru-RU", append_to_response="ratings")
kp = movie["ratings"]["kinopoisk"]
print(movie["title"], "/", movie["original_title"])
print("Kinopoisk:", kp["value"] if kp else "not known")
```

מערך `movie_results` ריק אומר שאין התאמה למזהה הזה. מזהה Kinopoisk של סדרה ממלא את `tv_results` במקום, ולכן קראו את שני המערכים כשאתם לא יודעים מה הסוג. טפלו ב-429 בהמתנה של `Retry-After` שניות. רשימת השפות נמצאת בעמוד [שפות](https://amodb.dev/he/languages/), וכללי החיפוש בעמוד [חיפוש לפי מזהה חיצוני](https://amodb.dev/he/find-by-external-id/).

## טיפול בפערים בטקסט הרוסי

שדה טקסט יכול להיות ריק כשאין תרגום לרוסית לכותר. בדקו אם יש מחרוזת ריקה ובקשו את אותו כותר שוב עם `language=en-US`. לפוסטרים עם כיתוב ברוסית קראו ל-`/3/movie/550/images?include_image_language=ru,null` ובחרו מתוך `posters`. הערך `null` משאיר ברשימה גם יצירות ללא טקסט. גדלים מופיעים בעמוד [תמונות](https://amodb.dev/he/images-api/).

## תמחור

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

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

### האם ל-Kinopoisk יש API ציבורי רשמי?

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

### איך מוצאים כותר ב-amodb לפי מזהה Kinopoisk?

קראו ל-/3/find עם מזהה Kinopoisk ועם external_source=kinopoisk_id. לדוגמה, 361 נפתר ל-Fight Club, שהוא מזהה 550, ו-404900 נפתר ל-Breaking Bad, מזהה 1396. התוצאה מגיעה ב-movie_results או ב-tv_results במבנה של TMDB.

### האם דירוג Kinopoisk מוחזר תמיד?

לא. המפתח kinopoisk באובייקט ratings מחזיק value ו-votes כשהציון ידוע, ו-null אחרת. הערך הוא מתוך 10 עם ספרה עשרונית אחת. votes יכול להיות null גם כש-value מוגדר, ולכן הציגו אותו רק כשהוא קיים.

### אילו שפות אפשר לבקש מלבד רוסית?

ארבע עשרה בסך הכול, כולל אוקראינית ובלארוסית. שלחו תגית של TMDB כמו uk-UA או be-BY בפרמטר language. תגיות שאינן נתמכות חוזרות לאנגלית, והכותרות המקוריות נשארות ב-original_title.

### האם מקבלים את הטקסט של ביקורות Kinopoisk?

לא. amodb מחזיר את הציון של Kinopoisk כשהוא ידוע. טקסט ביקורות, רשימות ותכונות הקהילה של האתר אינם חלק מה-API, ונקודת הקצה של ביקורות בסגנון TMDB מחזירה רשימה ריקה ברוב הכותרים.

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

- [API מטא-נתונים רב-לשוני לסרטים](https://amodb.dev/he/multilingual-movie-metadata-api/): API מטא-נתונים רב-לשוני לסרטים ב-14 שפות עם מפתח אחד. השתמשו בתגיות שפה של TMDB, קראו את כל התרגומים של כותר, חזרו לאנגלית וטפלו בעברית מימין לשמאל.
- [דירוגי סרטים וסדרות](https://amodb.dev/he/ratings/): API דירוגי סרטים וסדרות שמחזיר ציוני IMDb, Kinopoisk, Metacritic, Rotten Tomatoes ו-TMDB לכותר בקריאה אחת, עם value ו-votes ו-null לכל מקור שאינו ידוע.
- [חיפוש לפי מזהה חיצוני](https://amodb.dev/he/find-by-external-id/): חפשו סרט, סדרה או אדם לפי מזהה IMDb, TVDB, Wikidata או Kinopoisk עם נקודת הקצה find של TMDB v3, וקראו מזהים חיצוניים ועובדות Wikidata על כל כותר.
- [שפות](https://amodb.dev/he/languages/): amodb מגיש כותרים, תקצירים ושמות ב-14 שפות. העבירו בפרמטר language תגית בסגנון TMDB כמו ru-RU או pt-BR; כל תגית אחרת חוזרת לאנגלית, בלי שגיאה.
- [חלופה ל-IMDb API](https://amodb.dev/he/imdb-api-alternative/): ל-IMDb אין REST API חינמי לשימוש כללי. חפשו כותרים לפי מזהה IMDb, קראו את דירוג IMDb כשהוא ידוע ושלפו שחקנים, תמונות וטריילרים מ-API בתשלום שמחזיר JSON.
- [תמחור](https://amodb.dev/he/pricing/): המסלולים של amodb נבדלים רק בבקשות לדקה: 20, 40 או 120. כל מסלול כולל את כל הנתונים התואמים ל-TMDB v3 ול-OMDb. תשלום מראש, בלי חידוש ובלי ניסיון.

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