# Alternativă la API-ul TheTVDB

> TheTVDB este axat pe TV și oferă mai multe ordini ale episoadelor, precum cea de difuzare, DVD și absolută. amodb acoperă seriale, filme și persoane cu o singură cheie și mapează un ID TVDB la propriul ID cu un apel. Listează grupurile de episoade ale unui serial, dar nu conținutul lor, deci numerotarea alternativă rămâne pe TheTVDB.

## Care se potrivește unui proiect TV

TheTVDB este axat pe TV și păstrează mai multe ordini de episoade pentru un serial, inclusiv cea de difuzare, DVD și absolută, în spatele unui model cu cheie API. Vezi documentația lor pentru licențiere înainte să planifici un produs comercial. Alege amodb când vrei seriale, filme și persoane dintr-o singură cheie, căi TMDB v3 și 14 limbi. Alege TheTVDB când numerotarea alternativă exactă este centrul aplicației tale, pentru că amodb listează grupurile de episoade ale unui serial, dar nu servește ce se află în ele.

## Cum se potrivesc datele TV între cele două

Conceptele se aliniază, dar numele diferă. Acest tabel acoperă ce citește de obicei o aplicație TV.

| Nevoie                    | Abordarea TheTVDB                   | Apelul amodb                                            |
| ------------------------- | ----------------------------------- | ------------------------------------------------------- |
| Un serial                 | Fișa serialului după ID TVDB        | `GET /3/tv/1396`, după o căutare `tvdb_id`              |
| Lista de sezoane          | Vezi documentația lor               | array-ul `seasons` din detaliile serialului             |
| Un sezon cu episoade      | Vezi documentația lor               | `GET /3/tv/1396/season/1`                               |
| Un episod                 | Vezi documentația lor               | `GET /3/tv/1396/season/1/episode/1`                     |
| Ce ordini există          | Ordini de difuzare, DVD și absolută | `GET /3/tv/1396/episode_groups`                         |
| Episoadele dintr-o ordine | Vezi documentația lor               | Nu este oferit, `/3/tv/episode_group/{id}` răspunde 404 |
| Următorul episod difuzat  | Vezi documentația lor               | `next_episode_to_air` în detaliile serialului           |

Câmpurile de episod folosesc numele TMDB: `air_date`, `episode_number`, `season_number`, `runtime` și `still_path`. `external_ids` de sezon și de episod sunt toate null, deci un ID TVDB al unui singur sezon sau episod nu poate fi citit de la amodb. Fă legătura după `season_number` și `episode_number`. Detaliile sunt la [sezoane și episoade](https://amodb.dev/ro/tv-seasons-episodes/).

## Ce întoarce lista grupurilor de episoade

Apelul de listă arată ce ordini există pentru un serial. Nu întoarce episoadele din ele.

| Câmp            | Semnificație                              |
| --------------- | ----------------------------------------- |
| `id`            | ID-ul grupului, un șir                    |
| `name`          | Numele ordinii, precum `DVD / PVOD`       |
| `description`   | Text din sursă, adesea gol                |
| `type`          | Un număr care spune ce fel de ordine este |
| `episode_count` | Episoadele din ordine                     |
| `group_count`   | Blocurile din ordine, precum sezoanele    |
| `network`       | Un obiect cu rețeaua, sau null            |

Acesta este un răspuns real pentru Breaking Bad.

```json
{
  "id": 1396,
  "results": [
    {
      "description": "Seasons grouped as they appear on DVD, as well as paid video-on-demand services, such as Prime Video and YouTube.",
      "episode_count": 62,
      "group_count": 6,
      "id": "69f50757054263b7bc87e32a",
      "name": "DVD / PVOD",
      "network": null,
      "type": 3
    }
  ]
}
```

Unele seriale întorc o singură ordine de difuzare, iar altele mai multe, iar unele întorc un array `results` gol. Testează serialele care te interesează. Pentru că conținutul unui grup nu este oferit, o aplicație care are nevoie de numărul DVD sau absolut al fiecărui episod nu îl poate obține de la amodb.

## Comparația funcțiilor

| Funcție              | TheTVDB                                                     | amodb                                                           |
| -------------------- | ----------------------------------------------------------- | --------------------------------------------------------------- |
| Model de preț        | Model cu cheie API, vezi documentația lor pentru licențiere | Perioade plătite în avans de la 1 la 24 de luni                 |
| Nivel gratuit        | Vezi documentația lor                                       | Niciunul, și fără perioadă de probă                             |
| Autentificare        | Cheie API, vezi documentația lor pentru flux                | `api_key` sau antet Bearer                                      |
| Format de răspuns    | JSON, vezi documentația lor                                 | JSON în structura TMDB v3                                       |
| Limbi                | Vezi documentația lor                                       | 14 limbi de interfață                                           |
| Filme                | Vezi documentația lor                                       | Da                                                              |
| TV                   | Da, accentul său principal                                  | Da, cu sezoane și episoade                                      |
| Persoane             | Vezi documentația lor                                       | Da                                                              |
| Imagini              | Vezi documentația lor                                       | `img.amodb.dev`, fără cheie                                     |
| Evaluări             | Vezi documentația lor                                       | IMDb și alte patru surse, unde se știu                          |
| Limită de cereri     | Vezi documentația lor                                       | 20, 40 sau 120 pe minut pe cheie                                |
| Utilizare comercială | Vezi documentația lor pentru licențiere                     | Planuri cu plată, vezi [prețuri](https://amodb.dev/ro/pricing/) |
| Compatibilitate      | Propriul API                                                | Citiri TMDB v3 și OMDb                                          |

## Prin ce diferă amodb

- **O cheie pentru tot catalogul.** Un serial, distribuția lui, trailerele lui și un film care împarte un actor folosesc același URL de bază și aceeași limită.
- **Evaluări lângă ghidul de episoade.** `append_to_response=ratings` pe detaliile serialului adaugă IMDb și alte scoruri într-un singur apel.
- **Antete simple pentru ritm.** `X-RateLimit-Remaining` și `X-RateLimit-Reset` spun unui job de sincronizare câte cereri au mai rămas în fereastra de 60 de secunde.
- **Nume originale păstrate.** Un serial păstrează `original_name`, în timp ce `name` urmează `language`, ceea ce ajută când arăți un titlu nativ.

## Când TheTVDB se potrivește mai bine

- **Ordinea este produsul.** Dacă utilizatorii tăi se ceartă pe ordinea DVD față de cea de difuzare față de cea absolută, TheTVDB o tratează ca pe o parte centrală a modelului său. amodb numește ordinile unui serial, dar nu le întoarce episoadele, iar grupurile existente diferă de la un serial la altul.
- **Integrări existente.** Dacă fluxul tău stochează deja ID-uri TheTVDB și citește ordinile lui, păstrează acea parte și adaugă amodb pentru datele suplimentare.
- **Accent pe TV.** Dacă nu arăți niciodată filme sau persoane, o sursă construită în jurul TV are mai puțin de învățat.

## Migrarea la amodb

Mapează o singură dată ID-urile TVDB stocate. După aceea, folosește ID-ul amodb pentru fiecare apel. Endpoint-ul find rezolvă doar ID-uri de seriale. Array-urile lui `tv_season_results` și `tv_episode_results` sunt mereu goale, așa că mapează sezoanele și episoadele după număr.

```js
const key = process.env.AMODB_KEY;
const headers = { Authorization: `Bearer ${key}` };
const base = 'https://api.amodb.dev/3';

async function getJson(path) {
  const res = await fetch(`${base}${path}`, { headers });
  if (!res.ok) throw new Error(`${path} returned ${res.status}`);
  return res.json();
}

const found = await getJson('/find/81189?external_source=tvdb_id');
const show = found.tv_results[0];
console.log(show.id, show.name);

const groups = await getJson(`/tv/${show.id}/episode_groups`);
for (const g of groups.results) {
  console.log(g.name, g.type, g.episode_count);
}
```

Prima cerere întoarce Breaking Bad cu ID-ul 1396. A doua listează ordinile care există pentru acel serial, cu dimensiunile lor. Ca să compari numerotarea cu ce stochezi acum, citește ordinea de difuzare din `/tv/{id}/season/{n}` și păstrează orice ordine alternativă pe partea TheTVDB. Fă această verificare pe cele zece seriale cele mai urmărite înainte să muți restul.

Fiecare apel se numără ca o cerere în fereastra de 60 de secunde, iar un 429 poartă `Retry-After`. Vezi [căutare după ID extern](https://amodb.dev/ro/find-by-external-id/) și [limite de cereri](https://amodb.dev/ro/rate-limits/).

## Prețuri

amodb este plătit în avans, fără reînnoire automată. Alege 1, 3, 6, 12 sau 24 de luni și unul dintre trei planuri de 20, 40 sau 120 de cereri pe minut. Perioadele mai lungi au reduceri de 10, 20, 30 sau 40 la sută, iar fiecare plan primește toate datele. Nu există nivel gratuit. Sumele sunt la [prețuri](https://amodb.dev/ro/pricing/).

## Întrebări și răspunsuri

### Pot converti ID-uri TVDB în ID-uri amodb?

Da. Apelează /3/find/81189 cu external_source=tvdb_id. Array-ul tv_results conține serialul potrivit, deci Breaking Bad vine cu ID-ul 1396. Stochează perechea și folosește ID-ul numeric de acolo încolo. Și invers funcționează: /3/tv/1396/external_ids întoarce tvdb_id.

### Acceptă amodb ordinea DVD și absolută a episoadelor?

Doar în parte. GET /3/tv/{id}/episode_groups listează grupurile unui serial cu name, type, episode_count și group_count. Conținutul unui grup nu este oferit, iar /3/tv/episode_group/{id} răspunde 404. Poți vedea că există o ordine DVD, dar nu îi poți citi numerotarea.

### Este TheTVDB gratuit de folosit?

TheTVDB folosește un model cu cheie API, iar termenii de licențiere sunt stabiliți de TheTVDB. Vezi documentația lor pentru licența actuală și eventualele taxe. amodb este un API cu plată în avans, fără nivel gratuit.

### Primesc și date despre filme?

Da. Filmele, persoanele, imaginile, videoclipurile și traducerile sunt pe aceeași cheie și același URL de bază ca TV. Asta elimină nevoia unui al doilea furnizor dacă aplicația ta listează ambele.

### Cum aflu ce episod se difuzează următorul?

Detaliile serialului includ next_episode_to_air și last_episode_to_air, fiecare cu season_number, episode_number și air_date. Următorul este null pentru un serial încheiat. Detaliile sunt ținute în cache 6 ore la margine, deci interoghează cel mult de câteva ori pe zi.

## Pagini conexe

- [API sezoane și episoade TV](https://amodb.dev/ro/tv-seasons-episodes/): API sezoane și episoade TV cu aceleași căi și același JSON ca TMDB v3. Citește un sezon cu toate episoadele sau un episod cu data difuzării, durata și cadrul.
- [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.
- [API ghid de episoade](https://amodb.dev/ro/episode-guide-api/): API ghid de episoade pe endpoint-urile TMDB v3: nume, date de difuzare, durate, cadre și liste de grupuri de episoade pentru orice serial, în 14 limbi.
- [API seriale TV](https://amodb.dev/ro/tv-series/): API seriale TV cu căile și JSON-ul TMDB v3. Preia un serial după ID cu sezoane, rețele și următorul episod, plus clasificări de conținut și furnizori.
- [Ghid rapid](https://amodb.dev/ro/quickstart/): Fă primul apel amodb: ia o cheie, cere detaliile unui film în curl, JavaScript, Python, PHP sau Go, apoi încarcă posterul de pe img.amodb.dev. Sub 2 minute.
- [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.

Actualizat: 2026-10-18. Source: https://amodb.dev/ro/thetvdb-api-alternative/
