# Alternativa k API IMDb

> IMDb nemá bezplatné univerzální REST API: jeho nekomerční datasety jsou soubory ke stažení a komerční přístup je licencovaný. amodb je placené API s JSON, kde titul vyhledáte podle ID z IMDb, přečtete hodnocení IMDb s počtem hlasů, kde je znám, a obsazení, obrázky a trailery získáte jedním klíčem.

## Data IMDb přes REST: stručná odpověď

IMDb nemá bezplatné univerzální REST API. Jeho nekomerční datasety jsou soubory ke stažení a komerční přístup je licencovaný, aktuální podmínky proto ověřte v jejich dokumentaci. Pokud chcete zavolat endpoint HTTP s ID z IMDb a dostat JSON, amodb to v placeném tarifu umí. Pokud vaše smlouva vyžaduje data licencovaná přímo od IMDb, ta dohoda je s IMDb a amodb ji nenahrazuje.

## Způsoby použití ID z IMDb na amodb

Většinu potřeb pokrývá pět volání. Každé začíná u ID, které už máte, nebo jím končí.

| Máte nebo chcete     | Volání                                          | Dostanete                                            |
| -------------------- | ----------------------------------------------- | ---------------------------------------------------- |
| Titul z ID z IMDb    | `GET /3/find/tt0137523?external_source=imdb_id` | Pole `movie_results`, `tv_results`, `person_results` |
| ID z IMDb filmu      | `GET /3/movie/550`, pole `imdb_id`              | `tt0137523` pro Fight Club                           |
| ID z IMDb seriálu    | `GET /3/tv/1396/external_ids`                   | `imdb_id` vedle ID z TVDB                            |
| Skóre IMDb           | `GET /3/movie/550/ratings`                      | `imdb` jako `value` a `votes`, nebo null             |
| Záznam ve stylu OMDb | `GET /omdb/?i=tt0137523`                        | `imdbRating`, `imdbVotes`, `imdbID`                  |

Každý řádek funguje se stejným klíčem. Hodnocení popisuje stránka [hodnocení](https://amodb.dev/cs/ratings/) a vyhledání podle ID stránka [hledání podle externího ID](https://amodb.dev/cs/find-by-external-id/).

## Čtení skóre IMDb

Endpoint hodnocení vrací skóre a počet hlasů společně. Toto je skutečná odpověď pro Fight Club (ID 550). Skóre se v čase mění.

```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
  }
}
```

U IMDb je `value` na stupnici 0 až 10 na jedno desetinné místo. Vedle něj zobrazte počet hlasů a když je objekt `null`, nevykreslujte nic. V této odpovědi mají počet hlasů jen IMDb a TMDB. `votes` může být `null` u kteréhokoli zdroje, ověřte ho proto před zobrazením. Odpověď v cache zůstává platná 6 hodin na edge, častější dotazování tedy nic nepřináší.

## Srovnání funkcí

| Funkce          | IMDb                                                                          | amodb                                                      |
| --------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------- |
| Cenový model    | Licencovaný komerční přístup, podívejte se do jejich dokumentace              | Předplatné, od 1 do 24 měsíců                              |
| Bezplatný tarif | Žádné bezplatné univerzální REST API                                          | Žádný, ani zkušební verze                                  |
| Ověření         | Podívejte se do jejich dokumentace                                            | Parametr dotazu `api_key` nebo hlavička Bearer             |
| Formát odpovědi | Datasety ke stažení, u licencovaných feedů se podívejte do jejich dokumentace | JSON                                                       |
| Jazyky          | Podívejte se do jejich dokumentace                                            | 14 jazyků rozhraní                                         |
| Filmy           | Pole viz jejich dokumentace                                                   | Detaily, obsazení, obrázky, videa                          |
| Seriály         | Pole viz jejich dokumentace                                                   | Seriály, sezóny, epizody                                   |
| Osoby           | Pole viz jejich dokumentace                                                   | Profily, filmografie, obrázky                              |
| Obrázky         | Podívejte se do jejich dokumentace                                            | `img.amodb.dev`, klíč není potřeba                         |
| Hodnocení       | Vlastní skóre, přístup viz jejich dokumentace                                 | Pět zdrojů, mezi nimi IMDb, kde jsou známé                 |
| Limit požadavků | Podívejte se do jejich dokumentace                                            | 20, 40 nebo 120 požadavků za minutu                        |
| Komerční užití  | Licencováno, podívejte se do jejich dokumentace                               | Placené tarify, viz [ceník](https://amodb.dev/cs/pricing/) |
| Kompatibilita   | Vlastní formáty, podívejte se do jejich dokumentace                           | Čtení TMDB v3 a protokol OMDb                              |

## V čem se amodb liší

Voláte endpoint místo parsování souboru. Jeden požadavek vrátí titul s obsazením, trailery a hodnocením přes `append_to_response` a tvar odpovídá TMDB v3, takže stávající klientské knihovny fungují. Stejný klíč obsluhuje endpoint ve stylu OMDb, který udrží v chodu starší kód čtoucí `imdbRating`.

Blok hodnocení je pevný objekt s pěti klíči. Neznámý zdroj je `null`, ne chybějící klíč, takže kód čtoucí `ratings.imdb` nepotřebuje kontrolu existence nadřazeného objektu. Vedle hodnoty může být počet hlasů, což umožňuje skrýt skóre opřené o málo hlasů. Může být také `null`, jako je tomu u tří z pěti zdrojů v příkladu výše.

## Kdy se IMDb hodí lépe

- **Původ skóre.** IMDb zveřejňuje svá hodnocení jako první. amodb vrací hodnotu jen tam, kde je známa, takže nový nebo málo známý titul se může vrátit s `null`.
- **Funkce webu.** Uživatelské recenze, seznamy a seznamy ke zhlédnutí žijí na webu IMDb. amodb je API s metadaty a uživatelské účty nenabízí.
- **Licencovaná data.** Pokud partner nebo smlouva vyžaduje data licencovaná IMDb, může je poskytnout jen IMDb.
- **Offline analýza.** Nekomerční soubory datasetů se hodí pro hromadný výzkum, který spouštíte na vlastním stroji. Podmínky ověřte v jejich dokumentaci.

## Přechod na amodb

Nejspíš držíte seznam ID z IMDb. Každé namapujte jednou na ID amodb, dvojici uložte a pak volejte detaily podle číselného ID.

```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)
```

Tři ID výše se mapují na 550, 603 a 27205, tedy Fight Club, The Matrix a Inception. ID seriálu, například `tt0903747`, přijde v `tv_results`, kde má Breaking Bad ID 1396. Prázdné pole znamená, že pro dané ID nebyla nalezena shoda.

Smyčku zpomalte. Každé ID je jeden požadavek a 429 obsahuje hlavičku `Retry-After` s počtem sekund čekání. Další kódy viz [chyby](https://amodb.dev/cs/errors/).

### Bezpečné ukládání ID

- ID z IMDb ukládejte jako řetězce. Začínají na `tt` a nesou úvodní nuly, jako v `tt0137523`, a číselný typ ty nuly zahodí.
- Ukládejte ID z IMDb a ID amodb jako dvojici. Kterékoli titul znovu najde.
- Pro seriály čtěte `tv_results` a pro filmy `movie_results`. Jedno ID obvykle vyplní jedno pole a ostatní nechá prázdná.
- Od té chvíle žádejte detaily podle ID amodb, protože volání detailů může přes `append_to_response` nést obsazení, trailery i hodnocení.

## Ceník

Zvolte jeden ze tří tarifů s 20, 40 nebo 120 požadavky za minutu a předplaťte 1, 3, 6, 12 nebo 24 měsíců. Delší období mají slevu 10, 20, 30 nebo 40 procent. Všechny tarify vracejí stejná data, nic se neobnovuje samo a bezplatný tarif neexistuje. Částky viz [ceník](https://amodb.dev/cs/pricing/).

## Otázky a odpovědi

### Nabízí IMDb bezplatné REST API?

IMDb nemá bezplatné univerzální REST API. Jeho nekomerční datasety jsou soubory ke stažení a komerční přístup je licencovaný. Aktuální podmínky, formáty a pole si ověřte v jejich dokumentaci, než s nimi začnete počítat.

### Mohu na amodb vyhledat titul podle jeho ID z IMDb?

Ano. Zavolejte /3/find/tt0137523 s external_source=imdb_id a přečtěte movie_results, tv_results nebo person_results. Endpoint ve stylu OMDb také přijímá parametr i s ID z IMDb.

### Je hodnocení IMDb vždy přítomno?

Ne. Objekt ratings má vždy pět klíčů imdb, kinopoisk, metacritic, rotten_tomatoes a tmdb, ale každý je null, když skóre není známo. Než číslo vykreslíte, ošetřete null.

### Dostanu uživatelské recenze nebo seznamy z IMDb?

Ne. amodb vrací ID z IMDb a skóre IMDb s počtem hlasů, kde je znám. Nehostuje uživatelské recenze, seznamy ani seznamy ke zhlédnutí z IMDb. Endpoint recenzí ve stylu TMDB odpovídá 200 a většina titulů vrací prázdný seznam.

### Jak dlouho trvá namapování seznamu ID z IMDb?

Jeden požadavek find na ID. Seznam 500 ID potřebuje 500 požadavků, takže v tarifu s 20 požadavky za minutu to trvá asi 25 minut. Výsledek uložte, protože se mapování mění zřídka.

## Související stránky

- [Hledání podle externího ID](https://amodb.dev/cs/find-by-external-id/): Najděte film, seriál nebo osobu podle ID z IMDb, TVDB, Wikidata nebo Kinopoisk přes endpoint find TMDB a čtěte externí ID a fakta z Wikidata o titulu.
- [Hodnocení filmů a seriálů](https://amodb.dev/cs/ratings/): API hodnocení filmů, které vrací skóre z IMDb, Kinopoisk, Metacritic, Rotten Tomatoes a TMDB pro titul jedním voláním, s null u každého neznámého zdroje.
- [Endpoint kompatibilní s OMDb](https://amodb.dev/cs/omdb-endpoint/): Endpoint kompatibilní s OMDb na api.amodb.dev/omdb/: dotazy i a t, hledání přes s, pole Ratings. Klient funguje dál po změně základní URL a klíče.
- [Alternativa k OMDb API](https://amodb.dev/cs/omdb-api-alternative/): Narazili jste na denní limit OMDb nebo potřebujete víc než jeden záznam? amodb odpovídá na požadavky ve stylu OMDb a nabízí i TMDB v3 s jedním klíčem.
- [Autentizace](https://amodb.dev/cs/authentication/): Jak poslat klíč amodb: api_key v dotazu, hlavička Authorization Bearer nebo apikey pro volání OMDb. Formát klíče, uložení, rotace a chyby 401.
- [Limity požadavků](https://amodb.dev/cs/rate-limits/): amodb omezuje klíč počtem požadavků za minutu v klouzavém okně 60 sekund: 20, 40 nebo 120 podle tarifu. Čtěte hlavičky limitu a řešte 429 pomocí Retry-After.

Aktualizováno: 2026-10-18. Source: https://amodb.dev/cs/imdb-api-alternative/
