Кое API да изберете

TMDB предлага безплатно API за допустимо ползване по собствените си условия, с ключове за API v3 и токени v4. Прочетете тези условия за търговска употреба и посочване на авторство, преди да пуснете продукта. Изберете алтернатива, когато искате платено споразумение, лимит, около който да планирате, или повече данни във всеки отговор. amodb е независимо API, което работи по протокола на TMDB v3 за четене, така че смяната означава нов базов URL и нов ключ. То е само за четене и някои пътища на TMDB не се предлагат, както е изброено по-долу.

Останете на TMDB, ако безплатните условия пасват на проекта ви и нищо от следващия раздел не се отнася за вас.

Сигнали, че ви трябва алтернатива

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

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

Попаденията в кеша също се броят. Проверката на ключа и лимитът на заявките се изпълняват преди edge кеша, така че повторна заявка пак харчи една от вашите заявки в минута. Планирайте по общия брой заявки, а не по пропуските на кеша.

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

ФункцияTMDBamodb
Модел на ценитеБезплатно API за допустимо ползване по собствените му условияПредплатени периоди от 1, 3, 6, 12 или 24 месеца
Безплатен планДа, за допустимо ползванеНяма, и няма пробен период
УдостоверяванеКлюч v3 в api_key или токен v4 като Bearerapi_key или Bearer, ключ от 32 шестнайсетични символа
Формат на отговораJSONJSON във формата на TMDB v3
ЕзициВижте документацията им14 езика на интерфейса
ФилмиДаДа
СериалиДаДа, със сезони и епизоди
ЛичностиДаДа
ИзображенияДа, от собствен хост за изображенияimg.amodb.dev, същите токени за размери, без ключ
РейтингиПотребителска оценка на TMDB, за други източници вижте документацията имОценка на TMDB плюс IMDb, Kinopoisk, Metacritic и Rotten Tomatoes, където са известни
Методи за записМетоди за акаунт, списъци и оценкиНе се предлагат, отговарят с 405
Лимит на заявкитеВижте документацията им20, 40 или 120 в минута на ключ
Търговска употребаВижте условията им за търговска употреба и посочване на авторствоПродава се като платено API, вижте цени
СъвместимостОпределя протокола v3Повечето пътища за четене на v3, плюс OMDb

С какво се различава amodb

  • Лимити, които можете да прочетете. Всеки отговор с ключ носи X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset в секунди. 429 добавя Retry-After. Числата са обяснени на страницата лимити на заявките.
  • Допълнителни блокове в едно извикване. Рейтинги от пет източника, индикатори за настроение, саундтраци, факти от Wikidata и прожекции в кината пристигат през append_to_response, така че една страница на заглавие може да ползва една заявка.
  • Повече източници на външни id. /3/find разрешава imdb_id, tvdb_id, wikidata_id и kinopoisk_id, а също facebook_id, twitter_id и instagram_id. Вижте търсене по външен идентификатор.
  • OMDb на същия ключ. https://api.amodb.dev/omdb/ отговаря на извиквания в стил OMDb с параметър apikey, което помага, когато две ваши системи ползват различни протоколи.
  • Известни срокове на кеша. Детайлите и участниците стоят 6 часа на edge, тенденциите и 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.

Извикване на TMDBОтговор на amodb
Запис за акаунт, сесии, оценки и списъци405, status_code 37
Changes, aggregate credits, търсения на credit и review, съдържание на групи епизоди404, status_code 34
Преводи на личности, изображения и преводи на колекции, компании и мрежи404, status_code 34
Списък с ревюта на филм или сериал200, празен за повечето заглавия
Изображения, видеа и преводи на сезони200, празен
Външни id на сезони и епизоди200, все null

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

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

  1. Изберете план на страницата с цените и създайте ключ в личния си профил.
  2. Сменете базовия URL и ключа на едно място, както по-долу.
  3. Прочетете images.secure_base_url от /3/configuration, за да ползват връзките към изображения img.amodb.dev.
  4. Махнете извикванията към методи за запис и към пътищата от таблицата по-горе.
  5. Обработете 429, като изчакате Retry-After секунди.
JavaScript
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 адреса преди прехода. Споделената форма не гарантира еднакви стойности, затова сравнете извадка от собствените си заглавия. Пълното ръководство е в бърз старт, а таблица лице в лице е на страницата amodb срещу TMDB.

Обработката на грешки се пренася

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

HTTPstatus_codeТипична причина
4017Ключът липсва или е сгрешен
40110Ключът е спрян
40236Предплатеният период е приключил
40434Id не е намерено или път, който amodb не предлага
40537Метод за запис, който кодът ви още вика
42925Повече заявки, отколкото планът позволява за 60 секунди

Третирайте 402 като сигнал да подновите ръчно, защото нищо не се подновява автоматично. Пълният списък е на страницата грешки.

Цени

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