Кратко сравнение

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/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 под едно id404, 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/latest404, status_code 34
images, translations и alternative_names за колекции, компании и мрежи404, status_code 34
/configuration/timezones404, status_code 34
Всичко под account, authentication, guest_session и list, и всеки път /rating или /account_states405, status_code 37

Ако добавите aggregate_credits или changes към append_to_response, amodb игнорира името без грешка, така че ключът просто липсва в тялото.

Сравнение на функциите

ФункцияTMDBamodb
Модел на ценитеБезплатно за допустимо ползване, по условията на TMDBПредплатен, от 1 до 24 месеца на покупка
Безплатен планДа, за допустимо ползванеНяма, и няма пробен период
УдостоверяванеКлюч v3 в api_key или токен v4 като Bearerapi_key или Bearer с шестнайсетичен ключ от 32 символа
Формат на отговораJSONJSON, същите полета на обслужваните пътища
ЕзициВижте документацията имОбслужват се 14, другите тагове се заменят с en
ФилмиДаДа
СериалиДаДа
ЛичностиДаДа
ИзображенияДаimg.amodb.dev, размери от w92 до original
РейтингиПотребителска оценка на TMDB, други източници: вижте документацията имПет източника в един обект, където са известни
Методи за записМетоди за акаунт, списъци и оценкиНяма, отговарят с 405
Лимит на заявкитеВижте документацията им20, 40 или 120 в минута на ключ
Търговска употребаВижте условията им за търговска употреба и посочване на авторствоПлатени планове, вижте цени
СъвместимостОпределя 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 вижте документацията им. Вижте езици.
  • Разширения. 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.
  • Потоци с промени. TMDB изброява id, които са се променили. amodb няма такъв поток, затова обновявате по собствен график.
  • Aggregate credits и търсене на credit. И двете отговарят с 404 в amodb. Ползвайте /credits на заглавието.
  • По-широки езикови нужди. Ако интерфейсът ви изисква език извън 14-те, проверете първо TMDB.
  • Съществуващо одобрение. Екип, който е минал TMDB през юридическа проверка, трябва да прецени цената на втора проверка.

Миграция към amodb

Промяната е един ред на заявка.

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"

Преди прехода сравнете формата на няколко отговора един до друг. Този скрипт отпечатва ключовете на най-горно ниво, които едната страна връща, а другата не.

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

Незадължителните полета могат да се различават за конкретно заглавие, затова четете липсващ ключ като следа за проверка, а не като присъда. После минете през този списък:

  1. Изберете план на страницата с цените, после създайте ключ в личния си профил.
  2. Преместете базовия URL и ключа в конфигурацията.
  3. Прочетете images.secure_base_url от /3/configuration.
  4. Потърсете в кода си извиквания за запис и пътищата от таблицата „не се предлагат“. Оставете записа в TMDB, а останалото заменете.
  5. Добавете обработка на 429, която изчаква Retry-After секунди. Вижте лимити на заявките и грешки.

Цени

amodb е предплатен. Изберете 1, 3, 6, 12 или 24 месеца с отстъпка 0, 10, 20, 30 или 40 процента и един от три плана за 20, 40 или 120 заявки в минута. Всеки план връща всички данни и нито един не се подновява сам. Вижте сумите на страницата с цените.