# Alternativa à API do Trakt

> O Trakt gira em torno de dados de usuário: histórico, watchlists, avaliações, calendários e OAuth. O amodb não guarda atividade de usuário. É uma API paga de metadados de filmes, TV, pessoas, imagens e avaliações. Muitos apps usam os dois: guarde o estado do usuário no Trakt ou no seu banco e leia os dados dos títulos no amodb.

## Trabalhos diferentes, ferramentas diferentes

O Trakt gira em torno de dados de usuário: histórico, watchlists, avaliações, calendários e login por OAuth. Ele também tem endpoints públicos de metadados, e a documentação dele informa os limites que valem. O amodb tem uma única função: metadados de filmes, TV e pessoas, retornados como JSON no formato TMDB v3. Escolha o Trakt para o que os seus usuários fizeram. Escolha o amodb para o que um título é. A maioria dos apps que precisam dos dois chama cada serviço para a sua metade.

## Dados de usuário e dados de títulos

| Função                  | Trakt                                                           | amodb                                                         |
| ----------------------- | --------------------------------------------------------------- | ------------------------------------------------------------- |
| Histórico de exibição   | Recurso central                                                 | Não oferecido, guarde você mesmo                              |
| Watchlists e listas     | Recurso central                                                 | Não oferecido, escritas retornam 405                          |
| Avaliações de usuários  | Recurso central                                                 | Não oferecido, escritas retornam 405                          |
| Calendários             | Por usuário, consulte a documentação deles                      | `next_episode_to_air` por série e listas de programação       |
| Login                   | OAuth                                                           | Só a chave, sem login de usuário                              |
| Metadados de títulos    | Endpoints públicos, consulte a documentação deles sobre limites | Endpoints de detalhes em 14 idiomas                           |
| Elenco e equipe técnica | Consulte a documentação deles                                   | `/credits` para um título, `combined_credits` para uma pessoa |
| Imagens                 | Consulte a documentação deles                                   | `img.amodb.dev`, sem chave                                    |
| Trailers                | Consulte a documentação deles                                   | `/videos` com `type` e `official`                             |
| Alterado desde uma data | Consulte a documentação deles                                   | Não oferecido, não há feeds de alterações                     |

Para programações, `GET /3/tv/airing_today` e `GET /3/tv/on_the_air` listam séries por data de exibição, e cada registro de série traz o seu próprio `next_episode_to_air`. Para uma série que já terminou, esse campo é `null`. As duas listas são descritas em [em alta e listas](https://amodb.dev/pt/trending-lists/). O calendário de um usuário é algo que você monta a partir dos seus próprios registros de exibição.

## Comparação de recursos

| Recurso               | Trakt                                                                              | amodb                                                                           |
| --------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| Modelo de preço       | Consulte a documentação deles                                                      | 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          | OAuth para dados de usuário, consulte a documentação deles sobre chamadas públicas | `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                | Sim                                                                                | Sim                                                                             |
| TV                    | Sim                                                                                | Sim, com temporadas e episódios                                                 |
| Pessoas               | Consulte a documentação deles                                                      | Sim                                                                             |
| Imagens               | Consulte a documentação deles                                                      | `img.amodb.dev`, mesmos tokens de tamanho do TMDB                               |
| Avaliações            | Avaliações de usuários, consulte a documentação deles                              | Notas do IMDb, Kinopoisk, Metacritic, Rotten Tomatoes e TMDB, quando conhecidas |
| Limite de requisições | Consulte a documentação deles sobre os limites                                     | 20, 40 ou 120 por minuto por chave                                              |
| Uso comercial         | Consulte a documentação deles                                                      | 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

- **Sem tela de login para os seus usuários.** Uma chave no servidor basta. Ninguém conecta uma conta, então não há token para renovar nem tela de consentimento para explicar.
- **Variedade de campos.** Duração, gêneros, produtoras, classificações indicativas, traduções e palavras-chave vêm todos dos endpoints de detalhes, no idioma que você pedir.
- **Limites publicados.** O limite do plano é um número por minuto, e cada resposta mostra o que resta. Você pode dimensionar uma sincronização em segundo plano com esses números.
- **Medidores de mood e trilhas sonoras.** As extensões em [moods](https://amodb.dev/pt/moods/) (clima emocional) e [trilhas sonoras](https://amodb.dev/pt/soundtracks/) acrescentam dados que não fazem parte do TMDB v3.

## Onde o Trakt é mais indicado

- **Qualquer coisa pessoal.** Scrobbling, sincronização de histórico, listas sociais e calendários por usuário são recursos do Trakt. O amodb não tem contas nem métodos de escrita.
- **Estado entre dispositivos.** Se um usuário espera as mesmas marcas de assistido no celular e na TV, o estado precisa viver em um serviço de usuários, e o amodb não é um.
- **Apps OAuth existentes.** Se o seu app já guarda tokens do Trakt, você os mantém. Acrescente o amodb só para os dados de títulos que hoje busca em outro lugar.

## Migrar para o amodb: relacione seus registros

Você não migra dados de usuário, porque o amodb não guarda nenhum. Você troca as chamadas de metadados. Os itens do Trakt trazem IDs de outros bancos (consulte a documentação deles para os campos exatos), então guarde o ID do TMDB ou o do IMDb ao lado de cada registro de exibição e use-o aqui.

```php
<?php
declare(strict_types=1);

function amodb(string $path): array
{
    $ch = curl_init('https://api.amodb.dev/3' . $path);
    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 10,
        CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('AMODB_KEY')],
    ]);
    $body = curl_exec($ch);
    $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if ($status !== 200) {
        throw new RuntimeException("amodb returned $status");
    }
    return json_decode($body, true);
}

$show = amodb('/tv/1396?language=en-US');
$next = $show['next_episode_to_air'] ?? null;
echo $show['name'], ' ', $show['status'], PHP_EOL;
echo $next ? 'Next: ' . $next['air_date'] : 'No episode scheduled', PHP_EOL;
```

Quando você tem apenas um ID do IMDb, chame `/3/find/tt0903747?external_source=imdb_id` uma vez e guarde o ID de `tv_results`. Um 429 inclui `Retry-After`, como descrito em [limites de requisições](https://amodb.dev/pt/rate-limits/).

## Dimensionar um job de atualização

A biblioteca de um usuário com 200 séries precisa de 200 requisições de detalhes para atualizar uma vez. A 20 requisições por minuto isso leva 10 minutos, a 40 leva 5 e a 120 leva menos de 2. A verificação da chave roda antes do cache de borda, então chamadas repetidas também contam. O amodb não tem feeds de alterações, então não consegue dizer quais IDs mudaram desde uma data. Leia `status` e `next_episode_to_air` na resposta de detalhes. Atualize com frequência as séries que ainda estão no ar e raramente as encerradas. Os detalhes ficam em cache por 6 horas, então atualizar com mais frequência devolve os mesmos dados.

## Preços

O amodb é pré-pago e não renova sozinho. 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. Todo plano retorna todos os dados e não há plano gratuito. Os valores estão em [preços](https://amodb.dev/pt/pricing/).

## Perguntas e respostas

### O amodb pode substituir o histórico e as watchlists do Trakt?

Não. O amodb não guarda atividade de usuário, e os métodos de escrita de conta, sessão, avaliação e lista no estilo TMDB retornam 405 com status_code 37. Mantenha o histórico de exibição no Trakt ou no seu próprio banco de dados.

### Preciso de OAuth para chamar o amodb?

Não. Cada requisição leva a sua chave no parâmetro de consulta api_key ou em um cabeçalho Authorization Bearer. Não há fluxo de login de usuário, porque a API serve metadados, não dados pessoais.

### Como relaciono registros do Trakt com títulos do amodb?

Os itens do Trakt listam IDs de outros bancos, como IMDb e TMDB (consulte a documentação deles para os campos exatos). Um ID do TMDB funciona direto no amodb, e um ID do IMDb é resolvido por /3/find com external_source=imdb_id.

### Existe um calendário de episódios futuros?

Os detalhes da série trazem next_episode_to_air para cada série que você acompanha, e /tv/airing_today e /tv/on_the_air listam séries por programação. O amodb não monta um calendário para um usuário específico.

### Como são os limites de requisições em comparação com o Trakt?

Consulte a documentação do Trakt para os limites dos endpoints públicos de metadados. O amodb permite 20, 40 ou 120 requisições por minuto por chave, conforme o plano, e mostra a contagem restante nos cabeçalhos da resposta.

## Páginas relacionadas

- [API de séries de TV: séries, temporadas e episódios](https://amodb.dev/pt/tv-show-api/): API de séries de TV com status, emissoras, temporadas, episódios e next_episode_to_air. JSON do TMDB v3 em 14 idiomas, a partir de 20 requisições por minuto.
- [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.
- [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.
- [Endpoints de em alta e de listas](https://amodb.dev/pt/trending-lists/): API de filmes em alta com caminhos do TMDB v3: rankings do dia e da semana, listas em cartaz, populares, mais bem avaliados e em breve. Cache de 30 minutos.
- [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.
- [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/trakt-api-alternative/
