# amodb vs TMDB

> amodb зберігає шляхи, параметри запиту й JSON TMDB v3 для більшості ендпоінтів читання, тож клієнту потрібні лише новий базовий URL і ключ. Запис повертає 405, а changes, aggregate credits і пошук рецензій не пропонуються. Інші відмінності: умови, 14 мов, п'ять розширень і ліміти на ключ.

## Коротке порівняння

amodb це незалежний API, що говорить тим самим протоколом, що й TMDB v3. Клієнт, написаний для TMDB, читає з amodb після зміни базового URL і ключа, якщо він не викликає шлях із таблиці «не пропонується» нижче. Тож вибір залежить від умов, додаткових можливостей і кількох прогалин. TMDB пропонує безкоштовний API для відповідного використання за власними умовами. amodb це платний API лише для читання з 14 мовами, п'ятьма додатковими блоками даних і лімітом, що рахується на ключ.

## Збіг ендпоінтів

Кожен рядок показує шлях читання TMDB v3 і те, як він поводиться на `https://api.amodb.dev/3`.

| Область                            | Шлях TMDB v3                             | В amodb                                                                                                            |
| ---------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Деталі фільму                      | `/movie/{movie_id}`                      | Так само, з п'ятьма додатковими значеннями `append_to_response`                                                    |
| Деталі серіалу                     | `/tv/{series_id}`                        | Так само, але без поля `type`, а `created_by` порожнє для більшості серіалів                                       |
| Сезони й серії                     | `/tv/{series_id}/season/{season_number}` | Та сама структура. Зображення, відео й переклади сезонів порожні, а `external_ids` сезонів і серій дорівнюють null |
| Персони                            | `/person/{person_id}`                    | Так само, з `combined_credits`, `movie_credits`, `tv_credits`, `external_ids` та `images` (лише профілі)           |
| Акторський склад і знімальна група | `/movie/{movie_id}/credits`              | Так само. У серій `cast` порожній                                                                                  |
| Пошук                              | `/search/multi`                          | Так само, кеш 10 хвилин                                                                                            |
| Discover                           | `/discover/movie`                        | Так само, кеш 30 хвилин                                                                                            |
| Тренди                             | `/trending/{media_type}/{time_window}`   | Так само, кеш 30 хвилин                                                                                            |
| Списки                             | `/movie/popular`                         | Так само, `page` від 1 до 500                                                                                      |
| Зображення                         | `/movie/{movie_id}/images`               | Та сама структура, файли завантажуються з `img.amodb.dev`                                                          |
| Відео                              | `/movie/{movie_id}/videos`               | Так само                                                                                                           |
| Переклади                          | `/movie/{movie_id}/translations`         | Так само, підтримується 14 мов                                                                                     |
| Ключові слова                      | `/movie/{movie_id}/keywords`             | Так само                                                                                                           |
| Рецензії                           | `/movie/{movie_id}/reviews`              | Відповідає 200, але рецензії є лише в кількох тайтлів, тож порожній список це норма                                |
| Колекції                           | `/collection/{collection_id}`            | Так само, `parts` упорядковані за датою виходу                                                                     |
| Компанії й телемережі              | `/company/{company_id}`                  | Ті самі ключі. `description` компанії порожній, а `parent_company` дорівнює null                                   |
| Жанри                              | `/genre/movie/list`                      | Так само                                                                                                           |
| Конфігурація                       | `/configuration`                         | Ті самі ключі, хост зображень `img.amodb.dev`                                                                      |
| Пошук за зовнішнім ID              | `/find/{external_id}`                    | Той самий ендпоінт, плюс `kinopoisk_id`. `tv_episode_results` і `tv_season_results` завжди порожні                 |
| Групи серій                        | `/tv/{series_id}/episode_groups`         | Перелічує групи серіалу без їхнього вмісту                                                                         |

## Що не пропонується в amodb

Ці виклики TMDB v3 не мають відповідників. Невідомі шляхи відповідають 404 зі `status_code` 34, а методи запису відповідають 405 зі `status_code` 37.

| Виклик TMDB v3                                                                                                        | Відповідь amodb       |
| --------------------------------------------------------------------------------------------------------------------- | --------------------- |
| `/movie/changes`, `/tv/changes`, `/person/changes` і `changes` під одним id                                           | 404, `status_code` 34 |
| `aggregate_credits` під серіалом або сезоном                                                                          | 404, `status_code` 34 |
| `/credit/{credit_id}` і `/review/{review_id}`                                                                         | 404, `status_code` 34 |
| `/tv/episode_group/{id}`                                                                                              | 404, `status_code` 34 |
| `/person/{person_id}/translations`, `tagged_images` і `/person/latest`                                                | 404, `status_code` 34 |
| `images`, `translations` і `alternative_names` для колекцій, компаній і телемереж                                     | 404, `status_code` 34 |
| `/configuration/timezones`                                                                                            | 404, `status_code` 34 |
| Усе під `account`, `authentication`, `guest_session` і `list`, а також будь-який шлях `/rating` або `/account_states` | 405, `status_code` 37 |

Якщо ви додасте `aggregate_credits` або `changes` до `append_to_response`, amodb ігнорує цю назву без помилки, тож ключа просто немає в тілі відповіді.

## Порівняння можливостей

| Можливість              | TMDB                                                               | amodb                                                         |
| ----------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------- |
| Модель оплати           | Безкоштовно для відповідного використання, за умовами TMDB         | Передплата, від 1 до 24 місяців за покупку                    |
| Безкоштовний тариф      | Так, для відповідного використання                                 | Немає, пробного періоду теж                                   |
| Автентифікація          | Ключ v3 в `api_key` або токен v4 як Bearer                         | `api_key` або Bearer із 32-символьним шістнадцятковим ключем  |
| Формат відповіді        | JSON                                                               | JSON, ті самі поля на шляхах, які він обслуговує              |
| Мови                    | Дивіться їхню документацію                                         | 14 підтримуються, інші теги відкочуються до `en`              |
| Фільми                  | Так                                                                | Так                                                           |
| Серіали                 | Так                                                                | Так                                                           |
| Персони                 | Так                                                                | Так                                                           |
| Зображення              | Так                                                                | `img.amodb.dev`, розміри від `w92` до `original`              |
| Рейтинги                | Оцінка користувачів TMDB, інші джерела: дивіться їхню документацію | П'ять джерел в одному об'єкті, де відомо                      |
| Методи запису           | Методи акаунта, списків і оцінок                                   | Немає, вони відповідають 405                                  |
| Ліміт запитів           | Дивіться їхню документацію                                         | 20, 40 або 120 на хвилину на ключ                             |
| Комерційне використання | Перевірте їхні умови щодо комерційного використання й атрибуції    | Платні тарифи, дивіться [ціни](https://amodb.dev/uk/pricing/) |
| Сумісність              | Визначає TMDB v3                                                   | Більшість шляхів читання TMDB v3 і маршрут OMDb               |

## Чим відрізняються докладніше

- **Умови.** TMDB просить вас прочитати його умови щодо комерційного використання й атрибуції. amodb продається за передплаченими періодами, без автоматичного поновлення, безкоштовного тарифу й пробного періоду.
- **Мови.** amodb обслуговує en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it та es. Він приймає теги TMDB, як-от `ru-RU` і `pt-BR`. Німецька, японська й корейська відкочуються до `en`, а `original_title` зберігає початкову назву. Про мовне покриття TMDB дивіться їхню документацію. Дивіться [мови](https://amodb.dev/uk/languages/).
- **Розширення.** `append_to_response` також приймає `moods`, `soundtracks`, `ratings`, `wikidata` і `showtimes`, і кожне має власний шлях під фільмами та серіалами.
- **Зовнішні id.** `/3/find` розв'язує `imdb_id`, `tvdb_id`, `wikidata_id`, `kinopoisk_id`, `facebook_id`, `twitter_id` і `instagram_id`. Джерела `freebase_mid`, `freebase_id`, `tvrage_id`, `tiktok_id` і `youtube_id` приймаються, але повертають порожні масиви. Відсутнє чи невідоме `external_source` відповідає 400 зі `status_code` 22.
- **Порожнє за задумом.** Зображення, відео й переклади сезонів та `description` компанії завжди порожні. Рецензії й `created_by` серіалу заповнені лише для кількох тайтлів. `external_ids` сезонів і серій усі дорівнюють null.
- **Матеріали для дорослих.** `include_adult` ігнорується. Тайтли й персони для дорослих ніколи не віддаються та відповідають 404.
- **Зображення.** Шлях CDN: `https://img.amodb.dev/t/p/{size}/{file}`. Ключ не потрібен, а файли кешуються на 30 днів.
- **Ліміти.** Вікно це ковзні 60 секунд на ключ. Заголовки показують залишок, а влучання в кеш усе одно враховуються, бо перевірка ліміту виконується першою.
- **Незалежність.** Каталог походить із публічних і відкритих джерел та нашого власного збагачення. Спільна структура не гарантує однакових значень кожного поля кожного тайтла.

## Де TMDB підходить краще

- **Безкоштовне відповідне використання.** Платити не потрібно, і amodb цього не може повторити.
- **Запис.** Оцінювання тайтла, створення списку та сесії акаунта працюють у TMDB. В amodb вони повертають 405.
- **Стрічки змін.** TMDB перелічує id, що змінилися. В amodb такої стрічки немає, тож ви оновлюєте за власним розкладом.
- **Aggregate credits і пошук credit.** Обидва в amodb відповідають 404. Використовуйте `/credits` тайтла.
- **Ширші мовні потреби.** Якщо вашому інтерфейсу потрібна мова поза цими 14, спершу перевірте TMDB.
- **Наявне погодження.** Команда, яка пройшла юридичну перевірку TMDB, має зважити вартість другої перевірки.

## Міграція на amodb

Зміна полягає в одному рядку на запит.

```bash
# before: TMDB_BASE is your current TMDB v3 base URL
curl -s "$TMDB_BASE/movie/550?api_key=$TMDB_KEY"

# after
curl -s "https://api.amodb.dev/3/movie/550?api_key=$AMODB_KEY"
```

Перед переходом порівняйте структуру кількох відповідей поруч. Цей скрипт виводить ключі верхнього рівня, які одна сторона повертає, а інша ні.

```js
async function topLevelKeys(base, key, path) {
  const res = await fetch(`${base}${path}?api_key=${key}`);
  if (!res.ok) throw new Error(`${path} returned ${res.status}`);
  return Object.keys(await res.json()).sort();
}

for (const path of ['/movie/550', '/tv/1396', '/person/31']) {
  const current = await topLevelKeys(process.env.TMDB_BASE, process.env.TMDB_KEY, path);
  const next = await topLevelKeys('https://api.amodb.dev/3', process.env.AMODB_KEY, path);
  const missing = current.filter((k) => !next.includes(k));
  console.log(path, missing.length ? `missing: ${missing.join(', ')}` : 'same keys');
}
```

Необов'язкові поля можуть відрізнятися для окремого тайтла, тож сприймайте відсутній ключ як привід перевірити, а не як вирок. Потім пройдіть цей список:

1. Оберіть тариф на сторінці [ціни](https://amodb.dev/uk/pricing/), потім створіть ключ у кабінеті акаунта.
2. Винесіть базовий URL і ключ у конфігурацію.
3. Прочитайте `images.secure_base_url` з `/3/configuration`.
4. Знайдіть у коді виклики запису та шляхи з таблиці «не пропонується». Залиште запис на TMDB, а решту замініть.
5. Додайте обробник 429, що чекає `Retry-After` секунд. Дивіться [ліміти запитів](https://amodb.dev/uk/rate-limits/) і [помилки](https://amodb.dev/uk/errors/).

## Ціни

amodb працює за передплатою. Оберіть 1, 3, 6, 12 або 24 місяці зі знижкою 0, 10, 20, 30 або 40 відсотків і один із трьох тарифів на 20, 40 або 120 запитів на хвилину. Кожен тариф повертає всі дані, і жоден не поновлюється сам. Суми дивіться на сторінці [ціни](https://amodb.dev/uk/pricing/).

## Запитання й відповіді

### Чи доступні в amodb усі ендпоінти читання TMDB v3?

Ні. Більшість шляхів читання зберігає той самий шлях, параметри запиту й структуру JSON, а таблиця збігу на цій сторінці групує їх за областями. Методи запису повертають 405 зі status_code 37. Стрічки changes, aggregate credits, пошук credit і review, вміст груп серій та переклади персон повертають 404 зі status_code 34.

### Що зміниться в моєму коді після переходу з TMDB?

Три речі: базовий URL стане https://api.amodb.dev/3, ключ стане вашим ключем amodb, а URL зображень використовуватимуть img.amodb.dev. Базу зображень читайте з ендпоінта configuration. Шляхи лишаються тими самими, крім викликів зі списку тих, що не пропонуються.

### Чи збережуться id фільмів і серіалів?

Id відповідають нумерації TMDB. Fight Club має 550, а Breaking Bad має 1396 в обох. Значення окремих полів для деяких тайтлів усе ж можуть відрізнятися, тож порівняйте вибірку зі свого каталогу перед переходом.

### Чи можна використовувати обидва сервіси разом?

Так. Оскільки протокол той самий, ви можете залишити TMDB для функцій акаунта й списків, стрічок changes та aggregate credits, а amodb використовувати для читання каталогу. Тримайте в конфігурації два базові URL і два ключі.

### Який сервіс дешевший?

TMDB пропонує безкоштовний API для відповідного використання за власними умовами, тож він нічого не коштує, якщо ви підходите. amodb платний із першого запиту, з передплаченими періодами від 1 до 24 місяців і знижкою до 40 відсотків.

## Пов'язані сторінки

- [Альтернатива TMDB API](https://amodb.dev/uk/tmdb-api-alternative/): Шукаєте альтернативу TMDB API? Перевірте умови, ліміти, мови й рейтинги та перейдіть на платний API, що зберігає більшість шляхів читання TMDB v3 і JSON.
- [API бази фільмів для вашого каталогу](https://amodb.dev/uk/movie-database-api/): API бази фільмів для власної локальної копії: фільми, персони, компанії, колекції та ключові слова зі зв'язаними id, вікна дат у discover і пошук за id.
- [Пошук за зовнішнім ID](https://amodb.dev/uk/find-by-external-id/): Знайдіть фільм, серіал чи персону за id IMDb, TVDB, Wikidata або Kinopoisk через find TMDB, а також прочитайте зовнішні id і факти Wikidata про проєкт.
- [Автентифікація](https://amodb.dev/uk/authentication/): Як надсилати ключ amodb: api_key у запиті, заголовок Authorization Bearer або apikey для викликів OMDb. Формат ключа, зберігання, заміна та помилки 401.
- [Ліміти запитів](https://amodb.dev/uk/rate-limits/): amodb обмежує кожен ключ запитами на хвилину в ковзному вікні 60 секунд: 20, 40 або 120 за тарифом. Читайте заголовки ліміту й обробляйте 429 із Retry-After.
- [Ціни](https://amodb.dev/uk/pricing/): Тарифи amodb різняться лише запитами на хвилину: 20, 40 або 120. Кожен дає всі дані, сумісні з TMDB v3 та OMDb. Передплата, без поновлення й пробного періоду.

Оновлено: 2026-10-18. Source: https://amodb.dev/uk/amodb-vs-tmdb/
