# Alternatywa dla API Trakt

> Trakt skupia się na danych użytkownika: historii oglądania, listach do obejrzenia, ocenach, kalendarzach i OAuth. amodb nie przechowuje aktywności użytkowników. To płatne API metadanych filmów, seriali, osób, obrazów i ocen. Wiele aplikacji używa obu: stan użytkownika trzyma Trakt lub własna baza, a dane tytułów czyta się z amodb.

## Różne zadania, różne narzędzia

Trakt skupia się na danych użytkownika: historii oglądania, listach do obejrzenia, ocenach, kalendarzach i logowaniu przez OAuth. Ma też publiczne endpointy metadanych, a jego dokumentacja podaje obowiązujące limity. amodb ma jedno zadanie: metadane filmów, seriali i osób, zwracane jako JSON w kształcie TMDB v3. Wybierz Trakt dla tego, co zrobili twoi użytkownicy. Wybierz amodb dla tego, czym jest tytuł. Większość aplikacji potrzebujących obu wywołuje każdą usługę po swoją połowę.

## Dane użytkownika a dane tytułów

| Zadanie                     | Trakt                                                  | amodb                                                  |
| --------------------------- | ------------------------------------------------------ | ------------------------------------------------------ |
| Historia oglądania          | Funkcja podstawowa                                     | Niedostępne, zapisuj ją samodzielnie                   |
| Listy i listy do obejrzenia | Funkcja podstawowa                                     | Niedostępne, zapisy zwracają 405                       |
| Oceny użytkowników          | Funkcja podstawowa                                     | Niedostępne, zapisy zwracają 405                       |
| Kalendarze                  | Dla użytkownika, sprawdź ich dokumentację              | `next_episode_to_air` na serial i listy według ramówki |
| Logowanie                   | OAuth                                                  | Tylko klucz, bez logowania użytkownika                 |
| Metadane tytułów            | Publiczne endpointy, limity sprawdź w ich dokumentacji | Endpointy szczegółów w 14 językach                     |
| Obsada i ekipa              | Sprawdź ich dokumentację                               | `/credits` dla tytułu, `combined_credits` dla osoby    |
| Obrazy                      | Sprawdź ich dokumentację                               | `img.amodb.dev`, klucz niepotrzebny                    |
| Zwiastuny                   | Sprawdź ich dokumentację                               | `/videos` z `type` i `official`                        |
| Zmienione od daty           | Sprawdź ich dokumentację                               | Niedostępne, kanały zmian nie istnieją                 |

Do ramówek `GET /3/tv/airing_today` i `GET /3/tv/on_the_air` wypisują seriale według daty emisji, a każdy rekord serialu niesie własne `next_episode_to_air`. Dla zakończonego serialu to pole ma wartość `null`. Oba zestawienia opisuje strona [trendy i listy](https://amodb.dev/pl/trending-lists/). Kalendarz dla jednego użytkownika zbudujesz z własnych zapisów o oglądaniu.

## Porównanie funkcji

| Funkcja           | Trakt                                                                          | amodb                                                                   |
| ----------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------- |
| Model cenowy      | Sprawdź ich dokumentację                                                       | Okresy przedpłacone od 1 do 24 miesięcy                                 |
| Darmowy plan      | Sprawdź ich dokumentację                                                       | Brak, ani wersji próbnej                                                |
| Uwierzytelnianie  | OAuth dla danych użytkownika, dla publicznych wywołań sprawdź ich dokumentację | `api_key` lub nagłówek Bearer                                           |
| Format odpowiedzi | JSON, sprawdź ich dokumentację                                                 | JSON w kształcie TMDB v3                                                |
| Języki            | Sprawdź ich dokumentację                                                       | 14 języków interfejsu                                                   |
| Filmy             | Tak                                                                            | Tak                                                                     |
| Seriale           | Tak                                                                            | Tak, z sezonami i odcinkami                                             |
| Osoby             | Sprawdź ich dokumentację                                                       | Tak                                                                     |
| Obrazy            | Sprawdź ich dokumentację                                                       | `img.amodb.dev`, te same tokeny rozmiarów co TMDB                       |
| Oceny             | Oceny użytkowników, sprawdź ich dokumentację                                   | Wyniki z IMDb, Kinopoisk, Metacritic, Rotten Tomatoes i TMDB, gdy znane |
| Limit żądań       | Limity sprawdź w ich dokumentacji                                              | 20, 40 lub 120 na minutę na klucz                                       |
| Użycie komercyjne | Sprawdź ich dokumentację                                                       | Płatne plany, zobacz [cennik](https://amodb.dev/pl/pricing/)            |
| Zgodność          | Własne API                                                                     | Odczyty TMDB v3 i OMDb                                                  |

## Czym amodb się różni

- **Brak ekranu logowania dla twoich użytkowników.** Wystarczy klucz po stronie serwera. Nikt nie łączy konta, więc nie ma tokena do odświeżania ani ekranu zgody do wyjaśniania.
- **Szerokość pól.** Czas trwania, gatunki, firmy produkcyjne, klasyfikacje wiekowe, tłumaczenia i słowa kluczowe pochodzą z endpointów szczegółów, w języku, o który prosisz.
- **Opublikowane limity.** Limit planu to liczba na minutę, a każda odpowiedź pokazuje, ile zostało. Z tych liczb możesz dobrać rozmiar synchronizacji w tle.
- **Mierniki nastroju i ścieżki dźwiękowe.** Rozszerzenia ze stron [nastroje](https://amodb.dev/pl/moods/) i [ścieżki dźwiękowe](https://amodb.dev/pl/soundtracks/) dodają dane, które nie są częścią TMDB v3.

## Kiedy Trakt pasuje lepiej

- **Wszystko osobiste.** Scrobbling, synchronizacja historii, listy społecznościowe i kalendarze dla poszczególnych użytkowników to funkcje Trakt. amodb nie ma kont ani metod zapisu.
- **Stan między urządzeniami.** Jeśli użytkownik oczekuje tych samych oznaczeń obejrzenia na telefonie i telewizorze, stan musi żyć w usłudze użytkownika, a amodb nią nie jest.
- **Istniejące aplikacje z OAuth.** Jeśli twoja aplikacja już trzyma tokeny Trakt, zachowujesz je. Dodaj amodb tylko dla danych tytułów, które teraz pobierasz gdzie indziej.

## Przejście na amodb: łączenie rekordów

Nie migrujesz danych użytkowników, bo amodb żadnych nie trzyma. Zastępujesz wywołania metadanych. Pozycje Trakt niosą ID z innych baz (dokładne pola sprawdź w ich dokumentacji), więc zapisz ID z TMDB lub z IMDb obok każdego zapisu o oglądaniu i używaj go tutaj.

```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;
```

Gdy masz tylko ID z IMDb, wywołaj raz `/3/find/tt0903747?external_source=imdb_id` i zachowaj ID z `tv_results`. 429 zawiera `Retry-After`, jak opisuje strona [limity żądań](https://amodb.dev/pl/rate-limits/).

## Wymiarowanie zadania odświeżania

Biblioteka użytkownika z 200 serialami wymaga 200 żądań o szczegóły na jedno odświeżenie. Przy 20 żądaniach na minutę zajmuje to 10 minut, przy 40 zajmuje 5, a przy 120 mniej niż 2. Sprawdzenie klucza działa przed cache na edge, więc powtórzone wywołania też się liczą. amodb nie ma kanałów zmian, więc nie powie, które ID zmieniły się od daty. Zamiast tego odczytaj `status` i `next_episode_to_air` z odpowiedzi szczegółów. Seriale, które nadal są emitowane, odświeżaj często, a zakończone rzadko. Szczegóły zostają w cache 6 godzin, więc odświeżanie częstsze zwraca te same dane.

## Cennik

amodb jest przedpłacone i nie odnawia się samo. Wybierz 1, 3, 6, 12 lub 24 miesiące, za które jest zniżka 0, 10, 20, 30 lub 40 procent, oraz jeden z trzech planów z 20, 40 lub 120 żądaniami na minutę. Każdy plan zwraca wszystkie dane i nie ma darmowego planu. Kwoty są na stronie [cennik](https://amodb.dev/pl/pricing/).

## Pytania i odpowiedzi

### Czy amodb może zastąpić historię oglądania i listy do obejrzenia z Trakt?

Nie. amodb nie przechowuje żadnej aktywności użytkowników, a metody zapisu konta, sesji, ocen i list w stylu TMDB zwracają 405 z status_code 37. Historię oglądania trzymaj w Trakt lub we własnej bazie.

### Czy potrzebuję OAuth, by wywoływać amodb?

Nie. Każde żądanie niesie twój klucz w parametrze zapytania api_key lub w nagłówku Authorization Bearer. Nie ma logowania użytkownika, bo API udostępnia metadane, a nie dane osobowe.

### Jak połączyć rekordy z Trakt z tytułami amodb?

Pozycje Trakt wymieniają ID z innych baz, takich jak IMDb i TMDB (dokładne pola sprawdź w ich dokumentacji). ID z TMDB działa w amodb bezpośrednio, a ID z IMDb zamienia się przez /3/find z external_source=imdb_id.

### Czy jest kalendarz nadchodzących odcinków?

Szczegóły serialu dają next_episode_to_air dla każdego śledzonego serialu, a /tv/airing_today i /tv/on_the_air wypisują seriale według ramówki. amodb nie buduje kalendarza dla konkretnego użytkownika.

### Jakie są limity w porównaniu z Trakt?

Limity Trakt na publicznych endpointach metadanych sprawdź w ich dokumentacji. amodb dopuszcza 20, 40 lub 120 żądań na minutę na klucz, według planu, i pokazuje pozostałą liczbę w nagłówkach odpowiedzi.

## Powiązane strony

- [API seriali: seriale, sezony i odcinki](https://amodb.dev/pl/tv-show-api/): API seriali ze statusem, sieciami telewizyjnymi, sezonami, odcinkami i next_episode_to_air. JSON zgodny z TMDB v3 w 14 językach, od 20 żądań na minutę.
- [API szczegółów serialu](https://amodb.dev/pl/tv-series/): API szczegółów serialu z tymi samymi ścieżkami i JSON co TMDB v3. Serial po ID z sezonami, sieciami, klasyfikacją wiekową i dostawcami streamingu.
- [Wyszukiwanie po zewnętrznym ID](https://amodb.dev/pl/find-by-external-id/): Znajdź film, serial lub osobę po ID z IMDb, TVDB, Wikidata lub Kinopoisk przez endpoint find z TMDB oraz odczytaj zewnętrzne ID i fakty z Wikidata o tytule.
- [Trendy i listy](https://amodb.dev/pl/trending-lists/): API trendów filmowych ze ścieżkami TMDB v3: wykresy dzienne i tygodniowe oraz listy now playing, popular, top rated i upcoming, w cache 30 minut.
- [Uwierzytelnianie](https://amodb.dev/pl/authentication/): Jak wysłać klucz amodb: api_key w zapytaniu, nagłówek Authorization Bearer albo apikey dla wywołań OMDb. Format klucza, przechowywanie, rotacja i błędy 401.
- [Cennik](https://amodb.dev/pl/pricing/): Plany amodb płatne z góry różnią się tylko limitem żądań na minutę: 20, 40 lub 120. Każdy plan ma wszystkie dane TMDB v3 i OMDb. Bez odnowień i okresu próbnego.

Zaktualizowano: 2026-10-18. Source: https://amodb.dev/pl/trakt-api-alternative/
