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:/, 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 OMDb | Pe amodb |
|---|---|
apikey | Același parametru, completat cu cheia ta amodb |
i și t | Căutare după ID IMDb sau după titlu |
s și page | Căutare cu 10 rezultate pe pagină și un total totalResults, page până la 100 |
type și y | Filtrare după movie sau series și după an |
plot | short sau full |
r | Se acceptă doar json |
| Câmpurile corpului | Numite ca în OMDb, de la Title la Response |
Ratings | Un array de perechi Source și Value pentru Internet Movie Database, Rotten Tomatoes și Metacritic, când sunt prezente |
| Erori | {"Response":"False", 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șiEpisodesunt ignorate, iartype=episodenu găsește nimic. O cerere cui=tt0903747&Season=1întoarce fișa serialului, nu un sezon. Folosește/3/tv/{id}/season/{n}pentru episoade. - Alți parametri.
callbackeste ignorat. - Câmpuri fără date.
DVD,ProductionșiWebsitesunt mereu"N/A". Fișele de seriale autotalSeasonsși omitDVD,BoxOffice,ProductionșiWebsite. - Postere. Câmpul
Posterindicăhttps:/în loc de altă gazdă. Înlocuiește/ img.amodb.dev/ t/ p/ w300/ ... w300cuw780pentru 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.
{
"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ție | OMDb | amodb |
|---|---|---|
| Model de preț | Cheie gratuită plus un nivel plătit de susținător, vezi site-ul lor | Perioade plătite în avans, de la 1 la 24 de luni |
| Nivel gratuit | Cheie gratuită cu limită zilnică de 1,000, vezi site-ul lor | Niciunul, și fără perioadă de probă |
| Autentificare | Parametrul apikey | apikey pe /omdb/, api_key sau Bearer pe /3 |
| Format de răspuns | JSON sau XML | JSON |
| Limbi | Vezi documentația lor | 14 limbi de interfață pe căile /3 |
| Filme | Da | Da |
| TV | Seriale și episoade, vezi documentația lor pentru câmpuri | Fișe de seriale pe /omdb/, sezoane și episoade pe căile /3 |
| Persoane | Nume ca text în fiecare fișă | Profiluri, filmografie și imagini pe căile /3 |
| Imagini | Link de poster în fiecare fișă | Link de poster plus liste de imagini, img.amodb.dev |
| Evaluări | Câmpurile Ratings, Metascore și imdbRating | Aceleași câmpuri, plus un obiect ratings pe căile /3 |
| Limită de cereri | Limită zilnică pe cheia gratuită, vezi site-ul lor | 20, 40 sau 120 pe minut pe cheie |
| Utilizare comercială | Vezi site-ul lor | Vândut ca API cu plată, vezi prețuri |
| Compatibilitate | Definește protocolul OMDb | Parametrii 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
/3poți cere același titlu cu credite, videoclipuri și traduceri într-un singur apel, iarimdbIDgă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
w92laoriginal. - Mai multe surse de evaluări. Extensia
/3/movie/{id}/ratingsadaugă 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.
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 -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.