Кое 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, което помага, когато две ваши системи ползват различни протоколи. - Известни срокове на кеша. Детайлите и участниците стоят 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
- Изберете план на страницата с цените и създайте ключ в личния си профил.
- Сменете базовия 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 заявки в минута. Всеки план получава всички данни и нищо не се подновява автоматично. Няма безплатен план и пробен период. Текущите суми са на страницата с цените.