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:/.
| Domeniu | Cale TMDB v3 | Pe 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 | / | 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 | / | La fel. La episoade, cast este gol |
| Căutare | /search/multi | La fel, în cache 10 minute |
| Descoperire | /discover/movie | La fel, în cache 30 de minute |
| În tendințe | / | La fel, în cache 30 de minute |
| Liste | /movie/popular | La fel, page de la 1 la 500 |
| Imagini | / | Aceeași structură, fișierele se încarcă de la img.amodb.dev |
| Videoclipuri | / | La fel |
| Traduceri | / | La fel, 14 limbi servite |
| Cuvinte-cheie | / | La fel |
| Recenzii | / | Răspunde 200, dar doar câteva titluri au recenzii, deci o listă goală este normală |
| Colecții | / | 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/list | La fel |
| Configurație | /configuration | Aceleaș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 | / | Listează 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 v3 | Răspunsul amodb |
|---|---|
/movie/changes, /tv/changes, /person/changes și changes sub un singur ID | 404, status_code 34 |
aggregate_credits sub un serial sau un sezon | 404, status_code 34 |
/credit/{credit_id} și /review/{review_id} | 404, status_code 34 |
/tv/episode_group/{id} | 404, status_code 34 |
/, tagged_images și /person/latest | 404, status_code 34 |
images, translations și alternative_names pentru colecții, companii și rețele | 404, status_code 34 |
/ | 404, status_code 34 |
Tot ce se află sub account, authentication, guest_session și list, precum și orice cale /rating sau /account_states | 405, 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ție | TMDB | amodb |
|---|---|---|
| Model de preț | Gratuit pentru utilizări eligibile, conform termenilor TMDB | Plătit în avans, 1 până la 24 de luni pe achiziție |
| Nivel gratuit | Da, pentru utilizări eligibile | Niciunul, și fără perioadă de probă |
| Autentificare | Cheie v3 în api_key sau token v4 ca Bearer | api_key sau Bearer cu o cheie hexazecimală de 32 de caractere |
| Format de răspuns | JSON | JSON, aceleași câmpuri pe căile pe care le servește |
| Limbi | Vezi documentația lor | 14 servite, alte etichete revin la en |
| Filme | Da | Da |
| TV | Da | Da |
| Persoane | Da | Da |
| Imagini | Da | img.amodb.dev, dimensiuni de la w92 la original |
| Evaluări | Scorul utilizatorilor TMDB, alte surse: vezi documentația lor | Cinci surse într-un singur obiect, unde se știu |
| Metode de scriere | Metode pentru cont, liste și evaluări | Niciuna, răspund 405 |
| Limită de cereri | Vezi documentația lor | 20, 40 sau 120 pe minut pe cheie |
| Utilizare comercială | Vezi termenii lor pentru utilizare comercială și atribuire | Planuri cu plată, vezi prețuri |
| Compatibilitate | Definește TMDB v3 | Majoritatea 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șipt-BR. Germana, japoneza și coreeana revin laen, în timp ceoriginal_titlepăstrează titlul sursă. Pentru acoperirea de limbi a TMDB, vezi documentația lor. Vezi limbi. - Extensii.
append_to_responseacceptă șimoods,soundtracks,ratings,wikidatașishowtimes, iar fiecare are propria cale sub filme și seriale. - ID-uri externe.
/3/findrezolvăimdb_id,tvdb_id,wikidata_id,kinopoisk_id,facebook_id,twitter_idșiinstagram_id. Surselefreebase_mid,freebase_id,tvrage_id,tiktok_idșiyoutube_idsunt acceptate, dar întorc array-uri goale. Unexternal_sourcelipsă sau necunoscut răspunde 400 custatus_code22. - Goale prin proiectare. Imaginile, videoclipurile și traducerile de sezon, precum și
descriptional unei companii sunt mereu goale. Recenziile șicreated_byla un serial sunt completate doar pentru câteva titluri.external_idsde sezon și de episod sunt toate null. - Titluri pentru adulți.
include_adulteste ignorat. Titlurile și persoanele pentru adulți nu sunt servite niciodată și răspund 404. - Imagini. Calea CDN este
https:/. Nu e nevoie de cheie, iar fișierele stau în cache 30 de zile./ img.amodb.dev/ t/ p/ {size}/ {file} - 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
/creditspe 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.
# 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.
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ă:
- Alege un plan la prețuri, apoi creează o cheie în panoul contului tău.
- Mută URL-ul de bază și cheia în configurație.
- Citește
images.secure_base_urldin/3/configuration. - 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.
- Adaugă un handler pentru 429 care așteaptă
Retry-Aftersecunde. 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.