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

> Trakt зосереджений на даних користувача: історії перегляду, списках, оцінках, календарях і OAuth. amodb не зберігає активність користувачів. Це платний API метаданих про фільми, серіали, персони, зображення та рейтинги. Багато застосунків використовують обидва: стан користувача тримають у Trakt або власній базі, а дані про назви читають з amodb.

## Різні завдання, різні інструменти

Trakt зосереджений на даних користувача: історії перегляду, списках перегляду, оцінках, календарях і вході через OAuth. Він також має публічні ендпоінти метаданих, а чинні ліміти вказано в його документації. У amodb одне завдання: метадані про фільми, серіали та персони у вигляді JSON у формі TMDB v3. Обирайте Trakt для того, що робили ваші користувачі. Обирайте amodb для того, чим є назва. Більшість застосунків, яким потрібне і те, і те, викликають кожен сервіс для його половини.

## Дані користувача й дані про назви

| Завдання                           | Trakt                                                    | amodb                                                        |
| ---------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------ |
| Історія перегляду                  | Основна функція                                          | Не пропонується, зберігайте самі                             |
| Списки перегляду та списки         | Основна функція                                          | Не пропонуються, запис повертає 405                          |
| Оцінки користувачів                | Основна функція                                          | Не пропонуються, запис повертає 405                          |
| Календарі                          | Для кожного користувача, дивіться їхню документацію      | `next_episode_to_air` для кожного шоу та списки за розкладом |
| Вхід                               | OAuth                                                    | Лише ключ, без входу користувача                             |
| Метадані назв                      | Публічні ендпоінти, ліміти дивіться в їхній документації | Ендпоінти деталей 14 мовами                                  |
| Акторський склад і знімальна група | Дивіться їхню документацію                               | `/credits` для назви, `combined_credits` для персони         |
| Зображення                         | Дивіться їхню документацію                               | `img.amodb.dev`, ключ не потрібен                            |
| Трейлери                           | Дивіться їхню документацію                               | `/videos` з полями `type` і `official`                       |
| Змінене від дати                   | Дивіться їхню документацію                               | Не пропонується, стрічок змін немає                          |

Для розкладів `GET /3/tv/airing_today` і `GET /3/tv/on_the_air` перелічують шоу за датою ефіру, а кожен запис серіалу несе власне `next_episode_to_air`. Для завершеного шоу це поле дорівнює `null`. Обидва списки описано на сторінці [списки трендів](https://amodb.dev/uk/trending-lists/). Календар для одного користувача ви збираєте зі своїх записів перегляду.

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

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

## Чим відрізняється amodb

- **Жодного екрана входу для ваших користувачів.** Достатньо серверного ключа. Ніхто не підключає акаунт, тож немає токена для оновлення й екрана згоди, який треба пояснювати.
- **Широкий набір полів.** Тривалість, жанри, виробничі компанії, вікові рейтинги, переклади й ключові слова надходять з ендпоінтів деталей, мовою, яку ви запитуєте.
- **Відкриті ліміти.** Ліміт тарифу це число запитів на хвилину, а кожна відповідь показує залишок. За цими числами можна розрахувати фонову синхронізацію.
- **Шкали настрою й саундтреки.** Розширення на сторінках [настрої](https://amodb.dev/uk/moods/) та [саундтреки](https://amodb.dev/uk/soundtracks/) додають дані, яких немає в TMDB v3.

## Коли Trakt підходить краще

- **Усе персональне.** Скроблінг, синхронізація історії, соціальні списки та календарі окремих користувачів це функції Trakt. В amodb немає акаунтів і методів запису.
- **Стан між пристроями.** Якщо користувач очікує однакових позначок «переглянуто» на телефоні й телевізорі, стан має жити в сервісі користувачів, а amodb таким не є.
- **Наявні застосунки з OAuth.** Якщо ваш застосунок уже має токени Trakt, залишайте їх. Додавайте amodb лише для даних про назви, які ви зараз отримуєте з інших джерел.

## Міграція на amodb: об'єднайте свої записи

Дані користувачів мігрувати не треба, бо amodb їх не зберігає. Ви замінюєте виклики метаданих. Елементи Trakt містять id для інших баз (точні поля дивіться в їхній документації), тож зберігайте id TMDB або id IMDb поруч із кожним записом перегляду та використовуйте його тут.

```php
<?php
declare(strict_types=1);

function amodb(string $path): array
{
    $ch = curl_init('https://api.amodb.dev/3' . $path);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('AMODB_KEY')],
    ]);
    $body = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if ($status !== 200) {
        throw new RuntimeException("amodb returned $status");
    }
    return json_decode($body, true);
}

$show = amodb('/tv/1396?language=en-US');
$next = $show['next_episode_to_air'] ?? null;
echo $show['name'], ' ', $show['status'], PHP_EOL;
echo $next ? 'Next: ' . $next['air_date'] : 'No episode scheduled', PHP_EOL;
```

Якщо у вас є лише id IMDb, один раз викличте `/3/find/tt0903747?external_source=imdb_id` і збережіть id з `tv_results`. Відповідь 429 містить `Retry-After`, як описано на сторінці [ліміти запитів](https://amodb.dev/uk/rate-limits/).

## Розрахунок завдання оновлення

Бібліотека користувача з 200 шоу потребує 200 запитів деталей для одного оновлення. За 20 запитів на хвилину це займає 10 хвилин, за 40 це 5, а за 120 менше 2. Перевірка ключа виконується перед edge-кешем, тож повторні виклики теж рахуються. В amodb немає стрічок змін, тому він не скаже, які id змінилися від певної дати. Натомість читайте `status` і `next_episode_to_air` з відповіді деталей. Шоу, що ще виходять, оновлюйте часто, а завершені рідко. Деталі кешуються на 6 годин, тож оновлення частіше повертає ті самі дані.

## Ціни

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

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

### Чи може amodb замінити історію перегляду та списки Trakt?

Ні. amodb не зберігає активність користувачів, а методи запису акаунтів, сесій, оцінок і списків у стилі TMDB повертають 405 зі status_code 37. Історію перегляду тримайте в Trakt або у власній базі даних.

### Чи потрібен OAuth, щоб викликати amodb?

Ні. Кожен запит несе ваш ключ у параметрі api_key або в заголовку Authorization Bearer. Потоку входу користувача немає, бо API віддає метадані, а не персональні дані.

### Як зіставити записи Trakt із назвами amodb?

Елементи Trakt містять id для інших баз, як-от IMDb і TMDB (точні поля дивіться в їхній документації). id TMDB працює в amodb напряму, а id IMDb розпізнається через /3/find з external_source=imdb_id.

### Чи є календар майбутніх епізодів?

Деталі серіалу дають next_episode_to_air для кожного шоу, яке ви відстежуєте, а /tv/airing_today і /tv/on_the_air перелічують шоу за розкладом. amodb не будує календар для конкретного користувача.

### Які ліміти запитів порівняно з Trakt?

Ліміти Trakt для публічних ендпоінтів метаданих дивіться в їхній документації. amodb дозволяє 20, 40 або 120 запитів на хвилину на ключ залежно від тарифу й показує залишок у заголовках відповіді.

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

- [API серіалів з даними про сезони та серії](https://amodb.dev/uk/tv-show-api/): API серіалів зі статусом, телемережами, сезонами, серіями та next_episode_to_air. JSON, сумісний із TMDB v3, 14 мовами, від 20 запитів на хвилину.
- [API серіалів](https://amodb.dev/uk/tv-series/): API серіалів з тими самими шляхами та JSON, що в TMDB v3. Отримайте серіал за id із сезонами, телемережами й наступною серією, плюс вікові рейтинги.
- [Пошук за зовнішнім ID](https://amodb.dev/uk/find-by-external-id/): Знайдіть фільм, серіал чи персону за id IMDb, TVDB, Wikidata або Kinopoisk через find TMDB, а також прочитайте зовнішні id і факти Wikidata про проєкт.
- [Ендпоінти трендів і списків](https://amodb.dev/uk/trending-lists/): API трендів фільмів зі шляхами TMDB v3: чарти за день і тиждень, а також списки в прокаті, популярних, найкращих і майбутніх фільмів та серіалів, кеш 30 хвилин.
- [Автентифікація](https://amodb.dev/uk/authentication/): Як надсилати ключ amodb: api_key у запиті, заголовок Authorization Bearer або apikey для викликів OMDb. Формат ключа, зберігання, заміна та помилки 401.
- [Ціни](https://amodb.dev/uk/pricing/): Тарифи amodb різняться лише запитами на хвилину: 20, 40 або 120. Кожен дає всі дані, сумісні з TMDB v3 та OMDb. Передплата, без поновлення й пробного періоду.

Оновлено: 2026-10-18. Source: https://amodb.dev/uk/trakt-api-alternative/
