# amodb vs TMDB

> amodb păstrează căile, parametrii de interogare și JSON-ul TMDB v3 pentru majoritatea endpoint-urilor de citire, deci un client are nevoie doar de un URL de bază nou și de o cheie. Scrierile răspund 405, iar modificările, creditele agregate și căutările de recenzii nu sunt oferite. Alte diferențe sunt termenii, 14 limbi, cinci extensii și limitele pe cheie.

## 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`.

| 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    | `/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}/credits`              | 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            | `/trending/{media_type}/{time_window}`   | La fel, în cache 30 de minute                                                                                                       |
| Liste                  | `/movie/popular`                         | La fel, `page` de la 1 la 500                                                                                                       |
| Imagini                | `/movie/{movie_id}/images`               | Aceeași structură, fișierele se încarcă de la `img.amodb.dev`                                                                       |
| Videoclipuri           | `/movie/{movie_id}/videos`               | La fel                                                                                                                              |
| Traduceri              | `/movie/{movie_id}/translations`         | La fel, 14 limbi servite                                                                                                            |
| Cuvinte-cheie          | `/movie/{movie_id}/keywords`             | La fel                                                                                                                              |
| Recenzii               | `/movie/{movie_id}/reviews`              | Ră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/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    | `/tv/{series_id}/episode_groups`         | 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 |
| `/person/{person_id}/translations`, `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 |
| `/configuration/timezones`                                                                                                      | 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](https://amodb.dev/ro/pricing/) |
| 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` ș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](https://amodb.dev/ro/languages/).
- **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.

```bash
# 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.

```js
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](https://amodb.dev/ro/pricing/), 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](https://amodb.dev/ro/rate-limits/) și [erori](https://amodb.dev/ro/errors/).

## 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](https://amodb.dev/ro/pricing/) pentru sume.

## Întrebări și răspunsuri

### Sunt disponibile pe amodb toate endpoint-urile de citire TMDB v3?

Nu. Majoritatea căilor de citire păstrează aceeași cale, aceiași parametri de interogare și aceeași structură JSON, iar tabelul de paritate de pe această pagină le grupează pe domenii. Scrierile răspund 405 cu status_code 37. Fluxurile de modificări, creditele agregate, căutările de credite și recenzii, conținutul grupurilor de episoade și traducerile persoanelor răspund 404 cu status_code 34.

### Ce se schimbă în codul meu când trec de la TMDB?

Trei lucruri: URL-ul de bază devine https://api.amodb.dev/3, cheia devine cheia ta amodb, iar URL-urile imaginilor folosesc img.amodb.dev. Citește baza imaginilor din endpoint-ul de configurare. Căile rămân aceleași, cu excepția apelurilor listate ca nefiind oferite.

### Vor rămâne la fel ID-urile de film și de serial?

ID-urile urmează numerotarea TMDB. Fight Club este 550, iar Breaking Bad este 1396 în ambele. Valorile unor câmpuri individuale pot totuși diferi la unele titluri, așa că compară un eșantion din propriul catalog înainte de trecere.

### Pot folosi ambele servicii împreună?

Da. Fiindcă protocolul este același, poți păstra TMDB pentru funcțiile de cont și de liste, pentru fluxurile de modificări și creditele agregate, și poți folosi amodb pentru citirile din catalog. Ține două URL-uri de bază și două chei în configurație.

### Care serviciu este mai ieftin?

TMDB oferă un API gratuit pentru utilizări eligibile, în termenii proprii, deci nu costă nimic dacă te califici. amodb este cu plată de la prima cerere, cu perioade plătite în avans de la 1 la 24 de luni și o reducere de până la 40 la sută.

## Pagini conexe

- [Alternativă la API-ul TMDB](https://amodb.dev/ro/tmdb-api-alternative/): Cauți o alternativă TMDB API? Verifică termeni, limite, limbi și evaluări, apoi treci la un API cu plată care păstrează majoritatea căilor de citire TMDB v3.
- [API bază de date filme pentru propriul catalog](https://amodb.dev/ro/movie-database-api/): API bază de date filme pentru copia locală: filme, persoane, companii, colecții și cuvinte-cheie cu ID-uri legate, ferestre de date discover, căutări după ID.
- [Căutare după ID extern](https://amodb.dev/ro/find-by-external-id/): Caută un film, serial sau o persoană după ID IMDb, TVDB, Wikidata sau Kinopoisk cu endpoint-ul find și citește ID-urile externe și faptele Wikidata.
- [Autentificare](https://amodb.dev/ro/authentication/): Cum trimiți cheia amodb: api_key în interogare, antetul Authorization Bearer sau apikey pentru apelurile OMDb. Format, stocare, rotire și erorile 401.
- [Limite de cereri](https://amodb.dev/ro/rate-limits/): amodb limitează fiecare cheie în cereri pe minut, în fereastră glisantă de 60 de secunde: 20, 40 sau 120. Citește antetele și tratează 429 cu Retry-After.
- [Prețuri](https://amodb.dev/ro/pricing/): Planurile amodb diferă doar prin cereri pe minut: 20, 40 sau 120. Toate includ datele compatibile TMDB v3 și OMDb. Plată în avans, fără reînnoire sau probă.

Actualizat: 2026-10-18. Source: https://amodb.dev/ro/amodb-vs-tmdb/
