# Alternativa à API do TheTVDB

> O TheTVDB foca em TV e oferece várias ordenações de episódios, como exibição, DVD e absoluta. O amodb cobre TV, filmes e pessoas com uma chave e mapeia um ID do TVDB para o seu ID com uma chamada. Ele lista os grupos de episódios de uma série, mas não o conteúdo, então a numeração alternativa fica no TheTVDB.

## Qual escolher para um projeto de TV

O TheTVDB é focado em TV e mantém várias ordenações de episódios por série, incluindo exibição, DVD e absoluta, sob um modelo de chave de API. Consulte a documentação deles sobre licenciamento antes de planejar um produto comercial. Escolha o amodb quando quiser TV, filmes e pessoas com uma chave, caminhos TMDB v3 e 14 idiomas. Escolha o TheTVDB quando a numeração alternativa exata for o centro do seu app, porque o amodb lista os grupos de episódios de uma série, mas não serve o que há dentro deles.

## Como os dados de TV se correspondem

Os conceitos se alinham, mas os nomes diferem. Esta tabela cobre o que um app de TV costuma ler.

| Necessidade                       | Abordagem do TheTVDB                   | Chamada do amodb                                       |
| --------------------------------- | -------------------------------------- | ------------------------------------------------------ |
| Uma série                         | Registro da série pelo ID do TVDB      | `GET /3/tv/1396`, depois de uma busca por `tvdb_id`    |
| Lista de temporadas               | Consulte a documentação deles          | Array `seasons` nos detalhes da série                  |
| Uma temporada com episódios       | Consulte a documentação deles          | `GET /3/tv/1396/season/1`                              |
| Um episódio                       | Consulte a documentação deles          | `GET /3/tv/1396/season/1/episode/1`                    |
| Quais ordenações existem          | Ordenações de exibição, DVD e absoluta | `GET /3/tv/1396/episode_groups`                        |
| Episódios dentro de uma ordenação | Consulte a documentação deles          | Não oferecido, `/3/tv/episode_group/{id}` responde 404 |
| Próximo episódio a ir ao ar       | Consulte a documentação deles          | `next_episode_to_air` nos detalhes da série            |

Os campos de episódio usam os nomes do TMDB: `air_date`, `episode_number`, `season_number`, `runtime` e `still_path`. Os `external_ids` de temporada e episódio são todos null, então o ID do TVDB de uma única temporada ou episódio não pode ser lido no amodb. Una os registros por `season_number` e `episode_number`. Os detalhes estão em [temporadas e episódios](https://amodb.dev/pt/tv-seasons-episodes/).

## O que a lista de grupos de episódios retorna

A chamada de lista mostra quais ordenações existem para uma série. Ela não retorna os episódios dentro delas.

| Campo           | Significado                                 |
| --------------- | ------------------------------------------- |
| `id`            | ID do grupo, uma string                     |
| `name`          | Nome da ordenação, como `DVD / PVOD`        |
| `description`   | Texto da fonte, muitas vezes vazio          |
| `type`          | Um número que diz de que tipo é a ordenação |
| `episode_count` | Episódios na ordenação                      |
| `group_count`   | Blocos na ordenação, como temporadas        |
| `network`       | Um objeto com a emissora, ou null           |

Esta é uma resposta real para 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
    }
  ]
}
```

Algumas séries retornam uma ordem de exibição e outras várias, e algumas retornam um array `results` vazio. Teste as séries que importam para você. Como o conteúdo de um grupo não é oferecido, um app que precisa do número em DVD ou absoluto de cada episódio não consegue obtê-lo no amodb.

## Comparação de recursos

| Recurso               | TheTVDB                                                                   | amodb                                                      |
| --------------------- | ------------------------------------------------------------------------- | ---------------------------------------------------------- |
| Modelo de preço       | Modelo de chave de API, consulte a documentação deles sobre licenciamento | Períodos pré-pagos de 1 a 24 meses                         |
| Plano gratuito        | Consulte a documentação deles                                             | Nenhum, e sem período de teste                             |
| Autenticação          | Chave de API, consulte a documentação deles sobre o fluxo                 | `api_key` ou cabeçalho Bearer                              |
| Formato da resposta   | JSON, consulte a documentação deles                                       | JSON no formato TMDB v3                                    |
| Idiomas               | Consulte a documentação deles                                             | 14 idiomas de interface                                    |
| Filmes                | Consulte a documentação deles                                             | Sim                                                        |
| TV                    | Sim, o foco principal                                                     | Sim, com temporadas e episódios                            |
| Pessoas               | Consulte a documentação deles                                             | Sim                                                        |
| Imagens               | Consulte a documentação deles                                             | `img.amodb.dev`, sem chave                                 |
| Avaliações            | Consulte a documentação deles                                             | IMDb e outras quatro fontes, quando conhecidas             |
| Limite de requisições | Consulte a documentação deles                                             | 20, 40 ou 120 por minuto por chave                         |
| Uso comercial         | Consulte a documentação deles sobre licenciamento                         | Planos pagos, veja [preços](https://amodb.dev/pt/pricing/) |
| Compatibilidade       | API própria                                                               | Leituras do TMDB v3 e OMDb                                 |

## Onde o amodb se diferencia

- **Uma chave para o catálogo inteiro.** Uma série, seu elenco, seus trailers e um filme que compartilha um ator usam a mesma URL base e o mesmo limite.
- **Avaliações ao lado do guia de episódios.** `append_to_response=ratings` nos detalhes da série acrescenta o IMDb e outras notas em uma chamada.
- **Cabeçalhos simples para controlar o ritmo.** `X-RateLimit-Remaining` e `X-RateLimit-Reset` dizem a um job de sincronização quantas requisições restam na janela de 60 segundos.
- **Nomes originais preservados.** Uma série mantém `original_name` enquanto `name` segue o seu `language`, o que ajuda quando você mostra um título nativo.

## Onde o TheTVDB é mais indicado

- **A ordenação é o produto.** Se os seus usuários discutem ordem de DVD, de exibição ou absoluta, o TheTVDB trata isso como parte central do seu modelo. O amodb nomeia as ordenações de uma série, mas não retorna os episódios delas, e os grupos que existem variam por série.
- **Integrações existentes.** Se o seu pipeline já guarda IDs do TheTVDB e lê as ordenações dele, mantenha essa parte e acrescente o amodb para os dados extras.
- **Foco em TV.** Se você nunca mostra filmes ou pessoas, uma fonte construída em torno de TV tem menos a aprender.

## Migrar para o amodb

Mapeie uma vez os IDs do TVDB que você guarda. Depois, use o ID do amodb em toda chamada. O endpoint find resolve apenas IDs de série. Seus arrays `tv_season_results` e `tv_episode_results` são sempre vazios, então mapeie temporadas e episódios por número.

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

A primeira requisição retorna Breaking Bad com o ID 1396. A segunda lista as ordenações que existem para essa série, com seus tamanhos. Para comparar a numeração com o que você guarda hoje, leia a ordem de exibição em `/tv/{id}/season/{n}` e mantenha qualquer ordem alternativa no lado do TheTVDB. Faça essa verificação nas suas dez séries mais assistidas antes de migrar o resto.

Cada chamada conta como uma requisição na janela de 60 segundos, e um 429 traz `Retry-After`. Veja [busca por ID externo](https://amodb.dev/pt/find-by-external-id/) e [limites de requisições](https://amodb.dev/pt/rate-limits/).

## Preços

O amodb é pré-pago, sem renovação automática. Escolha 1, 3, 6, 12 ou 24 meses e um de três planos de 20, 40 ou 120 requisições por minuto. Períodos mais longos dão 10, 20, 30 ou 40 por cento de desconto, e todo plano recebe todos os dados. Não há plano gratuito. Os valores estão em [preços](https://amodb.dev/pt/pricing/).

## Perguntas e respostas

### Posso converter IDs do TVDB em IDs do amodb?

Sim. Chame /3/find/81189 com external_source=tvdb_id. O array tv_results traz a série correspondente, então Breaking Bad volta com o ID 1396. Guarde o par e use o ID numérico daí em diante. O caminho inverso também funciona: /3/tv/1396/external_ids retorna tvdb_id.

### O amodb suporta a ordem de episódios em DVD e a absoluta?

Só em parte. GET /3/tv/{id}/episode_groups lista os grupos de uma série com name, type, episode_count e group_count. O conteúdo de um grupo não é oferecido, e /3/tv/episode_group/{id} responde 404. Você vê que existe uma ordenação em DVD, mas não consegue ler a numeração dela.

### O TheTVDB é gratuito?

O TheTVDB usa um modelo de chave de API, e os termos de licenciamento são definidos por ele. Consulte a documentação deles para ver a licença atual e eventuais taxas. O amodb é uma API paga, pré-paga, sem plano gratuito.

### Recebo dados de filmes também?

Sim. Filmes, pessoas, imagens, vídeos e traduções ficam na mesma chave e na mesma URL base que a TV. Isso elimina a necessidade de um segundo provedor se o seu app lista os dois.

### Como descubro qual episódio vai ao ar em seguida?

Os detalhes da série incluem next_episode_to_air e last_episode_to_air, cada um com season_number, episode_number e air_date. O próximo é null para uma série que já terminou. Os detalhes ficam em cache por 6 horas na borda, então consulte algumas vezes por dia, no máximo.

## Páginas relacionadas

- [API de temporadas e episódios de séries](https://amodb.dev/pt/tv-seasons-episodes/): API de temporadas e episódios com os mesmos caminhos e JSON do TMDB v3. Leia uma temporada com todos os episódios, ou um episódio com data, duração e still.
- [Buscar por ID externo](https://amodb.dev/pt/find-by-external-id/): Busque um filme, série ou pessoa por id do IMDb, TVDB, Wikidata ou Kinopoisk com o endpoint find do TMDB e leia ids externos e dados do Wikidata de um título.
- [API de guia de episódios](https://amodb.dev/pt/episode-guide-api/): API de guia de episódios com os endpoints de temporada e episódio do TMDB v3: nomes, datas de exibição, durações, imagens e grupos de episódios, em 14 idiomas.
- [API de séries de TV](https://amodb.dev/pt/tv-series/): API de séries de TV com os mesmos caminhos e JSON do TMDB v3. Busque uma série por id com temporadas, emissoras, próximo episódio e classificações.
- [Início rápido](https://amodb.dev/pt/quickstart/): Faça sua primeira chamada ao amodb: obtenha uma chave, peça um filme em curl, JavaScript, Python, PHP ou Go e carregue o pôster. Menos de 2 minutos.
- [Limites de requisições](https://amodb.dev/pt/rate-limits/): O amodb limita cada chave por requisições por minuto em uma janela de 60 segundos: 20, 40 ou 120 por plano. Leia os cabeçalhos e trate o 429 com Retry-After.

Atualizado: 2026-10-18. Source: https://amodb.dev/pt/thetvdb-api-alternative/
