# Alternativa k OMDb API

> OMDb je malé API s jedním záznamem, bezplatným klíčem a denním limitem 1 000 (ověřte na jejich webu). amodb na /omdb/ odpovídá na i, t, s, type, y, plot a page se stejnými poli těla, omezuje vás za minutu a na jednom klíči přidává endpointy TMDB v3. Jen JSON, žádné XML, žádné epizody.

## Vyberte podle tvaru svých volání

Zvolte OMDb, když chcete jeden malý záznam na titul a jeho bezplatný klíč pokrývá váš objem. Zvolte amodb, když z toho vyrostete, nebo když chcete stejný styl požadavků OMDb vedle obsazení, obrázků a překladů na jednom klíči. OMDb vrací JSON nebo XML, používá parametr `apikey` a nabízí bezplatný klíč s denním limitem požadavků 1 000 (ověřte na jejich webu) plus placenou podporovatelskou úroveň. amodb je jen placené a odpovídá na hlavní parametry OMDb i na TMDB v3.

## Co zůstává stejné

Endpoint OMDb je na `https://api.amodb.dev/omdb/` a koncové lomítko je volitelné. Váš stávající kód pro parsování by pro tyto prvky neměl potřebovat úpravy.

| Prvek OMDb   | Na amodb                                                                                                     |
| ------------ | ------------------------------------------------------------------------------------------------------------ |
| `apikey`     | Stejný parametr, vyplněný vaším klíčem amodb                                                                 |
| `i` a `t`    | Hledání podle ID z IMDb nebo podle názvu                                                                     |
| `s` a `page` | Hledání s 10 výsledky na stránku a počtem `totalResults`, `page` až 100                                      |
| `type` a `y` | Filtr podle `movie` nebo `series` a podle roku                                                               |
| `plot`       | `short` nebo `full`                                                                                          |
| `r`          | Přijímá se jen `json`                                                                                        |
| Pole těla    | Pojmenovaná jako v OMDb, od `Title` po `Response`                                                            |
| `Ratings`    | Pole dvojic `Source` a `Value` pro Internet Movie Database, Rotten Tomatoes a Metacritic, když jsou přítomné |
| Chyby        | `{"Response":"False","Error":"..."}` s formulací OMDb, v odpovědi HTTP 200                                   |

## Co se nepřenáší

- **XML.** Požadavek s `r=xml` vrací 400 s `{"Response":"False","Error":"Only r=json is supported."}`.
- **Sezóny a epizody.** `Season` a `Episode` se ignorují a `type=episode` nic nenajde. Požadavek s `i=tt0903747&Season=1` vrátí záznam seriálu, ne sezónu. Pro epizody použijte `/3/tv/{id}/season/{n}`.
- **Další parametry.** `callback` se ignoruje.
- **Pole bez dat.** `DVD`, `Production` a `Website` jsou vždy `"N/A"`. Záznamy seriálů mají `totalSeasons` a vynechávají `DVD`, `BoxOffice`, `Production` a `Website`.
- **Plakáty.** Pole `Poster` ukazuje na `https://img.amodb.dev/t/p/w300/...` místo jiného hostitele. Vyměňte `w300` za `w780` a z téže cesty dostanete větší obrázek, přičemž obrázky klíč nepotřebují.

Úplný seznam parametrů a chyb je na stránce [endpoint OMDb](https://amodb.dev/cs/omdb-endpoint/).

## Příklad odpovědi

Požadavek s `t=Fight Club` vrací plochý objekt. Odpověď níže je skutečná, zkrácený je jen text `Plot`.

```json
{
  "Title": "Fight Club",
  "Year": "1999",
  "Rated": "R",
  "Released": "15 Oct 1999",
  "Runtime": "139 min",
  "Genre": "Crime, Drama, Thriller",
  "Director": "David Fincher",
  "Writer": "Chuck Palahniuk, Jim Uhls",
  "Actors": "Brad Pitt, Edward Norton, Meat Loaf",
  "Plot": "A nameless first-person narrator attends support groups in an attempt to subdue his emotional state an...",
  "Language": "English",
  "Country": "United States, Germany",
  "Awards": "Nominated for 1 Oscar. 12 wins & 38 nominations total",
  "Poster": "https://img.amodb.dev/t/p/w300/qkrH7rjYKU4KOwwIl6wF6H3ISvm.jpg",
  "Ratings": [
    {
      "Source": "Internet Movie Database",
      "Value": "8.8/10"
    },
    {
      "Source": "Rotten Tomatoes",
      "Value": "81%"
    },
    {
      "Source": "Metacritic",
      "Value": "67/100"
    }
  ],
  "Metascore": "67",
  "imdbRating": "8.8",
  "imdbVotes": "2,669,989",
  "imdbID": "tt0137523",
  "Type": "movie",
  "DVD": "N/A",
  "BoxOffice": "$38,003,039",
  "Production": "N/A",
  "Website": "N/A",
  "Response": "True"
}
```

Hodnoty jsou řetězce, jako v OMDb, proto `imdbRating`, `imdbVotes` a `Runtime` parsujte sami. Každé volání se počítá jako jeden požadavek do limitu za minutu, bez ohledu na to, kolik polí čtete.

## Srovnání funkcí

| Funkce          | OMDb                                                                      | amodb                                                                   |
| --------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| Cenový model    | Bezplatný klíč plus placená podporovatelská úroveň, ověřte na jejich webu | Předplacená období, 1 až 24 měsíců                                      |
| Bezplatný tarif | Bezplatný klíč s denním limitem 1 000, ověřte na jejich webu              | Žádný, ani zkušební verze                                               |
| Ověření         | Parametr `apikey`                                                         | `apikey` na `/omdb/`, `api_key` nebo Bearer na `/3`                     |
| Formát odpovědi | JSON nebo XML                                                             | JSON                                                                    |
| Jazyky          | Podívejte se do jejich dokumentace                                        | 14 jazyků rozhraní na cestách `/3`                                      |
| Filmy           | Ano                                                                       | Ano                                                                     |
| Seriály         | Seriály a epizody, pole viz jejich dokumentace                            | Záznamy seriálů na `/omdb/`, sezóny a epizody na cestách `/3`           |
| Osoby           | Jména jako text v každém záznamu                                          | Profily, filmografie a obrázky na cestách `/3`                          |
| Obrázky         | Odkaz na plakát v každém záznamu                                          | Odkaz na plakát plus seznamy obrázků, `img.amodb.dev`                   |
| Hodnocení       | Pole `Ratings`, `Metascore` a `imdbRating`                                | Stejná pole plus objekt `ratings` na cestách `/3`                       |
| Limit požadavků | Denní limit u bezplatného klíče, ověřte na jejich webu                    | 20, 40 nebo 120 za minutu na klíč                                       |
| Komerční užití  | Ověřte na jejich webu                                                     | Prodává se jako placené API, viz [ceník](https://amodb.dev/cs/pricing/) |
| Kompatibilita   | Definuje protokol OMDb                                                    | Výše uvedené parametry OMDb a čtení TMDB v3                             |

## V čem se amodb liší

- **Limity za minutu.** Tarify povolují 20, 40 nebo 120 požadavků za minutu v klouzavém okně 60 sekund. Každá odpověď s klíčem má `X-RateLimit-Remaining`, takže se dávková úloha může zpomalit, než narazí na 429.
- **Cesta nahoru od jednotlivých záznamů.** Záznam OMDb má seznam obsazení jako text. Na cestách `/3` si můžete vyžádat stejný titul s obsazením, videi a překlady jedním voláním a `imdbID` najde záznam přes `/3/find`.
- **Větší obrázky.** Záznamy ve stylu OMDb dávají jeden odkaz na plakát. Hostitel obrázků obsluhuje deset tokenů velikostí, od `w92` po `original`.
- **Více zdrojů hodnocení.** Rozšíření `/3/movie/{id}/ratings` přidává hodnoty z Kinopoisk, Metacritic, Rotten Tomatoes a TMDB tam, kde jsou známé.

## Kdy se OMDb hodí lépe

- **Malé nebo bezplatné projekty.** Bezplatný klíč s denním limitem 1 000 stačí pro prototyp nebo hobby web a amodb bezplatný tarif nemá.
- **Spotřebitelé XML.** Pokud starší systém parsuje XML, OMDb ho nabízí a amodb ne.
- **Vyhledání sezón a epizod.** Trasa `/omdb/` na amodb nemá režim sezón ani epizod, klient na ní postavený proto potřebuje místo toho cesty `/3`.
- **Jednoduchost.** Jeden endpoint a hrstka parametrů se snadno učí. Pokud potřebujete jen tohle, přechodem mnoho nezískáte.

## Přechod na amodb

Mění se jen základní URL a klíč. Zbytek požadavku ponechte, až prohledáte kód kvůli `r=xml`, `Season`, `Episode` a `type=episode`.

```js
const OMDB_BASE = process.env.OMDB_BASE_URL; // before: your current OMDb base URL
const AMODB_BASE = 'https://api.amodb.dev/omdb/'; // after

async function lookup(title) {
  const url = new URL(AMODB_BASE);
  url.searchParams.set('apikey', process.env.AMODB_KEY);
  url.searchParams.set('t', title);
  url.searchParams.set('plot', 'short');
  const res = await fetch(url);
  const data = await res.json();
  if (data.Response === 'False') throw new Error(data.Error);
  return data;
}

const movie = await lookup('Fight Club');
console.log(movie.Title, movie.Year, movie.imdbRating, movie.Poster);
```

Pole `Response` dál kontrolujte, jako jste to dělali u OMDb. Když je hodnotou řetězec `"False"`, zprávu nese pole `Error`. Pro epizody jednou namapujte `imdbID` přes `/3/find` a sezóny čtěte ze strany `/3`:

```bash
curl -s "https://api.amodb.dev/3/find/tt0903747?external_source=imdb_id&api_key=$AMODB_KEY"
curl -s "https://api.amodb.dev/3/tv/1396/season/1?api_key=$AMODB_KEY"
```

K straně ve stylu TMDB viz [autentizace](https://amodb.dev/cs/authentication/) a [rychlý start](https://amodb.dev/cs/quickstart/).

## Ceník

amodb je placené a obnovuje se jen tehdy, když koupíte další období. Tři tarify se liší pouze rychlostí, 20, 40 nebo 120 požadavků za minutu, a každý vrací všechna data. Období jsou 1, 3, 6, 12 nebo 24 měsíců a delší mají slevu 10 až 40 procent. Aktuální částky ověřte na stránce [ceník](https://amodb.dev/cs/pricing/).

## Otázky a odpovědi

### Musím přepsat svého klienta OMDb?

Ne, pokud používá i, t, s, type, y, plot a page. Změňte základní URL na https://api.amodb.dev/omdb/ a do parametru apikey vložte svůj klíč amodb. Tělo zachovává názvy polí OMDb, například imdbRating. Parametry Season a Episode a r=xml se nepodporují.

### Vrací endpoint OMDb na amodb XML?

Ne. Vrací jen JSON. Požadavek s r=xml dostane odpověď 400 s chybou Only r=json is supported, odstraňte proto parametr r nebo před přechodem nastavte r=json.

### Mohu na endpointu OMDb hledat sezóny a epizody?

Ne. Parametry Season a Episode se ignorují, takže požadavek s i a Season=1 vrátí záznam seriálu a type=episode nic nenajde. Epizody čtěte z /3/tv/{id}/season/{n} se stejným klíčem.

### Čím se liší limit od bezplatného klíče OMDb?

OMDb pro bezplatný klíč uvádí denní limit 1 000, aktuální podmínky proto ověřte na jejich webu. amodb omezuje požadavky za minutu na klíč, podle tarifu na 20, 40 nebo 120.

### Odkud se načítají obrázky plakátů?

Pole Poster ukazuje na img.amodb.dev ve velikosti w300. Pro větší obrázek nahraďte w300 v téže URL jinou velikostí, například w780. Obrázky klíč nepotřebují.

### Mohu použít stejný klíč pro volání ve stylu TMDB?

Ano. Jeden klíč funguje na /omdb/ i na cestách /3. Můžete tak pro imdbID načíst obsazení, trailery nebo překlady bez druhého předplatného.

## Související stránky

- [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 API IMDb](https://amodb.dev/cs/imdb-api-alternative/): IMDb nemá bezplatné univerzální REST API. Hledejte tituly podle ID z IMDb, čtěte hodnocení IMDb a získejte obsazení a trailery z placeného JSON API.
- [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.
- [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.
- [Ceník](https://amodb.dev/cs/pricing/): Tarify amodb se liší jen počtem požadavků za minutu: 20, 40 nebo 120. Každý zahrnuje všechna data kompatibilní s TMDB v3 a OMDb. Bez obnovení a zkušební verze.

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