# Альтернатива TMDB API

> Искать альтернативу TMDB API стоит, когда нужен платный договор, лимит запросов, под который можно планировать, или больше данных в каждом ответе. amodb говорит на протоколе TMDB v3 для чтения, поэтому вы меняете базовый URL и ключ. Запись и часть путей не поддерживаются. Оставайтесь на TMDB, если вам подходят его бесплатные условия.

## Какой API выбрать

TMDB предлагает бесплатный API для подходящих случаев по собственным условиям, с ключами API v3 и токенами v4. Прочитайте эти условия о коммерческом использовании и указании источника, прежде чем выпускать продукт. Выбирайте альтернативу, когда нужен платный договор, лимит, под который можно планировать, или больше данных в каждом ответе. amodb это независимый API, который говорит на протоколе TMDB v3 для чтения, поэтому переход сводится к новому базовому URL и новому ключу. API работает только на чтение, а часть путей TMDB не поддерживается, как показано ниже.

Оставайтесь на TMDB, если бесплатные условия подходят вашему проекту и ничто из следующего раздела вас не касается.

## Признаки, что вам нужна альтернатива

Решить помогают пять проверок. Проводите их на собственном трафике и собственном договоре, а не по списку функций.

| Признак              | Что проверить                                                                                            | Как отвечает amodb                                                                               |
| -------------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| Коммерческие условия | Прочитайте условия API, которым вы пользуетесь сейчас, о коммерческом использовании и указании источника | Платные тарифы, предоплата, без автоматического продления                                        |
| Пиковый трафик       | Посчитайте запросы в самую загруженную минуту                                                            | Фиксированный лимит 20, 40 или 120 запросов в минуту на ключ                                     |
| Данные на экран      | Перечислите дополнительные вызовы за одной страницей названия                                            | `append_to_response` принимает также `ratings`, `moods`, `soundtracks`, `wikidata` и `showtimes` |
| Язык интерфейса      | Проверьте каждый язык, который вы поддерживаете                                                          | 14 языков, остальные откатываются на `en`                                                        |
| Цена ухода           | Посчитайте строки кода, где назван поставщик                                                             | Те же пути и JSON на поддерживаемых эндпоинтах, поэтому уход тоже сводится к смене базового URL  |

Попадания в кэш тоже считаются. Проверка ключа и лимит запросов выполняются раньше кэша на границе сети, поэтому повторный запрос все равно тратит один из ваших запросов в минуту. Планируйте общее число запросов, а не только промахи кэша.

## Сравнение возможностей

| Функция                    | TMDB                                                               | amodb                                                                               |
| -------------------------- | ------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
| Модель оплаты              | Бесплатный API для подходящих случаев по собственным условиям      | Предоплата на периоды 1, 3, 6, 12 или 24 месяца                                     |
| Бесплатный тариф           | Да, для подходящих случаев                                         | Нет, пробного периода тоже нет                                                      |
| Аутентификация             | Ключ v3 в `api_key` или токен v4 как Bearer                        | `api_key` или Bearer, ключ из 32 шестнадцатеричных символов                         |
| Формат ответа              | JSON                                                               | JSON в формате TMDB v3                                                              |
| Языки                      | См. их документацию                                                | 14 языков интерфейса                                                                |
| Фильмы                     | Да                                                                 | Да                                                                                  |
| Сериалы                    | Да                                                                 | Да, с сезонами и сериями                                                            |
| Люди                       | Да                                                                 | Да                                                                                  |
| Изображения                | Да, с собственного хоста изображений                               | `img.amodb.dev`, те же токены размеров, без ключа                                   |
| Рейтинги                   | Оценка пользователей TMDB, другие источники см. в их документации  | Оценка TMDB, а также IMDb, Kinopoisk, Metacritic и Rotten Tomatoes, где есть данные |
| Методы записи              | Методы аккаунта, списков и оценок                                  | Не поддерживаются, отвечают 405                                                     |
| Лимит запросов             | См. их документацию                                                | 20, 40 или 120 в минуту на ключ                                                     |
| Коммерческое использование | Условия коммерческого использования и указания источника см. у них | Продается как платный API, см. [цены](https://amodb.dev/ru/pricing/)                |
| Совместимость              | Определяет протокол v3                                             | Большинство путей чтения v3, а также OMDb                                           |

## Чем отличается amodb

- **Лимиты, которые можно прочитать.** Каждый ответ с ключом содержит `X-RateLimit-Limit`, `X-RateLimit-Remaining` и `X-RateLimit-Reset` в секундах. Ответ 429 добавляет `Retry-After`. Числа объяснены на странице [лимиты запросов](https://amodb.dev/ru/rate-limits/).
- **Дополнительные блоки в одном вызове.** Рейтинги из пяти источников, шкалы настроения, саундтреки, факты Wikidata и сеансы в кинотеатрах приходят через `append_to_response`, поэтому одной странице названия может хватить одного запроса.
- **Больше источников внешних ID.** `/3/find` разрешает `imdb_id`, `tvdb_id`, `wikidata_id` и `kinopoisk_id`, а также `facebook_id`, `twitter_id` и `instagram_id`. См. [поиск по внешнему ID](https://amodb.dev/ru/find-by-external-id/).
- **OMDb с тем же ключом.** `https://api.amodb.dev/omdb/` отвечает на вызовы в стиле OMDb с параметром `apikey`, что удобно, когда две ваши системы используют разные протоколы.
- **Известное время кэширования.** Сведения и актерский состав хранятся на границе сети 6 часов, тренды и discover 30 минут, поиск 10 минут, конфигурация 24 часа, изображения 30 дней.

## Когда TMDB подходит лучше

- **Бесплатные проекты.** Если ваш случай подпадает под бесплатные условия, TMDB не стоит ничего, и amodb с этим не сравнится.
- **Методы записи пользователей.** TMDB предлагает методы записи для аккаунтов, сессий, оценок и списков. amodb отвечает на них 405 и status_code 37, поэтому приложению, где люди входят и оценивают фильмы, стоит оставить TMDB для этой части.
- **Ленты изменений.** TMDB перечисляет ID, которые изменились. В amodb такой ленты нет, поэтому вы обновляете данные по собственному расписанию.
- **Языки сверх 14.** amodb не отдает интерфейсный текст на немецком, японском и корейском и откатывается на английский. Оригинальные названия по-прежнему приходят в `original_title` и `original_name`. О других языках в TMDB см. их документацию.
- **Условия, которые вы уже приняли.** Если юридическая проверка TMDB пройдена, переход потребует еще одной.

## Чего amodb не предлагает

Сверьте свой код с этим списком до переключения. Полная таблица находится на странице [amodb и TMDB](https://amodb.dev/ru/amodb-vs-tmdb/).

| Вызов TMDB                                                                                     | Ответ amodb                        |
| ---------------------------------------------------------------------------------------------- | ---------------------------------- |
| Запись в аккаунты, сессии, оценки и списки                                                     | 405, `status_code` 37              |
| Изменения, агрегированные актерские составы, поиск по credit и отзывам, содержимое групп серий | 404, `status_code` 34              |
| Переводы людей, изображения и переводы коллекций, компаний и телесетей                         | 404, `status_code` 34              |
| Список отзывов о фильме или сериале                                                            | 200, для большинства названий пуст |
| Изображения, видео и переводы сезонов                                                          | 200, пусто                         |
| Внешние ID сезонов и серий                                                                     | 200, все равны null                |

Два поведения срабатывают молча. Имя в `append_to_response`, которое amodb не знает, например `aggregate_credits`, игнорируется без ошибки. Параметр `include_adult` тоже игнорируется, потому что фильмы и люди для взрослых никогда не отдаются.

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

1. Выберите тариф на странице [цены](https://amodb.dev/ru/pricing/) и создайте ключ в панели аккаунта.
2. Замените базовый URL и ключ в одном месте, как показано ниже.
3. Прочитайте `images.secure_base_url` из `/3/configuration`, чтобы ссылки на изображения вели на `img.amodb.dev`.
4. Уберите вызовы методов записи и путей из таблицы выше.
5. Обрабатывайте 429, выжидая `Retry-After` секунд.

```js
const config = {
  // before: baseUrl held your current TMDB v3 base URL
  baseUrl: 'https://api.amodb.dev/3',
  apiKey: process.env.AMODB_KEY,
};

const res = await fetch(`${config.baseUrl}/movie/550?language=en-US`, {
  headers: { Authorization: `Bearer ${config.apiKey}` },
});
if (!res.ok) throw new Error(`request failed with status ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.release_date);
```

Прогоните существующие тесты на обоих базовых URL до переключения. Общая форма не гарантирует одинаковых значений, поэтому сравните выборку собственных названий. Полное пошаговое описание есть в разделе [быстрый старт](https://amodb.dev/ru/quickstart/), а сравнительная таблица находится на странице [amodb и TMDB](https://amodb.dev/ru/amodb-vs-tmdb/).

### Обработка ошибок переносится без изменений

Неудачные вызовы возвращают тело TMDB `{"success": false, "status_code": N, "status_message": "..."}`, поэтому код, который ветвится по `status_code`, переписывать не нужно.

| HTTP | status_code | Типичная причина                                     |
| ---- | ----------- | ---------------------------------------------------- |
| 401  | 7           | Ключ отсутствует или набран с ошибкой                |
| 401  | 10          | Ключ приостановлен                                   |
| 402  | 36          | Оплаченный период закончился                         |
| 404  | 34          | ID не найден или путь, который amodb не поддерживает |
| 405  | 37          | Метод записи, который ваш код все еще вызывает       |
| 429  | 25          | Больше запросов, чем разрешает тариф за 60 секунд    |

Считайте 402 сигналом продлить доступ вручную, потому что ничего не продлевается автоматически. Полный список есть на странице [ошибки](https://amodb.dev/ru/errors/).

## Цены

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

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

### Можно ли заменить TMDB API на amodb без правок кода?

Для большинства эндпоинтов чтения да. Пути, параметры запросов и поля JSON следуют TMDB v3, а аутентификация работает и через api_key, и через Bearer. Методы записи возвращают 405 со status_code 37. Ленты изменений, агрегированные актерские составы, поиск по credit и отзывам и несколько других путей возвращают 404 со status_code 34.

### Продолжат ли работать мои URL изображений TMDB?

Форма пути и токены размеров остаются прежними, но хост теперь img.amodb.dev, и ключ не нужен. Читайте images.secure_base_url из эндпоинта конфигурации, а не зашивайте хост в код, и другого изменения в коде изображений не потребуется.

### Принимает ли amodb заголовок Bearer, как TMDB?

Да. Отправьте Authorization: Bearer с вашим ключом amodb или передайте параметр запроса api_key. Ключ состоит из 32 шестнадцатеричных символов в нижнем регистре, как и ключ TMDB v3.

### Как стоимость соотносится с бесплатным TMDB API?

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

### На какой лимит рассчитывать?

Ориентируйтесь на самую загруженную минуту. Тарифы разрешают 20, 40 или 120 запросов в минуту на ключ в скользящем окне 60 секунд, и любой тариф возвращает все данные. Заголовки ответа показывают, сколько запросов осталось.

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

- [amodb против TMDB](https://amodb.dev/ru/amodb-vs-tmdb/): Сравнение amodb и TMDB: совместимость эндпоинтов, пути, которых нет в amodb, бесплатные и платные условия, 14 языков, расширения и лимиты запросов.
- [Альтернатива OMDb API](https://amodb.dev/ru/omdb-api-alternative/): Уперлись в суточный лимит OMDb или нужно больше одной записи за запрос? amodb отвечает на запросы в стиле OMDb и отдает эндпоинты TMDB v3 с тем же ключом.
- [API базы фильмов для вашего каталога](https://amodb.dev/ru/movie-database-api/): API базы фильмов для вашей локальной копии: фильмы, люди, компании, коллекции и ключевые слова со связанными id, окна дат discover и поиск по внешним id.
- [Быстрый старт](https://amodb.dev/ru/quickstart/): Первый вызов amodb: получите ключ, запросите детали фильма через curl, JavaScript, Python, PHP или Go и загрузите постер с img.amodb.dev. Меньше 2 минут.
- [Лимиты запросов](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/tmdb-api-alternative/
