Які 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-кэшу, таму паўторны запыт усё роўна расходуе адзін з вашых запытаў у хвіліну. Планаваць трэба па агульнай колькасці запытаў, а не па прамахах кэшу.
Параўнанне магчымасцей
| Магчымасць | TMDB | amodb |
|---|---|---|
| Мадэль цэнаўтварэння | Бясплатны API для кваліфікаванага выкарыстання па ўласных умовах | Перыяды з аплатай наперад на 1, 3, 6, 12 або 24 месяцы |
| Бясплатны тарыф | Так, для кваліфікаванага выкарыстання | Няма, пробнага перыяду таксама няма |
| Аўтэнтыфікацыя | Ключ v3 у api_key або токен v4 як Bearer | api_key або Bearer, ключ з 32 шаснаццатковых сімвалаў |
| Фармат адказу | JSON | JSON у форме 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:/адказвае на выклікі ў стылі OMDb з параметрам/ api.amodb.dev/ 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
- Абярыце план на старонцы цэны і стварыце ключ у асабістым кабінеце.
- Замяніце базавы URL і ключ у адным месцы, як ніжэй.
- Прачытайце
images.secure_base_urlз/3/configuration, каб спасылкі на выявы выкарыстоўваліimg.amodb.dev. - Прыбярыце выклікі метадаў запісу і шляхоў з табліцы вышэй.
- Апрацуйце 429, чакаючы
Retry-Afterсекунд.
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, не трэба перапісваць.
| HTTP | status_code | Тыповая прычына |
|---|---|---|
| 401 | 7 | Ключ адсутнічае або памылкова набраны |
| 401 | 10 | Ключ прыпынены |
| 402 | 36 | Аплачаны перыяд скончыўся |
| 404 | 34 | Id не знойдзены або шлях, якога amodb не прапануе |
| 405 | 37 | Метад запісу, які ваш код усё яшчэ выклікае |
| 429 | 25 | Больш запытаў, чым дазваляе план за 60 секунд |
Лічыце 402 сігналам прадоўжыць доступ уручную, бо нічога не прадаўжаецца аўтаматычна. Поўны спіс ёсць на старонцы памылкі.
Цэны
amodb працуе з аплатай наперад. Абярыце перыяд з 1, 3, 6, 12 або 24 месяцаў са зніжкай 0, 10, 20, 30 або 40 працэнтаў і адзін з трох планаў на 20, 40 або 120 запытаў у хвіліну. Кожны план дае ўсе даныя, і нічога не прадаўжаецца аўтаматычна. Бясплатнага тарыфа і пробнага перыяду няма. Бягучыя сумы ёсць на старонцы цэны.