# amodb vs TMDB

> O amodb mantém os caminhos, os parâmetros de consulta e o JSON do TMDB v3 na maioria dos endpoints de leitura, então basta trocar a URL base e a chave. Escritas respondem 405, e feeds de alterações, créditos agregados e consultas de resenhas não são oferecidos. Outras diferenças: termos, 14 idiomas, cinco extensões e limites por chave.

## A comparação em resumo

O amodb é uma API independente que fala o mesmo protocolo do TMDB v3. Um cliente escrito para o TMDB lê do amodb depois que você troca a URL base e a chave, desde que não chame um caminho da tabela de não oferecidos abaixo. A escolha, portanto, passa por termos, extras e algumas lacunas. O TMDB oferece uma API gratuita para uso elegível, sob seus próprios termos. O amodb é uma API paga, somente de leitura, com 14 idiomas, cinco blocos extras de dados e um limite contado por chave.

## Paridade de endpoints

Cada linha mostra um caminho de leitura do TMDB v3 e como ele se comporta em `https://api.amodb.dev/3`.

| Área                   | Caminho do TMDB v3                       | No amodb                                                                                                                 |
| ---------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Detalhes de filmes     | `/movie/{movie_id}`                      | Igual, com mais cinco valores de `append_to_response`                                                                    |
| Detalhes de séries     | `/tv/{series_id}`                        | Igual, mas sem o campo `type`, e `created_by` vem vazio na maioria das séries                                            |
| Temporadas e episódios | `/tv/{series_id}/season/{season_number}` | Mesmo formato. Imagens, vídeos e traduções de temporada vêm vazios, e os `external_ids` de temporada e episódio são null |
| Pessoas                | `/person/{person_id}`                    | Igual, com `combined_credits`, `movie_credits`, `tv_credits`, `external_ids` e `images` (somente perfis)                 |
| Créditos               | `/movie/{movie_id}/credits`              | Igual. Em episódios, `cast` vem vazio                                                                                    |
| Busca                  | `/search/multi`                          | Igual, com cache de 10 minutos                                                                                           |
| Descoberta             | `/discover/movie`                        | Igual, com cache de 30 minutos                                                                                           |
| Em alta                | `/trending/{media_type}/{time_window}`   | Igual, com cache de 30 minutos                                                                                           |
| Listas                 | `/movie/popular`                         | Igual, `page` de 1 a 500                                                                                                 |
| Imagens                | `/movie/{movie_id}/images`               | Mesmo formato, os arquivos carregam de `img.amodb.dev`                                                                   |
| Vídeos                 | `/movie/{movie_id}/videos`               | Igual                                                                                                                    |
| Traduções              | `/movie/{movie_id}/translations`         | Igual, 14 idiomas atendidos                                                                                              |
| Palavras-chave         | `/movie/{movie_id}/keywords`             | Igual                                                                                                                    |
| Resenhas               | `/movie/{movie_id}/reviews`              | Responde 200, mas só alguns títulos têm resenhas, então uma lista vazia é normal                                         |
| Coleções               | `/collection/{collection_id}`            | Igual, com `parts` ordenado por data de lançamento                                                                       |
| Produtoras e emissoras | `/company/{company_id}`                  | Mesmas chaves. O `description` de uma produtora vem vazio e `parent_company` é null                                      |
| Gêneros                | `/genre/movie/list`                      | Igual                                                                                                                    |
| Configuração           | `/configuration`                         | Mesmas chaves, o host de imagens é `img.amodb.dev`                                                                       |
| Busca por ID externo   | `/find/{external_id}`                    | Mesmo endpoint, mais `kinopoisk_id`. `tv_episode_results` e `tv_season_results` sempre vêm vazios                        |
| Grupos de episódios    | `/tv/{series_id}/episode_groups`         | Lista os grupos de uma série, sem o conteúdo deles                                                                       |

## Não oferecido no amodb

Estas chamadas do TMDB v3 não têm equivalente. Caminhos desconhecidos respondem 404 com `status_code` 34, e métodos de escrita respondem 405 com `status_code` 37.

| Chamada do TMDB v3                                                                                                | Resposta do amodb     |
| ----------------------------------------------------------------------------------------------------------------- | --------------------- |
| `/movie/changes`, `/tv/changes`, `/person/changes` e `changes` sob um ID                                          | 404, `status_code` 34 |
| `aggregate_credits` sob uma série ou uma temporada                                                                | 404, `status_code` 34 |
| `/credit/{credit_id}` e `/review/{review_id}`                                                                     | 404, `status_code` 34 |
| `/tv/episode_group/{id}`                                                                                          | 404, `status_code` 34 |
| `/person/{person_id}/translations`, `tagged_images` e `/person/latest`                                            | 404, `status_code` 34 |
| `images`, `translations` e `alternative_names` de coleções, produtoras e emissoras                                | 404, `status_code` 34 |
| `/configuration/timezones`                                                                                        | 404, `status_code` 34 |
| Tudo sob `account`, `authentication`, `guest_session` e `list`, e qualquer caminho `/rating` ou `/account_states` | 405, `status_code` 37 |

Se você adicionar `aggregate_credits` ou `changes` a `append_to_response`, o amodb ignora o nome sem erro, então a chave simplesmente não aparece no corpo.

## Comparação de recursos

| Recurso               | TMDB                                                                    | amodb                                                          |
| --------------------- | ----------------------------------------------------------------------- | -------------------------------------------------------------- |
| Modelo de preço       | Gratuito para uso elegível, sob os termos do TMDB                       | Pré-pago, de 1 a 24 meses por compra                           |
| Plano gratuito        | Sim, para uso elegível                                                  | Nenhum, e sem período de teste                                 |
| Autenticação          | Chave v3 em `api_key`, ou token v4 como Bearer                          | `api_key` ou Bearer com uma chave hexadecimal de 32 caracteres |
| Formato da resposta   | JSON                                                                    | JSON, mesmos campos nos caminhos atendidos                     |
| Idiomas               | Consulte a documentação deles                                           | 14 atendidos, outras tags voltam para `en`                     |
| Filmes                | Sim                                                                     | Sim                                                            |
| TV                    | Sim                                                                     | Sim                                                            |
| Pessoas               | Sim                                                                     | Sim                                                            |
| Imagens               | Sim                                                                     | `img.amodb.dev`, tamanhos de `w92` a `original`                |
| Avaliações            | Nota dos usuários do TMDB, outras fontes: consulte a documentação deles | Cinco fontes em um objeto, quando conhecidas                   |
| Métodos de escrita    | Métodos de conta, lista e avaliação                                     | Nenhum, respondem 405                                          |
| Limite de requisições | Consulte a documentação deles                                           | 20, 40 ou 120 por minuto por chave                             |
| Uso comercial         | Consulte os termos deles sobre uso comercial e atribuição               | Planos pagos, veja [preços](https://amodb.dev/pt/pricing/)     |
| Compatibilidade       | Define o padrão TMDB v3                                                 | A maioria dos caminhos de leitura do TMDB v3 e uma rota OMDb   |

## O que difere em detalhe

- **Termos.** O TMDB pede que você leia seus termos sobre uso comercial e atribuição. O amodb é vendido por período pré-pago, não tem renovação automática, plano gratuito nem período de teste.
- **Idiomas.** O amodb atende en, ru, uk, be, zh, pt, bg, he, cs, ro, fr, pl, it e es. Ele aceita tags do TMDB como `ru-RU` e `pt-BR`. Alemão, japonês e coreano voltam para `en`, enquanto `original_title` mantém o título de origem. Para a cobertura de idiomas do TMDB, consulte a documentação deles. Veja [idiomas](https://amodb.dev/pt/languages/).
- **Extensões.** `append_to_response` também aceita `moods`, `soundtracks`, `ratings`, `wikidata` e `showtimes`, e cada um tem seu próprio caminho em filmes e séries.
- **IDs externos.** `/3/find` resolve `imdb_id`, `tvdb_id`, `wikidata_id`, `kinopoisk_id`, `facebook_id`, `twitter_id` e `instagram_id`. As fontes `freebase_mid`, `freebase_id`, `tvrage_id`, `tiktok_id` e `youtube_id` são aceitas, mas retornam arrays vazios. Um `external_source` ausente ou desconhecido responde 400 com `status_code` 22.
- **Vazio por design.** Imagens, vídeos e traduções de temporada e o `description` de uma produtora são sempre vazios. Resenhas e `created_by` de uma série são preenchidos só em poucos títulos. Os `external_ids` de temporada e episódio são todos null.
- **Títulos adultos.** `include_adult` é ignorado. Títulos e pessoas adultos nunca são servidos e respondem 404.
- **Imagens.** O caminho da CDN é `https://img.amodb.dev/t/p/{size}/{file}`. Não precisa de chave, e os arquivos ficam em cache por 30 dias.
- **Limites.** A janela é deslizante, de 60 segundos por chave. Os cabeçalhos mostram a contagem restante, e acertos de cache também contam, porque a verificação do limite roda primeiro.
- **Independência.** O catálogo vem de fontes públicas e abertas e do nosso próprio enriquecimento. Um formato em comum não garante valores idênticos em todos os campos de todos os títulos.

## Onde o TMDB é mais indicado

- **Uso gratuito elegível.** Não exige pagamento, e o amodb não consegue igualar isso.
- **Escritas.** Avaliar um título, montar uma lista e abrir sessões de conta funcionam no TMDB. No amodb retornam 405.
- **Feeds de alterações.** O TMDB lista os IDs que mudaram. O amodb não tem esse feed, então você atualiza no seu próprio ritmo.
- **Créditos agregados e consultas de crédito.** Ambos respondem 404 no amodb. Use `/credits` no título.
- **Necessidade de mais idiomas.** Se a sua interface precisa de um idioma fora dos 14, consulte o TMDB primeiro.
- **Aprovação já existente.** Uma equipe que já passou o TMDB pela revisão jurídica deve avaliar o custo de uma segunda revisão.

## Migrar para o amodb

A mudança é uma linha por requisição.

```bash
# before: TMDB_BASE is your current TMDB v3 base URL
curl -s "$TMDB_BASE/movie/550?api_key=$TMDB_KEY"

# after
curl -s "https://api.amodb.dev/3/movie/550?api_key=$AMODB_KEY"
```

Antes da virada, compare o formato de algumas respostas lado a lado. Este script imprime as chaves de nível superior que um lado retorna e o outro não.

```js
async function topLevelKeys(base, key, path) {
  const res = await fetch(`${base}${path}?api_key=${key}`);
  if (!res.ok) throw new Error(`${path} returned ${res.status}`);
  return Object.keys(await res.json()).sort();
}

for (const path of ['/movie/550', '/tv/1396', '/person/31']) {
  const current = await topLevelKeys(process.env.TMDB_BASE, process.env.TMDB_KEY, path);
  const next = await topLevelKeys('https://api.amodb.dev/3', process.env.AMODB_KEY, path);
  const missing = current.filter((k) => !next.includes(k));
  console.log(path, missing.length ? `missing: ${missing.join(', ')}` : 'same keys');
}
```

Campos opcionais podem diferir em um título específico, então trate uma chave ausente como uma pista para investigar, não como um veredito. Depois siga esta lista:

1. Escolha um plano em [preços](https://amodb.dev/pt/pricing/) e crie uma chave no painel da sua conta.
2. Mova a URL base e a chave para a configuração.
3. Leia `images.secure_base_url` de `/3/configuration`.
4. Procure no seu código chamadas de escrita e os caminhos da tabela de não oferecidos. Mantenha as escritas no TMDB e substitua o resto.
5. Adicione um tratador de 429 que espera `Retry-After` segundos. Veja [limites de requisições](https://amodb.dev/pt/rate-limits/) e [erros](https://amodb.dev/pt/errors/).

## Preços

O amodb é pré-pago. Escolha 1, 3, 6, 12 ou 24 meses, que dão 0, 10, 20, 30 ou 40 por cento de desconto, e um de três planos de 20, 40 ou 120 requisições por minuto. Todos os planos retornam todos os dados, e nenhum renova sozinho. Veja [preços](https://amodb.dev/pt/pricing/) para os valores.

## Perguntas e respostas

### Todos os endpoints de leitura do TMDB v3 estão disponíveis no amodb?

Não. A maioria dos caminhos de leitura mantém o mesmo caminho, os mesmos parâmetros de consulta e o mesmo formato JSON, e a tabela de paridade desta página os agrupa por área. Escritas respondem 405 com status_code 37. Feeds de alterações, créditos agregados, consultas de créditos e de resenhas, conteúdo de grupos de episódios e traduções de pessoas respondem 404 com status_code 34.

### O que muda no meu código quando migro do TMDB?

Três coisas: a URL base passa a ser https://api.amodb.dev/3, a chave passa a ser a sua chave do amodb e as URLs de imagem usam img.amodb.dev. Leia a base de imagens no endpoint de configuração. Os caminhos continuam os mesmos, exceto as chamadas listadas como não oferecidas.

### Os IDs de filmes e séries continuam os mesmos?

Os IDs seguem a numeração do TMDB. Fight Club é 550 e Breaking Bad é 1396 nos dois. Os valores de campos individuais ainda podem diferir em alguns títulos, então compare uma amostra do seu próprio catálogo antes da virada.

### Posso usar os dois serviços juntos?

Sim. Como o protocolo é o mesmo, você pode manter o TMDB para recursos de conta e listas, feeds de alterações e créditos agregados, e usar o amodb para leituras do catálogo. Mantenha duas URLs base e duas chaves na sua configuração.

### Qual serviço é mais barato?

O TMDB oferece uma API gratuita para uso elegível, sob seus próprios termos, então não custa nada se você se enquadrar. O amodb é pago desde a primeira requisição, com períodos pré-pagos de 1 a 24 meses e desconto de até 40 por cento.

## Páginas relacionadas

- [Alternativa à API do TMDB](https://amodb.dev/pt/tmdb-api-alternative/): Precisa de uma alternativa à API do TMDB? Veja termos, limites, idiomas e avaliações, e migre para uma API paga com a maioria dos caminhos de leitura da v3.
- [API de banco de dados de filmes para o seu catálogo](https://amodb.dev/pt/movie-database-api/): API de banco de dados de filmes para sua cópia local: filmes, pessoas, produtoras, coleções e palavras-chave com ids ligados, janelas de datas e busca por id.
- [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.
- [Autenticação](https://amodb.dev/pt/authentication/): Como enviar sua chave do amodb: api_key na consulta, um cabeçalho Authorization Bearer ou apikey nas chamadas OMDb. Formato, armazenamento, rotação e erros 401.
- [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.
- [Preços](https://amodb.dev/pt/pricing/): Os planos do amodb diferem só em requisições por minuto: 20, 40 ou 120. Todo plano inclui todos os dados do TMDB v3 e OMDb. Pré-pago, sem renovação nem teste.

Atualizado: 2026-10-18. Source: https://amodb.dev/pt/amodb-vs-tmdb/
