# amodb против 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/ru/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/ru/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.
- **Ленты changes.** TMDB перечисляет ID, которые изменились. В amodb такой ленты нет, поэтому обновление идет по вашему расписанию.
- **Aggregate credits и поиск по credit.** Оба отвечают 404 в amodb. Используйте `/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/ru/pricing/), затем создайте ключ в личном кабинете.
2. Вынесите базовый URL и ключ в конфигурацию.
3. Читайте `images.secure_base_url` из `/3/configuration`.
4. Найдите в коде вызовы записи и пути из таблицы не предлагаемых. Вызовы записи оставьте в TMDB, остальное замените.
5. Добавьте обработчик 429, который ждет `Retry-After` секунд. См. [лимиты запросов](https://amodb.dev/ru/rate-limits/) и [ошибки](https://amodb.dev/ru/errors/).

## Цены

amodb работает по предоплате. Выберите 1, 3, 6, 12 или 24 месяца со скидкой 0, 10, 20, 30 или 40 процентов и один из трех тарифов на 20, 40 или 120 запросов в минуту. Любой тариф возвращает все данные, и ни один не продлевается сам. Суммы указаны на странице [цены](https://amodb.dev/ru/pricing/).

## Вопросы и ответы

### Доступны ли в amodb все эндпоинты чтения TMDB v3?

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

### Что изменится в моем коде при переходе с TMDB?

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

### Останутся ли ID фильмов и сериалов прежними?

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

### Можно ли использовать оба сервиса вместе?

Да. Поскольку протокол один, вы можете оставить TMDB для функций аккаунта и списков, лент changes и aggregate credits, а amodb использовать для чтения каталога. Храните в конфигурации два базовых URL и два ключа.

### Какой сервис дешевле?

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

## Связанные страницы

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

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