Коротке порівняння
amodb це незалежний API, що говорить тим самим протоколом, що й TMDB v3. Клієнт, написаний для TMDB, читає з amodb після зміни базового URL і ключа, якщо він не викликає шлях із таблиці «не пропонується» нижче. Тож вибір залежить від умов, додаткових можливостей і кількох прогалин. TMDB пропонує безкоштовний API для відповідного використання за власними умовами. amodb це платний API лише для читання з 14 мовами, п'ятьма додатковими блоками даних і лімітом, що рахується на ключ.
Збіг ендпоінтів
Кожен рядок показує шлях читання TMDB v3 і те, як він поводиться на https:/.
| Область | Шлях TMDB v3 | В amodb |
|---|---|---|
| Деталі фільму | /movie/{movie_id} | Так само, з п'ятьма додатковими значеннями append_to_response |
| Деталі серіалу | /tv/{series_id} | Так само, але без поля type, а created_by порожнє для більшості серіалів |
| Сезони й серії | / | Та сама структура. Зображення, відео й переклади сезонів порожні, а external_ids сезонів і серій дорівнюють null |
| Персони | /person/{person_id} | Так само, з combined_credits, movie_credits, tv_credits, external_ids та images (лише профілі) |
| Акторський склад і знімальна група | / | Так само. У серій cast порожній |
| Пошук | /search/multi | Так само, кеш 10 хвилин |
| Discover | /discover/movie | Так само, кеш 30 хвилин |
| Тренди | / | Так само, кеш 30 хвилин |
| Списки | /movie/popular | Так само, page від 1 до 500 |
| Зображення | / | Та сама структура, файли завантажуються з img.amodb.dev |
| Відео | / | Так само |
| Переклади | / | Так само, підтримується 14 мов |
| Ключові слова | / | Так само |
| Рецензії | / | Відповідає 200, але рецензії є лише в кількох тайтлів, тож порожній список це норма |
| Колекції | / | Так само, 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 завжди порожні |
| Групи серій | / | Перелічує групи серіалу без їхнього вмісту |
Що не пропонується в amodb
Ці виклики TMDB v3 не мають відповідників. Невідомі шляхи відповідають 404 зі status_code 34, а методи запису відповідають 405 зі status_code 37.
| Виклик TMDB v3 | Відповідь amodb |
|---|---|
/movie/changes, /tv/changes, /person/changes і changes під одним id | 404, 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 |
/, tagged_images і /person/latest | 404, status_code 34 |
images, translations і alternative_names для колекцій, компаній і телемереж | 404, status_code 34 |
/ | 404, status_code 34 |
Усе під account, authentication, guest_session і list, а також будь-який шлях /rating або /account_states | 405, status_code 37 |
Якщо ви додасте aggregate_credits або changes до append_to_response, amodb ігнорує цю назву без помилки, тож ключа просто немає в тілі відповіді.
Порівняння можливостей
| Можливість | TMDB | amodb |
|---|---|---|
| Модель оплати | Безкоштовно для відповідного використання, за умовами TMDB | Передплата, від 1 до 24 місяців за покупку |
| Безкоштовний тариф | Так, для відповідного використання | Немає, пробного періоду теж |
| Автентифікація | Ключ v3 в api_key або токен v4 як Bearer | api_key або Bearer із 32-символьним шістнадцятковим ключем |
| Формат відповіді | JSON | JSON, ті самі поля на шляхах, які він обслуговує |
| Мови | Дивіться їхню документацію | 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_code22. - Порожнє за задумом. Зображення, відео й переклади сезонів та
descriptionкомпанії завжди порожні. Рецензії йcreated_byсеріалу заповнені лише для кількох тайтлів.external_idsсезонів і серій усі дорівнюють null. - Матеріали для дорослих.
include_adultігнорується. Тайтли й персони для дорослих ніколи не віддаються та відповідають 404. - Зображення. Шлях CDN:
https:/. Ключ не потрібен, а файли кешуються на 30 днів./ img.amodb.dev/ t/ p/ {size}/ {file} - Ліміти. Вікно це ковзні 60 секунд на ключ. Заголовки показують залишок, а влучання в кеш усе одно враховуються, бо перевірка ліміту виконується першою.
- Незалежність. Каталог походить із публічних і відкритих джерел та нашого власного збагачення. Спільна структура не гарантує однакових значень кожного поля кожного тайтла.
Де TMDB підходить краще
- Безкоштовне відповідне використання. Платити не потрібно, і amodb цього не може повторити.
- Запис. Оцінювання тайтла, створення списку та сесії акаунта працюють у TMDB. В amodb вони повертають 405.
- Стрічки змін. TMDB перелічує id, що змінилися. В amodb такої стрічки немає, тож ви оновлюєте за власним розкладом.
- Aggregate credits і пошук credit. Обидва в amodb відповідають 404. Використовуйте
/creditsтайтла. - Ширші мовні потреби. Якщо вашому інтерфейсу потрібна мова поза цими 14, спершу перевірте TMDB.
- Наявне погодження. Команда, яка пройшла юридичну перевірку TMDB, має зважити вартість другої перевірки.
Міграція на amodb
Зміна полягає в одному рядку на запит.
# 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"Перед переходом порівняйте структуру кількох відповідей поруч. Цей скрипт виводить ключі верхнього рівня, які одна сторона повертає, а інша ні.
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');
}Необов'язкові поля можуть відрізнятися для окремого тайтла, тож сприймайте відсутній ключ як привід перевірити, а не як вирок. Потім пройдіть цей список:
- Оберіть тариф на сторінці ціни, потім створіть ключ у кабінеті акаунта.
- Винесіть базовий URL і ключ у конфігурацію.
- Прочитайте
images.secure_base_urlз/3/configuration. - Знайдіть у коді виклики запису та шляхи з таблиці «не пропонується». Залиште запис на TMDB, а решту замініть.
- Додайте обробник 429, що чекає
Retry-Afterсекунд. Дивіться ліміти запитів і помилки.
Ціни
amodb працює за передплатою. Оберіть 1, 3, 6, 12 або 24 місяці зі знижкою 0, 10, 20, 30 або 40 відсотків і один із трьох тарифів на 20, 40 або 120 запитів на хвилину. Кожен тариф повертає всі дані, і жоден не поновлюється сам. Суми дивіться на сторінці ціни.