Alege după forma apelurilor tale

Alege OMDb când vrei o singură înregistrare mică pe titlu, iar cheia lui gratuită îți acoperă volumul. Alege amodb când depășești asta sau când vrei același stil de cerere OMDb lângă credite, imagini și traduceri pe o singură cheie. OMDb întoarce JSON sau XML, folosește un parametru apikey și oferă o cheie gratuită cu o limită zilnică de 1,000 de cereri (vezi site-ul lor) plus un nivel plătit de susținător. amodb este doar cu plată și răspunde parametrilor OMDb principali, precum și TMDB v3.

Ce rămâne la fel

Endpoint-ul OMDb este la https://api.amodb.dev/omdb/, iar bara oblică de la final este opțională. Codul tău existent de analiză nu ar trebui să aibă nevoie de modificări pentru aceste elemente.

Element OMDbPe amodb
apikeyAcelași parametru, completat cu cheia ta amodb
i și tCăutare după ID IMDb sau după titlu
s și pageCăutare cu 10 rezultate pe pagină și un total totalResults, page până la 100
type și yFiltrare după movie sau series și după an
plotshort sau full
rSe acceptă doar json
Câmpurile corpuluiNumite ca în OMDb, de la Title la Response
RatingsUn array de perechi Source și Value pentru Internet Movie Database, Rotten Tomatoes și Metacritic, când sunt prezente
Erori{"Response":"False","Error":"..."} cu formularea OMDb, într-un răspuns HTTP 200

Ce nu se păstrează

  • XML. O cerere cu r=xml întoarce 400 cu {"Response":"False","Error":"Only r=json is supported."}.
  • Sezoane și episoade. Season și Episode sunt ignorate, iar type=episode nu găsește nimic. O cerere cu i=tt0903747&Season=1 întoarce fișa serialului, nu un sezon. Folosește /3/tv/{id}/season/{n} pentru episoade.
  • Alți parametri. callback este ignorat.
  • Câmpuri fără date. DVD, Production și Website sunt mereu "N/A". Fișele de seriale au totalSeasons și omit DVD, BoxOffice, Production și Website.
  • Postere. Câmpul Poster indică https://img.amodb.dev/t/p/w300/... în loc de altă gazdă. Înlocuiește w300 cu w780 pentru o imagine mai mare de pe aceeași cale, iar imaginile nu cer cheie.

Lista completă de parametri și erori este pe pagina endpoint-ul OMDb.

Exemplu de răspuns

O cerere cu t=Fight Club întoarce un obiect plat. Răspunsul de mai jos este real, cu doar textul Plot scurtat.

JSON
{
  "Title": "Fight Club",
  "Year": "1999",
  "Rated": "R",
  "Released": "15 Oct 1999",
  "Runtime": "139 min",
  "Genre": "Crime, Drama, Thriller",
  "Director": "David Fincher",
  "Writer": "Chuck Palahniuk, Jim Uhls",
  "Actors": "Brad Pitt, Edward Norton, Meat Loaf",
  "Plot": "A nameless first-person narrator attends support groups in an attempt to subdue his emotional state an...",
  "Language": "English",
  "Country": "United States, Germany",
  "Awards": "Nominated for 1 Oscar. 12 wins & 38 nominations total",
  "Poster": "https://img.amodb.dev/t/p/w300/qkrH7rjYKU4KOwwIl6wF6H3ISvm.jpg",
  "Ratings": [
    {
      "Source": "Internet Movie Database",
      "Value": "8.8/10"
    },
    {
      "Source": "Rotten Tomatoes",
      "Value": "81%"
    },
    {
      "Source": "Metacritic",
      "Value": "67/100"
    }
  ],
  "Metascore": "67",
  "imdbRating": "8.8",
  "imdbVotes": "2,669,989",
  "imdbID": "tt0137523",
  "Type": "movie",
  "DVD": "N/A",
  "BoxOffice": "$38,003,039",
  "Production": "N/A",
  "Website": "N/A",
  "Response": "True"
}

Valorile sunt șiruri, ca în OMDb, deci analizează singur imdbRating, imdbVotes și Runtime. Fiecare apel se numără ca o cerere față de limita ta pe minut, indiferent câte câmpuri citești.

Comparația funcțiilor

FuncțieOMDbamodb
Model de prețCheie gratuită plus un nivel plătit de susținător, vezi site-ul lorPerioade plătite în avans, de la 1 la 24 de luni
Nivel gratuitCheie gratuită cu limită zilnică de 1,000, vezi site-ul lorNiciunul, și fără perioadă de probă
AutentificareParametrul apikeyapikey pe /omdb/, api_key sau Bearer pe /3
Format de răspunsJSON sau XMLJSON
LimbiVezi documentația lor14 limbi de interfață pe căile /3
FilmeDaDa
TVSeriale și episoade, vezi documentația lor pentru câmpuriFișe de seriale pe /omdb/, sezoane și episoade pe căile /3
PersoaneNume ca text în fiecare fișăProfiluri, filmografie și imagini pe căile /3
ImaginiLink de poster în fiecare fișăLink de poster plus liste de imagini, img.amodb.dev
EvaluăriCâmpurile Ratings, Metascore și imdbRatingAceleași câmpuri, plus un obiect ratings pe căile /3
Limită de cereriLimită zilnică pe cheia gratuită, vezi site-ul lor20, 40 sau 120 pe minut pe cheie
Utilizare comercialăVezi site-ul lorVândut ca API cu plată, vezi prețuri
CompatibilitateDefinește protocolul OMDbParametrii OMDb de mai sus și citiri TMDB v3

Prin ce diferă amodb

  • Limite pe minut. Planurile permit 20, 40 sau 120 de cereri pe minut într-o fereastră glisantă de 60 de secunde. Fiecare răspuns cu cheie are X-RateLimit-Remaining, așa că un job în lot își poate încetini singur ritmul înainte să vadă un 429.
  • O cale în sus de la înregistrările singulare. O înregistrare OMDb are o listă de distribuție ca text. Cu căile /3 poți cere același titlu cu credite, videoclipuri și traduceri într-un singur apel, iar imdbID găsește înregistrarea prin /3/find.
  • Imagini mai mari. Fișele în stil OMDb dau un singur link de poster. Gazda de imagini servește zece jetoane de dimensiune, de la w92 la original.
  • Mai multe surse de evaluări. Extensia /3/movie/{id}/ratings adaugă valorile Kinopoisk, Metacritic, Rotten Tomatoes și TMDB, unde se știu.

Când OMDb se potrivește mai bine

  • Proiecte mici sau gratuite. O cheie gratuită cu limită zilnică de 1,000 ajunge pentru un prototip sau un site de hobby, iar amodb nu are nivel gratuit.
  • Consumatori de XML. Dacă un sistem vechi analizează XML, OMDb îl oferă, iar amodb nu.
  • Căutări de sezoane și episoade. Ruta /omdb/ de la amodb nu are mod pentru sezoane sau episoade, deci un client construit pe ea are nevoie în schimb de căile /3.
  • Simplitate. Un singur endpoint și o mână de parametri se învață ușor. Dacă asta e tot ce-ți trebuie, câștigi puțin mutându-te.

Migrarea la amodb

Se schimbă doar URL-ul de bază și cheia. Păstrează restul cererii așa cum este, după ce cauți în cod r=xml, Season, Episode și type=episode.

JavaScript
const OMDB_BASE = process.env.OMDB_BASE_URL; // before: your current OMDb base URL
const AMODB_BASE = 'https://api.amodb.dev/omdb/'; // after

async function lookup(title) {
  const url = new URL(AMODB_BASE);
  url.searchParams.set('apikey', process.env.AMODB_KEY);
  url.searchParams.set('t', title);
  url.searchParams.set('plot', 'short');
  const res = await fetch(url);
  const data = await res.json();
  if (data.Response === 'False') throw new Error(data.Error);
  return data;
}

const movie = await lookup('Fight Club');
console.log(movie.Title, movie.Year, movie.imdbRating, movie.Poster);

Continuă să verifici câmpul Response, ca în OMDb. Când valoarea este șirul "False", câmpul Error poartă mesajul. Pentru episoade, potrivește o singură dată imdbID cu /3/find și citește sezoanele din partea /3:

curl
curl -s "https://api.amodb.dev/3/find/tt0903747?external_source=imdb_id&api_key=$AMODB_KEY"
curl -s "https://api.amodb.dev/3/tv/1396/season/1?api_key=$AMODB_KEY"

Pentru partea în stil TMDB, vezi autentificare și ghidul de pornire rapidă.

Prețuri

amodb este cu plată și se reînnoiește doar când cumperi o altă perioadă. Cele trei planuri diferă doar prin ritm, la 20, 40 sau 120 de cereri pe minut, și fiecare întoarce toate datele. Perioadele sunt de 1, 3, 6, 12 sau 24 de luni, iar cele mai lungi au reduceri de 10 până la 40 la sută. Vezi prețuri pentru sumele actuale.