Il confronto in breve

amodb è un'API indipendente che parla lo stesso protocollo di TMDB v3. Un client scritto per TMDB legge da amodb dopo che hai cambiato l'URL di base e la chiave, purché non chiami un percorso della tabella dei non offerti qui sotto. La scelta riguarda quindi condizioni, extra e qualche lacuna. TMDB offre un'API gratuita per usi idonei secondo le proprie condizioni. amodb è un'API a pagamento di sola lettura, con 14 lingue, cinque blocchi di dati extra e un limite contato per chiave.

Parità degli endpoint

Ogni riga mostra un percorso di lettura TMDB v3 e come si comporta su https://api.amodb.dev/3.

AreaPercorso TMDB v3Su amodb
Dettagli del film/movie/{movie_id}Uguale, con cinque valori append_to_response in più
Dettagli della serie TV/tv/{series_id}Uguale, ma senza campo type, e created_by è vuoto per la maggior parte delle serie
Stagioni ed episodi/tv/{series_id}/season/{season_number}Stessa struttura. Immagini, video e traduzioni delle stagioni sono vuoti, e gli external_ids di stagioni ed episodi sono nulli
Persone/person/{person_id}Uguale, con combined_credits, movie_credits, tv_credits, external_ids e images (solo profili)
Crediti/movie/{movie_id}/creditsUguale. Sugli episodi cast è vuoto
Ricerca/search/multiUguale, in cache 10 minuti
Discover/discover/movieUguale, in cache 30 minuti
Tendenze/trending/{media_type}/{time_window}Uguale, in cache 30 minuti
Liste/movie/popularUguale, page da 1 a 500
Immagini/movie/{movie_id}/imagesStessa struttura, i file si caricano da img.amodb.dev
Video/movie/{movie_id}/videosUguale
Traduzioni/movie/{movie_id}/translationsUguale, 14 lingue servite
Parole chiave/movie/{movie_id}/keywordsUguale
Recensioni/movie/{movie_id}/reviewsRisponde 200, ma solo pochi titoli hanno recensioni, quindi una lista vuota è normale
Collezioni/collection/{collection_id}Uguale, parts ordinati per data di uscita
Società ed emittenti/company/{company_id}Stesse chiavi. La description di una società è vuota e parent_company è null
Generi/genre/movie/listUguale
Configurazione/configurationStesse chiavi, l'host delle immagini è img.amodb.dev
Ricerca per ID esterno/find/{external_id}Stesso endpoint, più kinopoisk_id. tv_episode_results e tv_season_results sono sempre vuoti
Gruppi di episodi/tv/{series_id}/episode_groupsElenca i gruppi di una serie, senza il loro contenuto

Non offerto su amodb

Queste chiamate TMDB v3 non hanno un equivalente. I percorsi sconosciuti rispondono 404 con status_code 34, e i metodi di scrittura rispondono 405 con status_code 37.

Chiamata TMDB v3Risposta di amodb
/movie/changes, /tv/changes, /person/changes e changes sotto un ID404, status_code 34
aggregate_credits sotto una serie o una stagione404, status_code 34
/credit/{credit_id} e /review/{review_id}404, status_code 34
/tv/episode_group/{id}404, status_code 34
/person/{person_id}/translations, tagged_images e /person/latest404, status_code 34
images, translations e alternative_names per collezioni, società ed emittenti404, status_code 34
/configuration/timezones404, status_code 34
Tutto ciò che sta sotto account, authentication, guest_session e list, e qualsiasi percorso /rating o /account_states405, status_code 37

Se aggiungi aggregate_credits o changes a append_to_response, amodb ignora il nome senza errore, quindi la chiave semplicemente manca nel corpo.

Confronto delle funzionalità

FunzionalitàTMDBamodb
Modello di prezzoGratuito per usi idonei, secondo le condizioni di TMDBPrepagato, da 1 a 24 mesi per acquisto
Piano gratuitoSì, per usi idoneiNessuno, e nessuna prova
AutenticazioneChiave v3 in api_key, o token v4 come Bearerapi_key o Bearer con una chiave esadecimale di 32 caratteri
Formato della rispostaJSONJSON, stessi campi sui percorsi serviti
LingueVedi la loro documentazione14 servite, gli altri tag ripiegano su en
FilmSìSì
Serie TVSìSì
PersoneSìSì
ImmaginiSìimg.amodb.dev, dimensioni da w92 a original
ValutazioniPunteggio degli utenti TMDB, altre fonti: vedi la loro documentazioneCinque fonti in un solo oggetto, quando sono note
Metodi di scritturaMetodi per account, liste e valutazioniNessuno, rispondono 405
Limite di richiesteVedi la loro documentazione20, 40 o 120 al minuto per chiave
Uso commercialePer uso commerciale e attribuzione vedi le loro condizioniPiani a pagamento, vedi i prezzi
CompatibilitàDefinisce TMDB v3La maggior parte dei percorsi di lettura TMDB v3 e una rotta OMDb

Cosa cambia nel dettaglio

  • Condizioni. TMDB ti chiede di leggere le sue condizioni su uso commerciale e attribuzione. amodb si vende a periodo prepagato, senza rinnovo automatico, senza piano gratuito e senza prova.
  • Lingue. amodb serve en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it ed es. Accetta i tag TMDB come ru-RU e pt-BR. Tedesco, giapponese e coreano ripiegano su en, mentre original_title conserva il titolo originale. Per la copertura linguistica di TMDB, vedi la loro documentazione. Vedi lingue.
  • Estensioni. append_to_response accetta anche moods, soundtracks, ratings, wikidata e showtimes, e ognuna ha un proprio percorso sotto film e serie.
  • ID esterni. /3/find risolve imdb_id, tvdb_id, wikidata_id, kinopoisk_id, facebook_id, twitter_id e instagram_id. Le fonti freebase_mid, freebase_id, tvrage_id, tiktok_id e youtube_id sono accettate ma restituiscono array vuoti. Un external_source mancante o sconosciuto risponde 400 con status_code 22.
  • Vuoto per scelta. Immagini, video e traduzioni delle stagioni e la description di una società sono sempre vuoti. Recensioni e created_by di una serie sono compilati solo per pochi titoli. Gli external_ids di stagioni ed episodi sono tutti nulli.
  • Titoli per adulti. include_adult viene ignorato. Titoli e persone per adulti non vengono mai serviti e rispondono 404.
  • Immagini. Il percorso del CDN è https://img.amodb.dev/t/p/{size}/{file}. Non serve alcuna chiave e i file restano in cache 30 giorni.
  • Limiti. La finestra è scorrevole di 60 secondi per chiave. Gli header mostrano il conteggio rimanente, e anche le risposte dalla cache contano, perché il controllo del limite viene per primo.
  • Indipendenza. Il catalogo proviene da fonti pubbliche e aperte e da un nostro arricchimento. Una struttura condivisa non garantisce valori identici per ogni campo di ogni titolo.

Dove TMDB è più adatto

  • Uso gratuito idoneo. Non serve alcun pagamento, e amodb non può competere.
  • Scritture. Valutare un titolo, creare una lista e gestire le sessioni di account funzionano su TMDB. Su amodb restituiscono 405.
  • Feed delle modifiche. TMDB elenca gli ID modificati. amodb non ha un feed simile, quindi aggiorni con i tuoi tempi.
  • Crediti aggregati e ricerche di crediti. Entrambi rispondono 404 su amodb. Usa /credits sul titolo.
  • Esigenze linguistiche più ampie. Se la tua interfaccia richiede una lingua fuori dalle 14, controlla prima TMDB.
  • Approvazione già ottenuta. Un team che ha superato la revisione legale per TMDB deve valutare il costo di una seconda revisione.

Migrare ad amodb

Il cambiamento è una riga per richiesta.

Shell
# 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"

Prima del passaggio, confronta affiancata la struttura di qualche risposta. Questo script stampa le chiavi di primo livello che un lato restituisce e l'altro no.

JavaScript
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');
}

I campi facoltativi possono differire per un dato titolo, quindi leggi una chiave mancante come una pista da esaminare e non come un verdetto. Poi segui questo elenco:

  1. Scegli un piano nella pagina dei prezzi, poi crea una chiave nella dashboard del tuo account.
  2. Sposta l'URL di base e la chiave nella configurazione.
  3. Leggi images.secure_base_url da /3/configuration.
  4. Cerca nel tuo codice le chiamate di scrittura e i percorsi della tabella dei non offerti. Lascia le scritture su TMDB e sostituisci il resto.
  5. Aggiungi un gestore del 429 che attende Retry-After secondi. Vedi limiti di richieste ed errori.

Prezzi

amodb è prepagato. Scegli 1, 3, 6, 12 o 24 mesi, che danno uno sconto di 0, 10, 20, 30 o 40 per cento, e uno dei tre piani da 20, 40 o 120 richieste al minuto. Ogni piano restituisce tutti i dati e nessuno si rinnova da solo. Vedi i prezzi per gli importi.