Comparația pe scurt

amodb este un API independent care vorbește același protocol ca TMDB v3. Un client scris pentru TMDB citește de la amodb după ce schimbi URL-ul de bază și cheia, atâta timp cât nu apelează o cale din tabelul cu apeluri neoferite de mai jos. Alegerea ține deci de termeni, extra și câteva lipsuri. TMDB oferă un API gratuit pentru utilizări eligibile, în termenii proprii. amodb este un API doar pentru citire, cu plată, cu 14 limbi, cinci blocuri de date în plus și o limită numărată pe cheie.

Paritatea endpoint-urilor

Fiecare rând arată o cale de citire TMDB v3 și cum se comportă pe https://api.amodb.dev/3.

DomeniuCale TMDB v3Pe amodb
Detalii film/movie/{movie_id}La fel, cu încă cinci valori append_to_response
Detalii serial TV/tv/{series_id}La fel, dar fără câmpul type, iar created_by este gol pentru majoritatea serialelor
Sezoane și episoade/tv/{series_id}/season/{season_number}Aceeași structură. Imaginile, videoclipurile și traducerile de sezon sunt goale, iar external_ids de sezon și de episod sunt null
Persoane/person/{person_id}La fel, cu combined_credits, movie_credits, tv_credits, external_ids și images (doar profile)
Credite/movie/{movie_id}/creditsLa fel. La episoade, cast este gol
Căutare/search/multiLa fel, în cache 10 minute
Descoperire/discover/movieLa fel, în cache 30 de minute
În tendințe/trending/{media_type}/{time_window}La fel, în cache 30 de minute
Liste/movie/popularLa fel, page de la 1 la 500
Imagini/movie/{movie_id}/imagesAceeași structură, fișierele se încarcă de la img.amodb.dev
Videoclipuri/movie/{movie_id}/videosLa fel
Traduceri/movie/{movie_id}/translationsLa fel, 14 limbi servite
Cuvinte-cheie/movie/{movie_id}/keywordsLa fel
Recenzii/movie/{movie_id}/reviewsRăspunde 200, dar doar câteva titluri au recenzii, deci o listă goală este normală
Colecții/collection/{collection_id}La fel, parts ordonate după data lansării
Companii și rețele/company/{company_id}Aceleași chei. description al unei companii este gol, iar parent_company este null
Genuri/genre/movie/listLa fel
Configurație/configurationAceleași chei, gazda de imagini este img.amodb.dev
Căutare după ID extern/find/{external_id}Același endpoint, plus kinopoisk_id. tv_episode_results și tv_season_results sunt mereu goale
Grupuri de episoade/tv/{series_id}/episode_groupsListează grupurile unui serial, fără conținutul lor

Nu este oferit de amodb

Aceste apeluri TMDB v3 nu au echivalent. Căile necunoscute răspund 404 cu status_code 34, iar metodele de scriere răspund 405 cu status_code 37.

Apel TMDB v3Răspunsul amodb
/movie/changes, /tv/changes, /person/changes și changes sub un singur ID404, status_code 34
aggregate_credits sub un serial sau un sezon404, status_code 34
/credit/{credit_id} și /review/{review_id}404, status_code 34
/tv/episode_group/{id}404, status_code 34
/person/{person_id}/translations, tagged_images și /person/latest404, status_code 34
images, translations și alternative_names pentru colecții, companii și rețele404, status_code 34
/configuration/timezones404, status_code 34
Tot ce se află sub account, authentication, guest_session și list, precum și orice cale /rating sau /account_states405, status_code 37

Dacă adaugi aggregate_credits sau changes la append_to_response, amodb ignoră numele fără eroare, deci cheia pur și simplu lipsește din corp.

Comparația funcțiilor

FuncțieTMDBamodb
Model de prețGratuit pentru utilizări eligibile, conform termenilor TMDBPlătit în avans, 1 până la 24 de luni pe achiziție
Nivel gratuitDa, pentru utilizări eligibileNiciunul, și fără perioadă de probă
AutentificareCheie v3 în api_key sau token v4 ca Bearerapi_key sau Bearer cu o cheie hexazecimală de 32 de caractere
Format de răspunsJSONJSON, aceleași câmpuri pe căile pe care le servește
LimbiVezi documentația lor14 servite, alte etichete revin la en
FilmeDaDa
TVDaDa
PersoaneDaDa
ImaginiDaimg.amodb.dev, dimensiuni de la w92 la original
EvaluăriScorul utilizatorilor TMDB, alte surse: vezi documentația lorCinci surse într-un singur obiect, unde se știu
Metode de scriereMetode pentru cont, liste și evaluăriNiciuna, răspund 405
Limită de cereriVezi documentația lor20, 40 sau 120 pe minut pe cheie
Utilizare comercialăVezi termenii lor pentru utilizare comercială și atribuirePlanuri cu plată, vezi prețuri
CompatibilitateDefinește TMDB v3Majoritatea căilor de citire TMDB v3 și o rută OMDb

Ce diferă în detaliu

  • Termeni. TMDB îți cere să citești termenii lui pentru utilizare comercială și atribuire. amodb se vinde pe perioadă plătită în avans, nu are reînnoire automată, nivel gratuit sau perioadă de probă.
  • Limbi. amodb servește en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it și es. Acceptă etichete TMDB precum ru-RU și pt-BR. Germana, japoneza și coreeana revin la en, în timp ce original_title păstrează titlul sursă. Pentru acoperirea de limbi a TMDB, vezi documentația lor. Vezi limbi.
  • Extensii. append_to_response acceptă și moods, soundtracks, ratings, wikidata și showtimes, iar fiecare are propria cale sub filme și seriale.
  • ID-uri externe. /3/find rezolvă imdb_id, tvdb_id, wikidata_id, kinopoisk_id, facebook_id, twitter_id și instagram_id. Sursele freebase_mid, freebase_id, tvrage_id, tiktok_id și youtube_id sunt acceptate, dar întorc array-uri goale. Un external_source lipsă sau necunoscut răspunde 400 cu status_code 22.
  • Goale prin proiectare. Imaginile, videoclipurile și traducerile de sezon, precum și description al unei companii sunt mereu goale. Recenziile și created_by la un serial sunt completate doar pentru câteva titluri. external_ids de sezon și de episod sunt toate null.
  • Titluri pentru adulți. include_adult este ignorat. Titlurile și persoanele pentru adulți nu sunt servite niciodată și răspund 404.
  • Imagini. Calea CDN este https://img.amodb.dev/t/p/{size}/{file}. Nu e nevoie de cheie, iar fișierele stau în cache 30 de zile.
  • Limite. Fereastra este de 60 de secunde glisante pe cheie. Antetele arată numărul rămas, iar loviturile de cache se numără tot, pentru că verificarea limitei rulează prima.
  • Independență. Catalogul provine din surse publice și deschise și din îmbogățirea noastră. O structură comună nu garantează valori identice pentru fiecare câmp al fiecărui titlu.

Când TMDB se potrivește mai bine

  • Utilizare eligibilă gratuită. Nu e nevoie de plată, iar amodb nu poate egala asta.
  • Scrieri. Evaluarea unui titlu, crearea unei liste și sesiunile de cont funcționează pe TMDB. Pe amodb întorc 405.
  • Fluxuri de modificări. TMDB listează ID-urile care s-au schimbat. amodb nu are un astfel de flux, așa că reîmprospătezi după propriul program.
  • Credite agregate și căutări de credite. Ambele răspund 404 pe amodb. Folosește /credits pe titlu.
  • Nevoi de limbi mai largi. Dacă interfața ta cere o limbă din afara celor 14, verifică mai întâi TMDB.
  • Aprobare existentă. O echipă care a trecut TMDB printr-o revizuire juridică ar trebui să cântărească costul unei a doua revizuiri.

Migrarea la amodb

Schimbarea înseamnă o linie pe cerere.

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"

Înainte de trecere, compară structura câtorva răspunsuri unul lângă altul. Acest script afișează cheile de nivel superior pe care o parte le întoarce și cealaltă nu.

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

Câmpurile opționale pot diferi pentru un titlu dat, așa că tratează o cheie lipsă ca pe un indiciu de verificat, nu ca pe un verdict. Apoi parcurge această listă:

  1. Alege un plan la prețuri, apoi creează o cheie în panoul contului tău.
  2. Mută URL-ul de bază și cheia în configurație.
  3. Citește images.secure_base_url din /3/configuration.
  4. Caută în codul tău apelurile de scriere și căile din tabelul cu apeluri neoferite. Păstrează scrierile pe TMDB și înlocuiește restul.
  5. Adaugă un handler pentru 429 care așteaptă Retry-After secunde. Vezi limite de cereri și erori.

Prețuri

amodb este plătit în avans. Alege 1, 3, 6, 12 sau 24 de luni, cu reduceri de 0, 10, 20, 30 sau 40 la sută, și unul dintre cele trei planuri de 20, 40 sau 120 de cereri pe minut. Fiecare plan întoarce toate datele și niciunul nu se reînnoiește singur. Vezi prețuri pentru sume.