Які 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, што дапамагае, калі дзве вашы сістэмы выкарыстоўваюць розныя пратаколы.
  • Вядомыя тэрміны кэшу. Дэталі і ўдзельнікі застаюцца на edge 6 гадзін, трэнды і 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 запытаў у хвіліну. Кожны план дае ўсе даныя, і нічога не прадаўжаецца аўтаматычна. Бясплатнага тарыфа і пробнага перыяду няма. Бягучыя сумы ёсць на старонцы цэны.