Krótkie porównanie

amodb to niezależne API mówiące tym samym protokołem co TMDB v3. Klient napisany dla TMDB czyta z amodb po zmianie bazowego URL i klucza, o ile nie wywołuje ścieżki z poniższej tabeli niedostępnych. Wybór zależy więc od warunków, dodatków i kilku luk. TMDB oferuje darmowe API dla kwalifikowanego użycia według własnych warunków. amodb to płatne API tylko do odczytu z 14 językami, pięcioma dodatkowymi blokami danych i limitem liczonym na klucz.

Zgodność endpointów

Każdy wiersz pokazuje ścieżkę odczytu TMDB v3 i to, jak zachowuje się na https://api.amodb.dev/3.

ObszarŚcieżka TMDB v3W amodb
Szczegóły filmu/movie/{movie_id}To samo, z pięcioma dodatkowymi wartościami append_to_response
Szczegóły serialu/tv/{series_id}To samo, ale bez pola type, a created_by jest puste dla większości seriali
Sezony i odcinki/tv/{series_id}/season/{season_number}Ten sam kształt. Obrazy, wideo i tłumaczenia sezonów są puste, a external_ids sezonów i odcinków mają wartość null
Osoby/person/{person_id}To samo, z combined_credits, movie_credits, tv_credits, external_ids i images (tylko profile)
Obsada i ekipa/movie/{movie_id}/creditsTo samo. W odcinkach cast jest puste
Wyszukiwanie/search/multiTo samo, w cache 10 minut
Discover/discover/movieTo samo, w cache 30 minut
Trendy/trending/{media_type}/{time_window}To samo, w cache 30 minut
Listy/movie/popularTo samo, page od 1 do 500
Obrazy/movie/{movie_id}/imagesTen sam kształt, pliki ładują się z img.amodb.dev
Wideo/movie/{movie_id}/videosTo samo
Tłumaczenia/movie/{movie_id}/translationsTo samo, obsługiwanych 14 języków
Słowa kluczowe/movie/{movie_id}/keywordsTo samo
Recenzje/movie/{movie_id}/reviewsOdpowiada 200, ale recenzje ma tylko kilka tytułów, więc pusta lista jest normalna
Kolekcje/collection/{collection_id}To samo, parts uporządkowane według daty premiery
Firmy i sieci/company/{company_id}Te same klucze. description firmy jest puste, a parent_company ma wartość null
Gatunki/genre/movie/listTo samo
Konfiguracja/configurationTe same klucze, host obrazów to img.amodb.dev
Wyszukiwanie po zewnętrznym ID/find/{external_id}Ten sam endpoint plus kinopoisk_id. tv_episode_results i tv_season_results są zawsze puste
Grupy odcinków/tv/{series_id}/episode_groupsWypisuje grupy serialu, bez ich zawartości

Niedostępne w amodb

Te wywołania TMDB v3 nie mają odpowiednika. Nieznane ścieżki odpowiadają 404 z status_code 34, a metody zapisu odpowiadają 405 z status_code 37.

Wywołanie TMDB v3Odpowiedź amodb
/movie/changes, /tv/changes, /person/changes i changes pod jednym ID404, status_code 34
aggregate_credits pod serialem lub sezonem404, status_code 34
/credit/{credit_id} i /review/{review_id}404, status_code 34
/tv/episode_group/{id}404, status_code 34
/person/{person_id}/translations, tagged_images i /person/latest404, status_code 34
images, translations i alternative_names dla kolekcji, firm i sieci404, status_code 34
/configuration/timezones404, status_code 34
Wszystko pod account, authentication, guest_session i list oraz każda ścieżka /rating lub /account_states405, status_code 37

Jeśli dodasz aggregate_credits lub changes do append_to_response, amodb ignoruje nazwę bez błędu, więc klucza po prostu brakuje w treści.

Porównanie funkcji

FunkcjaTMDBamodb
Model cenowyZa darmo dla kwalifikowanego użycia, według warunków TMDBPrzedpłata, od 1 do 24 miesięcy na zakup
Darmowy planTak, dla kwalifikowanego użyciaBrak, ani wersji próbnej
UwierzytelnianieKlucz v3 w api_key albo token v4 jako Bearerapi_key lub Bearer z 32-znakowym kluczem szesnastkowym
Format odpowiedziJSONJSON, te same pola na udostępnianych ścieżkach
JęzykiSprawdź ich dokumentację14 obsługiwanych, inne tagi wracają do en
FilmyTakTak
SerialeTakTak
OsobyTakTak
ObrazyTakimg.amodb.dev, rozmiary od w92 do original
OcenyOcena użytkowników TMDB, inne źródła: sprawdź ich dokumentacjęPięć źródeł w jednym obiekcie, gdy znane
Metody zapisuMetody konta, list i ocenBrak, odpowiadają 405
Limit żądańSprawdź ich dokumentację20, 40 lub 120 na minutę na klucz
Użycie komercyjneSprawdź ich warunki użycia komercyjnego i atrybucjiPłatne plany, zobacz cennik
ZgodnośćDefiniuje TMDB v3Większość ścieżek odczytu TMDB v3 i trasa OMDb

Czym różnią się szczegółowo

  • Warunki. TMDB prosi o zapoznanie się z jego warunkami użycia komercyjnego i atrybucji. amodb jest sprzedawane w okresach przedpłaconych, nie ma automatycznego odnawiania, darmowego planu ani wersji próbnej.
  • Języki. amodb obsługuje en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it i es. Przyjmuje tagi TMDB, takie jak ru-RU i pt-BR. Niemiecki, japoński i koreański wracają do en, a original_title zachowuje tytuł źródłowy. Zakres języków TMDB sprawdź w ich dokumentacji. Zobacz języki.
  • Rozszerzenia. append_to_response przyjmuje też moods, soundtracks, ratings, wikidata i showtimes, a każde ma własną ścieżkę pod filmami i serialami.
  • Zewnętrzne ID. /3/find rozwiązuje imdb_id, tvdb_id, wikidata_id, kinopoisk_id, facebook_id, twitter_id i instagram_id. Źródła freebase_mid, freebase_id, tvrage_id, tiktok_id i youtube_id są przyjmowane, ale zwracają puste tablice. Brakujące lub nieznane external_source odpowiada 400 z status_code 22.
  • Puste z założenia. Obrazy, wideo i tłumaczenia sezonów oraz description firmy są zawsze puste. Recenzje i created_by w serialu są wypełnione tylko dla kilku tytułów. external_ids sezonów i odcinków mają wszystkie wartość null.
  • Tytuły dla dorosłych. include_adult jest ignorowane. Tytuły i osoby dla dorosłych nigdy nie są udostępniane i odpowiadają 404.
  • Obrazy. Ścieżka CDN to https://img.amodb.dev/t/p/{size}/{file}. Klucz nie jest potrzebny, a pliki są w cache przez 30 dni.
  • Limity. Okno to przesuwane 60 sekund na klucz. Nagłówki pokazują pozostałą liczbę, a trafienia w cache też się liczą, bo sprawdzenie limitu działa pierwsze.
  • Niezależność. Katalog pochodzi z publicznych i otwartych źródeł oraz z naszego własnego wzbogacania. Wspólny kształt nie gwarantuje identycznych wartości każdego pola każdego tytułu.

Kiedy TMDB pasuje lepiej

  • Darmowe kwalifikowane użycie. Nie trzeba płacić i amodb nie może tego dorównać.
  • Zapisy. Ocenianie tytułu, budowanie list i sesje konta działają w TMDB. W amodb zwracają 405.
  • Kanały zmian. TMDB wymienia ID, które się zmieniły. amodb nie ma takiego kanału, więc odświeżasz według własnego harmonogramu.
  • Aggregate credits i wyszukiwanie wpisów obsady. Oba odpowiadają w amodb 404. Użyj /credits na tytule.
  • Szersze potrzeby językowe. Jeśli interfejs potrzebuje języka spoza 14, najpierw sprawdź TMDB.
  • Istniejąca akceptacja. Zespół, który przeszedł TMDB przez przegląd prawny, powinien rozważyć koszt drugiego przeglądu.

Przejście na amodb

Zmiana to jedna linia na żądanie.

Shell
# 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"

Przed przełączeniem porównaj kształt kilku odpowiedzi obok siebie. Ten skrypt wypisuje klucze najwyższego poziomu, które jedna strona zwraca, a druga nie.

JavaScript
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');
}

Pola opcjonalne mogą różnić się dla danego tytułu, więc brakujący klucz traktuj jako trop do sprawdzenia, a nie wyrok. Potem przejdź tę listę:

  1. Wybierz plan na stronie cennik, a potem utwórz klucz w panelu konta.
  2. Przenieś bazowy URL i klucz do konfiguracji.
  3. Odczytaj images.secure_base_url z /3/configuration.
  4. Przeszukaj kod pod kątem wywołań zapisu i ścieżek z tabeli niedostępnych. Zapisy zostaw na TMDB, a resztę zastąp.
  5. Dodaj obsługę 429, która czeka Retry-After sekund. Zobacz limity żądań i błędy.

Cennik

amodb jest przedpłacone. 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 żaden nie odnawia się sam. Kwoty zobacz w cennik.