# Alternativă la API-ul IMDb

> IMDb nu are un API REST general gratuit: seturile sale de date necomerciale sunt fișiere descărcabile, iar accesul comercial se licențiază. amodb este un API JSON cu plată în care cauți un titlu după ID IMDb, citești evaluarea IMDb și numărul de voturi, unde se știu, și primești distribuția, imaginile și trailerele cu o singură cheie.

## Date IMDb prin REST: răspunsul scurt

IMDb nu are un API REST general gratuit. Seturile sale de date necomerciale sunt fișiere descărcabile, iar accesul comercial se licențiază, așa că vezi documentația lor pentru termenii actuali. Dacă vrei să apelezi un endpoint HTTP cu un ID IMDb și să primești JSON, amodb face asta pe un plan cu plată. Dacă contractul tău cere date licențiate chiar de IMDb, acel acord este cu IMDb, iar amodb nu îl înlocuiește.

## Moduri de a folosi un ID IMDb pe amodb

Cinci apeluri acoperă majoritatea nevoilor. Fiecare pornește de la un ID pe care îl ai deja sau se termină cu unul.

| Ai sau vrei                 | Apel                                            | Primești                                                    |
| --------------------------- | ----------------------------------------------- | ----------------------------------------------------------- |
| Un titlu dintr-un ID IMDb   | `GET /3/find/tt0137523?external_source=imdb_id` | Array-urile `movie_results`, `tv_results`, `person_results` |
| ID-ul IMDb al unui film     | `GET /3/movie/550`, câmpul `imdb_id`            | `tt0137523` pentru Fight Club                               |
| ID-ul IMDb al unui serial   | `GET /3/tv/1396/external_ids`                   | `imdb_id` lângă ID-ul TVDB                                  |
| Scorul IMDb                 | `GET /3/movie/550/ratings`                      | `imdb` ca `value` și `votes`, sau null                      |
| O înregistrare în stil OMDb | `GET /omdb/?i=tt0137523`                        | `imdbRating`, `imdbVotes`, `imdbID`                         |

Fiecare rând funcționează cu aceeași cheie. Evaluările sunt descrise pe pagina [evaluări](https://amodb.dev/ro/ratings/), iar căutările de ID pe [căutare după ID extern](https://amodb.dev/ro/find-by-external-id/).

## Citește scorul IMDb

Endpoint-ul de evaluări întoarce scorul și numărul de voturi împreună. Acesta este un răspuns real pentru Fight Club (ID 550). Scorurile se schimbă în timp.

```json
{
  "id": 550,
  "imdb": {
    "value": 8.8,
    "votes": 2669989
  },
  "kinopoisk": {
    "value": 8.7,
    "votes": null
  },
  "metacritic": {
    "value": 67,
    "votes": null
  },
  "rotten_tomatoes": {
    "value": 81,
    "votes": null
  },
  "tmdb": {
    "value": 8.437,
    "votes": 33039
  }
}
```

Pentru IMDb, `value` este pe o scară de la 0 la 10, cu o zecimală. Arată numărul de voturi lângă el și nu afișa nimic când obiectul este `null`. În acest răspuns doar IMDb și TMDB au voturi. `votes` poate fi `null` la orice sursă, așa că verifică-l înainte să-l afișezi. Un răspuns din cache rămâne valid 6 ore la margine, deci interogarea mai deasă nu aduce nimic.

## Comparația funcțiilor

| Funcție              | IMDb                                                                                   | amodb                                                           |
| -------------------- | -------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| Model de preț        | Licențiat pentru acces comercial, vezi documentația lor                                | Plătit în avans, de la 1 la 24 de luni                          |
| Nivel gratuit        | Niciun API REST general gratuit                                                        | Niciunul, și fără perioadă de probă                             |
| Autentificare        | Vezi documentația lor                                                                  | Parametrul de interogare `api_key` sau antetul Bearer           |
| Format de răspuns    | Fișiere de set de date descărcabile, vezi documentația lor pentru fluxurile licențiate | JSON                                                            |
| Limbi                | Vezi documentația lor                                                                  | 14 limbi de interfață                                           |
| Filme                | Vezi documentația lor pentru câmpuri                                                   | Detalii, credite, imagini, videoclipuri                         |
| TV                   | Vezi documentația lor pentru câmpuri                                                   | Seriale, sezoane, episoade                                      |
| Persoane             | Vezi documentația lor pentru câmpuri                                                   | Profiluri, filmografie, imagini                                 |
| Imagini              | Vezi documentația lor                                                                  | `img.amodb.dev`, fără cheie                                     |
| Evaluări             | Scorul propriu, vezi documentația lor pentru acces                                     | Cinci surse, printre ele IMDb, unde se știu                     |
| Limită de cereri     | Vezi documentația lor                                                                  | 20, 40 sau 120 de cereri pe minut                               |
| Utilizare comercială | Licențiată, vezi documentația lor                                                      | Planuri cu plată, vezi [prețuri](https://amodb.dev/ro/pricing/) |
| Compatibilitate      | Formate proprii, vezi documentația lor                                                 | Citiri TMDB v3 și protocolul OMDb                               |

## Prin ce diferă amodb

Apelezi un endpoint în loc să analizezi un fișier. O singură cerere întoarce un titlu cu distribuția, trailerele și evaluările prin `append_to_response`, iar structura se potrivește cu TMDB v3, deci bibliotecile client existente funcționează. Aceeași cheie servește endpoint-ul în stil OMDb, ceea ce ține în funcțiune codul mai vechi care citește `imdbRating`.

Blocul de evaluări este un obiect fix cu cinci chei. O sursă necunoscută este `null`, nu o cheie lipsă, deci codul care citește `ratings.imdb` nu are nevoie de o verificare a existenței părintelui. Un număr de voturi poate sta lângă valoare, ceea ce te lasă să ascunzi un scor bazat pe puține voturi. Poate fi și `null`, cum este la trei dintre cele cinci surse din exemplul de mai sus.

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

- **Originea scorului.** IMDb își publică primul propriile evaluări. amodb întoarce o valoare doar unde se cunoaște, deci un titlu nou sau obscur poate veni `null`.
- **Funcții de site.** Recenziile utilizatorilor, listele și listele de urmărire se află pe site-ul IMDb. amodb este un API de metadate și nu oferă conturi de utilizator.
- **Date licențiate.** Dacă un partener sau un contract cere date licențiate IMDb, doar IMDb le poate furniza.
- **Analiză offline.** Fișierele de seturi de date necomerciale se potrivesc cercetării în masă pe care o rulezi pe propriul calculator. Vezi documentația lor pentru termeni.

## Migrarea la amodb

Probabil ai o listă de ID-uri IMDb. Potrivește fiecare ID cu un ID amodb o singură dată, stochează perechea și apoi apelează detaliile după ID-ul numeric.

```bash
curl -s "https://api.amodb.dev/3/find/tt0133093?external_source=imdb_id" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```python
import os
import requests

KEY = os.environ["AMODB_KEY"]
imdb_ids = ["tt0137523", "tt0133093", "tt1375666"]

for imdb_id in imdb_ids:
    r = requests.get(
        f"https://api.amodb.dev/3/find/{imdb_id}",
        params={"external_source": "imdb_id"},
        headers={"Authorization": f"Bearer {KEY}"},
        timeout=10,
    )
    r.raise_for_status()
    hits = r.json()["movie_results"]
    print(imdb_id, hits[0]["id"] if hits else None)
```

Cele trei ID-uri de mai sus se potrivesc cu 550, 603 și 27205, adică Fight Club, The Matrix și Inception. Un ID de serial precum `tt0903747` vine în `tv_results`, unde Breaking Bad are ID-ul 1396. Un array gol înseamnă că nu s-a găsit nicio potrivire pentru acel ID.

Ritmează bucla. Fiecare ID este o cerere, iar un 429 include un antet `Retry-After` cu secundele de așteptare. Vezi [erori](https://amodb.dev/ro/errors/) pentru celelalte coduri.

### Stochează ID-urile în siguranță

- Păstrează ID-urile IMDb ca șiruri. Încep cu `tt` și au zerouri la început, ca în `tt0137523`, iar un tip numeric pierde acele zerouri.
- Salvează ID-ul IMDb și ID-ul amodb ca pereche. Oricare regăsește titlul.
- Citește `tv_results` pentru seriale și `movie_results` pentru filme. Un singur ID umple în mod normal un array și le lasă pe celelalte goale.
- Cere detaliile după ID-ul amodb de atunci încolo, pentru că un apel de detalii poate aduce distribuția, trailerele și evaluările prin `append_to_response`.

## Prețuri

Alege unul dintre cele trei planuri de 20, 40 sau 120 de cereri pe minut și plătește în avans 1, 3, 6, 12 sau 24 de luni. Perioadele mai lungi au reduceri de 10, 20, 30 sau 40 la sută. Toate planurile întorc aceleași date, nimic nu se reînnoiește singur și nu există nivel gratuit. Vezi [prețuri](https://amodb.dev/ro/pricing/) pentru sume.

## Întrebări și răspunsuri

### Oferă IMDb un API REST gratuit?

IMDb nu are un API REST general gratuit. Seturile sale de date necomerciale sunt fișiere descărcabile, iar accesul comercial se licențiază. Vezi documentația lor pentru termenii, formatele și câmpurile actuale înainte să planifici în jurul lor.

### Pot căuta un titlu după ID-ul lui IMDb pe amodb?

Da. Apelează /3/find/tt0137523 cu external_source=imdb_id și citește movie_results, tv_results sau person_results. Endpoint-ul în stil OMDb acceptă și parametrul i cu un ID IMDb.

### Este evaluarea IMDb mereu prezentă?

Nu. Obiectul ratings are mereu cele cinci chei imdb, kinopoisk, metacritic, rotten_tomatoes și tmdb, dar fiecare este null când scorul nu se cunoaște. Tratează null înainte să afișezi un număr.

### Primesc recenzii sau liste ale utilizatorilor IMDb?

Nu. amodb întoarce ID-ul IMDb și scorul IMDb cu numărul de voturi, unde se știu. Nu găzduiește recenzii, liste sau liste de urmărire ale utilizatorilor IMDb. Endpoint-ul de recenzii în stil TMDB răspunde 200, iar majoritatea titlurilor întorc o listă goală.

### Cât durează să potrivesc o listă de ID-uri IMDb?

O cerere find pe ID. O listă de 500 de ID-uri cere 500 de cereri, deci pe planul cu 20 de cereri pe minut durează cam 25 de minute. Stochează rezultatul, pentru că potrivirea se schimbă rar.

## Pagini conexe

- [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.
- [Evaluări pentru filme și TV](https://amodb.dev/ro/ratings/): API evaluări filme ce întoarce scorurile IMDb, Kinopoisk, Metacritic, Rotten Tomatoes și TMDB pentru un titlu într-un apel, cu null pentru sursele necunoscute.
- [Endpoint compatibil OMDb](https://amodb.dev/ro/omdb-endpoint/): Endpoint compatibil OMDb la api.amodb.dev/omdb/. Caută după i sau t, caută cu s, citește array-ul Ratings și păstrează-ți clientul schimbând URL-ul de bază.
- [Alternativă la API-ul OMDb](https://amodb.dev/ro/omdb-api-alternative/): Ai atins limita zilnică OMDb sau vrei mai mult de o înregistrare pe apel? amodb răspunde cererilor în stil OMDb și servește și TMDB v3, cu aceeași cheie.
- [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.

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