# Filmové API pro vyhledávání, detaily a hodnocení

> amodb je placené filmové API na https://api.amodb.dev/3 se stejnými cestami a JSON jako TMDB v3. Titul vyhledáte přes /search/movie, pak film načtete s append_to_response a získáte obsazení, trailery a hodnocení v jednom požadavku. Odpovědi přicházejí ve 14 jazycích, od 20 požadavků za minutu.

## Filmové API, které mluví TMDB v3 a OMDb

amodb je nezávislé filmové API. Mluví stejným protokolem jako TMDB v3 a OMDb, takže klient napsaný pro kterékoli z nich funguje po změně základní URL na `https://api.amodb.dev/3` (nebo `https://api.amodb.dev/omdb/` pro volání ve stylu OMDb). Film najdete přes `/search/movie` a pak ho načtete přes `/movie/{movie_id}` a `append_to_response`.

Co dostanete:

- JSON ve tvaru TMDB v3, se stejnými cestami a parametry dotazu.
- Názvy a popisy ve 14 jazycích, vybírané přes `language`.
- Obsazení, štáb, trailery, klíčová slova, obrázky a data premiér přes `append_to_response`.
- Hodnocení ze zdrojů IMDb, Kinopoisk, Metacritic, Rotten Tomatoes a TMDB, kde jsou známá.
- Plakáty z `https://img.amodb.dev/t/p/{size}/{file}`, bez klíče.

## Jaká data dostanete

| Co potřebujete         | Volání                       | Poznámky                                                                                                         |
| ---------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Najít film podle názvu | `GET /3/search/movie?query=` | Stránkováno, až 20 výsledků na stránku, cache na edge 10 minut. Viz [vyhledávání](https://amodb.dev/cs/search/). |
| Základní záznam        | `GET /3/movie/{movie_id}`    | Názvy, popis, délka, žánry, datum vydání. Viz [filmy](https://amodb.dev/cs/movies/).                             |
| Obsazení a štáb        | `append_to_response=credits` | Pole jsou popsána na stránce [obsazení a štáb](https://amodb.dev/cs/credits/).                                   |
| Trailery               | `append_to_response=videos`  | Vrací pole `results` s `key`, `site` a `type`.                                                                   |
| Skóre                  | `append_to_response=ratings` | Pět zdrojů, každý `{ value, votes }` nebo null. Viz [hodnocení](https://amodb.dev/cs/ratings/).                  |
| Odpověď ve stylu OMDb  | `GET /omdb/?t=Inception`     | Stejná pole těla jako OMDb. Viz [endpoint OMDb](https://amodb.dev/cs/omdb-endpoint/).                            |

## Začněte ve 3 krocích

1. Vyberte tarif na stránce [ceník](https://amodb.dev/cs/pricing/). Tarify se liší jen rychlostí: 20, 40 nebo 120 požadavků za minutu.
2. Vytvořte klíč v panelu účtu. Klíč má 32 malých hexadecimálních znaků.
3. Zavolejte endpoint s klíčem v parametru `api_key` nebo v hlavičce `Authorization: Bearer`. Viz [autentizace](https://amodb.dev/cs/authentication/).

## Příklad požadavku

Ukázka najde Inception podle názvu, vezme první nález a v dalším volání načte film s obsazením, trailery a hodnocením. Dohromady jsou to dva požadavky.

```bash
# 1. find the id
curl -s "https://api.amodb.dev/3/search/movie?query=inception&language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"

# 2. read the movie with extras
curl -s "https://api.amodb.dev/3/movie/27205?language=en-US&append_to_response=credits,videos,ratings" \
  -H "Authorization: Bearer $AMODB_KEY"
```

```js
const base = 'https://api.amodb.dev/3';
const headers = { Authorization: `Bearer ${process.env.AMODB_KEY}` };

async function get(path, params) {
  const res = await fetch(`${base}${path}?${new URLSearchParams(params)}`, { headers });
  if (res.status === 429) {
    throw new Error(`Over the limit, retry in ${res.headers.get('Retry-After')} s`);
  }
  if (!res.ok) throw new Error(`amodb returned ${res.status}`);
  return res.json();
}

const found = await get('/search/movie', { query: 'inception', language: 'en-US' });
if (!found.results.length) throw new Error('No match');

const movie = await get(`/movie/${found.results[0].id}`, {
  language: 'en-US',
  append_to_response: 'credits,videos,ratings',
});
const director = movie.credits.crew.find((c) => c.job === 'Director');
console.log(movie.title, movie.release_date, movie.runtime, director?.name);
console.log('IMDb', movie.ratings.imdb?.value);
```

Zkrácená odpověď. Ze záznamu filmu zůstala jen část polí, `credits` je zkráceno na jednoho herce a režiséra a blok `videos` je vynechán.

```json
{
  "genres": [
    {
      "id": 12,
      "name": "Adventure"
    },
    {
      "id": 28,
      "name": "Action"
    },
    {
      "id": 80,
      "name": "Crime"
    }
  ],
  "id": 27205,
  "imdb_id": "tt1375666",
  "poster_path": "/xlaY2zyzMfkhk0HSC5VUwzoZPU1.jpg",
  "release_date": "2010-07-15",
  "runtime": 148,
  "title": "Inception",
  "credits": {
    "cast": [
      {
        "adult": false,
        "gender": 2,
        "id": 6193,
        "known_for_department": "Acting",
        "name": "Leonardo DiCaprio",
        "original_name": "Leonardo DiCaprio",
        "popularity": 9.3213,
        "profile_path": "/wo2hJpn04vbtmh0B9utCFdsQhxM.jpg",
        "character": "Dom Cobb",
        "credit_id": "52fe4534c3a368484e04de03",
        "order": 0
      }
    ],
    "crew": [
      {
        "adult": false,
        "gender": 2,
        "id": 525,
        "known_for_department": "Directing",
        "name": "Christopher Nolan",
        "original_name": "Christopher Nolan",
        "popularity": 8.578,
        "profile_path": "/xuAIuYSmsUzKlUMBFGVZaWsY3DZ.jpg",
        "credit_id": "5e83ac2ee33f830018359a00",
        "department": "Directing",
        "job": "Director"
      }
    ]
  },
  "ratings": {
    "imdb": {
      "value": 8.8,
      "votes": 2877173
    },
    "kinopoisk": {
      "value": 8.7,
      "votes": null
    },
    "metacritic": {
      "value": 74,
      "votes": null
    },
    "rotten_tomatoes": {
      "value": 86,
      "votes": null
    },
    "tmdb": {
      "value": 8.373,
      "votes": 40457
    }
  }
}
```

## Způsoby, jak najít film

Vyberte volání podle toho, co už máte.

| Začínáte s                        | Volání                                          | Výsledek                                                      |
| --------------------------------- | ----------------------------------------------- | ------------------------------------------------------------- |
| Název zadaný uživatelem           | `GET /3/search/movie?query=`                    | pole `results` s `id`, `title`, `release_date`, `poster_path` |
| IMDb ID, například `tt0133093`    | `GET /3/find/tt0133093?external_source=imdb_id` | pole `movie_results`                                          |
| Číselné ID filmu, například `603` | `GET /3/movie/603`                              | Úplný záznam                                                  |
| Stávající klient OMDb             | `GET /omdb/?i=tt0133093`                        | Tělo OMDb s `Title`, `Year`, `Ratings`                        |

Ukládejte obě ID. Číselné `id` je klíč pro všechna ostatní volání a `imdb_id` propojuje vaše data s jinými systémy. Pravidla vyhledávání jsou na stránce [hledání podle externího ID](https://amodb.dev/cs/find-by-external-id/).

## Prázdná pole a neúspěšná vyhledání

Skutečná filmová data mají mezery, proto pro ně napište zobrazovací kód. Vyhledávání bez nálezu není chyba: vrací HTTP 200 s prázdným polem `results`. Neznámé ID je chyba.

| Případ                     | Co uvidíte              | Co dělat                                  |
| -------------------------- | ----------------------- | ----------------------------------------- |
| Žádný nález                | 200 a `"results": []`   | Zobrazte „žádná shoda“, nezkoušejte znovu |
| Neznámé ID filmu           | 404 se `status_code` 34 | Odeberte ID ze svého seznamu              |
| Chybějící nebo špatný klíč | 401 se `status_code` 7  | Zastavte a opravte klíč                   |
| Prázdný `overview`         | Prázdný řetězec         | Požádejte znovu s `language=en-US`        |
| Neznámé skóre              | `null` uvnitř `ratings` | Skryjte tento odznak                      |
| Žádné datum vydání         | Prázdné `release_date`  | Titul seřaďte na konec                    |

Úplný seznam chyb je na stránce [chyby](https://amodb.dev/cs/errors/).

## Jak zůstat v limitu požadavků

Vyhledání a volání detailů stojí po jednom požadavku. Při 20 požadavcích za minutu je to deset vyhledání titulů za minutu, při 120 požadavcích za minutu šedesát. Zásah cache na edge se stále počítá, protože kontrola klíče a limitu proběhne před cache. Pro opakovaná vyhledání si veďte vlastní cache a z `X-RateLimit-Remaining` zjistíte, kolik z minuty zbývá. Při 429 počkejte počet sekund z `Retry-After`. Limity podle tarifu jsou na stránce [limity požadavků](https://amodb.dev/cs/rate-limits/).

## Jak si stojí v porovnání

| Schopnost                           | Scrapování stránek vlastními silami      | Metadata API s bezplatným tarifem               | amodb                                              |
| ----------------------------------- | ---------------------------------------- | ----------------------------------------------- | -------------------------------------------------- |
| Formát odpovědi                     | HTML, které musíte parsovat              | JSON                                            | JSON ve tvaru TMDB v3                              |
| Stabilita schématu                  | Rozbije se, když se změní značky stránky | Určuje poskytovatel                             | Pevné cesty a pole, mohou přibýt nová pole         |
| Podmínky přístupu                   | Platí podmínky každého webu              | Bezplatný tarif s podmínkami užívání, ověřte je | Placený, předplacený, bez bezplatného tarifu       |
| Limit požadavků                     | Nic, na co by se dalo spolehnout         | Určuje poskytovatel                             | 20, 40 nebo 120 požadavků za minutu na klíč        |
| Hodnocení z více zdrojů             | Jeden scraper na web                     | Různé, ověřte v dokumentaci                     | `ratings` ve stejném volání, null, když je neznámé |
| Jazyky                              | Co nabízí která stránka                  | Různé                                           | 14, vybírané přes `language`                       |
| Znovupoužití klientů TMDB v3 a OMDb | Ne                                       | Jen pokud používá stejný protokol               | Ano, změňte základní URL                           |

## Ceník

Přístup je předplacený na 1, 3, 6, 12 nebo 24 měsíců, u delších období je sleva 0, 10, 20, 30 a 40 procent. Neexistuje automatické obnovení ani bezplatný tarif. Každý tarif dostane všechna data a tarify se liší jen rychlostí: 20, 40 nebo 120 požadavků za minutu. Vyberte tarif na stránce [ceník](https://amodb.dev/cs/pricing/) a první volání provedete během několika minut.

## Otázky a odpovědi

### Je toto filmové API kompatibilní s TMDB?

Ano pro endpointy pro čtení, které filmová aplikace potřebuje. Cesty, parametry dotazu a JSON odpovídají TMDB v3 na https://api.amodb.dev/3, takže změníte základní URL a použijete svůj klíč amodb. Metody pro zápis účtu, relace, hodnocení a seznamů vracejí 405 se status_code 37. Feedy změn, aggregate_credits a vyhledání záznamů obsazení a recenzí vracejí 404.

### Mohu vyhledat film podle IMDb ID?

Ano. Zavolejte /3/find/tt0133093?external_source=imdb_id a přečtěte movie_results, nebo použijte endpoint ve stylu OMDb na /omdb/?i=tt0133093. Oba přijímají stejný klíč jako volání ve stylu TMDB.

### Kolik požadavků potřebuje stránka jednoho filmu?

Nejvýše dva: jedno vyhledání pro získání ID a pak jedno volání /movie/{id} s append_to_response=credits,videos,ratings. Pokud už ID ukládáte, stačí jediný požadavek.

### Které jazyky filmové API vrací?

Čtrnáct: angličtinu, ruštinu, ukrajinštinu, běloruštinu, čínštinu, portugalštinu, bulharštinu, hebrejštinu, češtinu, rumunštinu, francouzštinu, polštinu, italštinu a španělštinu. V language předejte tag TMDB, například pt-BR. Jakýkoli jiný tag se vrátí k angličtině.

### Existuje bezplatný tarif nebo zkušební verze?

Ne. Přístup je předplacený na 1, 3, 6, 12 nebo 24 měsíců, se slevami 0, 10, 20, 30 a 40 procent. Neobnovuje se automaticky. Tarify s 20, 40 a 120 požadavky za minutu jsou na stránce s ceníkem.

## Související stránky

- [API detailu filmu](https://amodb.dev/cs/movies/): API detailu filmu se stejnými cestami a JSON jako TMDB v3. Načtěte film podle ID, přidejte obsazení, hodnocení a nálady přes append_to_response, 14 jazyků.
- [API vyhledávání](https://amodb.dev/cs/search/): API vyhledávání se stejnými cestami a JSON jako TMDB v3. Najděte filmy, seriály, osoby, kolekce, společnosti a klíčová slova podle textu s filtrem roku.
- [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.
- [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.
- [Rychlý start](https://amodb.dev/cs/quickstart/): První volání amodb: získejte klíč, vyžádejte detail filmu v curl, JavaScriptu, Pythonu, PHP nebo Go a načtěte plakát z img.amodb.dev. Za méně než 2 minuty.
- [Alternativa k API TMDB](https://amodb.dev/cs/tmdb-api-alternative/): Hledáte alternativu k API TMDB? Ověřte podmínky, limity, jazyky a hodnocení a přejděte na placené API, které zachovává většinu cest pro čtení TMDB v3 a JSON.

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