Ce API să alegi

TMDB oferă un API gratuit pentru utilizări eligibile, în termenii proprii, cu chei API v3 și token-uri v4. Citește acei termeni pentru utilizare comercială și atribuire înainte să lansezi. Alege o alternativă când vrei un acord cu plată, o limită pe care o poți planifica sau mai multe date în fiecare răspuns. amodb este un API independent care vorbește protocolul TMDB v3 pentru citiri, deci o trecere înseamnă un URL de bază nou și o cheie nouă. Este doar pentru citire, iar câteva căi TMDB nu sunt oferite, după cum se arată mai jos.

Rămâi pe TMDB dacă termenii gratuiți se potrivesc proiectului tău și nimic din secțiunea următoare nu ți se aplică.

Semnale că ai nevoie de o alternativă

Cinci verificări te ajută să decizi. Rulează-le pe propriul trafic și propriul contract, nu pe o listă de funcții.

SemnalCe testeziCum răspunde amodb
Termeni comercialiCitește termenii API-ului pe care îl folosești azi pentru utilizare comercială și atribuirePlanuri cu plată, plătite în avans, fără reînnoire automată
Trafic de vârfNumără cererile din cel mai aglomerat minutO limită fixă de 20, 40 sau 120 de cereri pe minut pe cheie
Date pe ecranListează apelurile suplimentare din spatele unei pagini de titluappend_to_response acceptă și ratings, moods, soundtracks, wikidata și showtimes
Limba interfețeiVerifică fiecare limbă pe care o livrezi14 limbi, orice altceva revine la en
Costul ieșiriiNumără liniile de cod care numesc un furnizorAceleași căi și același JSON pe endpoint-urile servite, deci și plecarea înseamnă o schimbare de URL de bază

Loviturile de cache se numără și ele. Verificarea cheii și limita de cereri rulează înaintea cache-ului la margine, așa că o cerere repetată consumă tot una dintre cererile tale pe minut. Planifică după totalul de cereri, nu după ratările de cache.

Comparația funcțiilor

FuncțieTMDBamodb
Model de prețAPI gratuit pentru utilizări eligibile, în termenii propriiPerioade plătite în avans de 1, 3, 6, 12 sau 24 de luni
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, cheie de 32 de caractere hexazecimale
Format de răspunsJSONJSON în structura TMDB v3
LimbiVezi documentația lor14 limbi de interfață
FilmeDaDa
TVDaDa, cu sezoane și episoade
PersoaneDaDa
ImaginiDa, de la propria gazdă de imaginiimg.amodb.dev, aceleași jetoane de dimensiune, fără cheie
EvaluăriScorul utilizatorilor TMDB, vezi documentația lor pentru alte surseScorul TMDB plus IMDb, Kinopoisk, Metacritic și Rotten Tomatoes, unde se știu
Metode de scriereMetode pentru cont, liste și evaluăriNu sunt oferite, 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 atribuireVândut ca API cu plată, vezi prețuri
CompatibilitateDefinește protocolul v3Majoritatea căilor de citire v3, plus OMDb

Prin ce diferă amodb

  • Limite pe care le poți citi. Fiecare răspuns cu cheie poartă X-RateLimit-Limit, X-RateLimit-Remaining și X-RateLimit-Reset în secunde. Un 429 adaugă Retry-After. Cifrele sunt explicate la limite de cereri.
  • Blocuri suplimentare dintr-un singur apel. Evaluări din cinci surse, indicatori de atmosferă, coloane sonore, fapte Wikidata și program de proiecții în cinema sosesc prin append_to_response, deci o pagină de titlu poate folosi o singură cerere.
  • Mai multe surse de ID-uri externe. /3/find rezolvă imdb_id, tvdb_id, wikidata_id și kinopoisk_id, și încă facebook_id, twitter_id și instagram_id. Vezi căutare după ID extern.
  • OMDb pe aceeași cheie. https://api.amodb.dev/omdb/ răspunde apelurilor în stil OMDb cu un parametru apikey, ceea ce ajută când două dintre sistemele tale folosesc protocoale diferite.
  • Timpi de cache cunoscuți. Detaliile și creditele stau 6 ore la margine, tendințele și discover 30 de minute, căutarea 10 minute, configurația 24 de ore, iar imaginile 30 de zile.

Când TMDB se potrivește mai bine

  • Proiecte gratuite. Dacă utilizarea ta se încadrează în termenii gratuiți, TMDB nu costă nimic, iar amodb nu poate egala asta.
  • Metode de scriere pentru utilizatori. TMDB oferă metode de scriere pentru cont, sesiune, evaluări și liste. amodb le răspunde cu 405 și status_code 37, deci o aplicație în care oamenii se autentifică și evaluează titluri ar trebui să păstreze TMDB pentru acea parte.
  • 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.
  • Limbi dincolo de 14. amodb nu servește text de interfață în germană, japoneză sau coreeană și revine la engleză. Titlurile originale ajung în continuare în original_title și original_name. Pentru alte limbi pe TMDB, vezi documentația lor.
  • Termeni deja acceptați. Dacă revizuirea juridică pentru TMDB e făcută, o trecere îți costă o nouă revizuire.

Ce nu oferă amodb

Verifică-ți codul față de această listă înainte de trecere. Tabelul complet este la amodb vs TMDB.

Apel TMDBRăspunsul amodb
Scrieri pentru cont, sesiune, evaluări și liste405, status_code 37
Modificări, credite agregate, căutări de credite și recenzii, conținutul grupurilor de episoade404, status_code 34
Traduceri de persoane, imagini și traduceri de colecții, companii și rețele404, status_code 34
Lista de recenzii a unui film sau serial200, goală pentru majoritatea titlurilor
Imaginile, videoclipurile și traducerile de sezon200, goale
ID-urile externe de sezon și de episod200, toate null

Două comportamente sunt discrete. Un nume append_to_response pe care amodb nu îl cunoaște, precum aggregate_credits, este ignorat fără eroare. Parametrul include_adult este ignorat și el, pentru că titlurile și persoanele pentru adulți nu sunt servite niciodată.

Migrarea la amodb

  1. Alege un plan la prețuri și creează o cheie în panoul contului tău.
  2. Înlocuiește URL-ul de bază și cheia într-un singur loc, ca mai jos.
  3. Citește images.secure_base_url din /3/configuration, ca linkurile de imagini să folosească img.amodb.dev.
  4. Elimină apelurile către metodele de scriere și către căile din tabelul de mai sus.
  5. Tratează 429 așteptând Retry-After secunde.
JavaScript
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);

Rulează testele existente pe ambele URL-uri de bază înainte de trecere. O structură comună nu garantează valori identice, așa că compară un eșantion din propriile titluri. Parcurgerea completă este în ghidul de pornire rapidă, iar un tabel față în față este la amodb vs TMDB.

Gestionarea erorilor se păstrează

Apelurile eșuate întorc corpul TMDB {"success": false, "status_code": N, "status_message": "..."}, deci codul care ramifică după status_code nu are nevoie de rescriere.

HTTPstatus_codeCauză tipică
4017Cheie lipsă sau scrisă greșit
40110Cheie suspendată
40236Perioada plătită în avans s-a încheiat
40434ID negăsit sau o cale pe care amodb nu o oferă
40537O metodă de scriere pe care codul tău încă o apelează
42925Mai multe cereri decât permite planul în 60 de secunde

Tratează 402 ca pe un semnal să reînnoiești manual, pentru că nimic nu se reînnoiește automat. Lista completă este la erori.

Prețuri

amodb este plătit în avans. Alege o perioadă de 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 primește toate datele și nimic nu se reînnoiește automat. Nu există nivel gratuit și nici perioadă de probă. Sumele actuale sunt la prețuri.