Erros

As chamadas no estilo TMDB retornam erros no corpo do TMDB: success false, um status_code numérico e um status_message. As chamadas no estilo OMDb retornam Response False com uma string Error. O amodb usa 8 códigos do TMDB, de 7 para chave inválida a 25 para o limite e 36 para plano expirado. Repita apenas 429, 500 e 504.

Atualizado em Ver em Markdown

Corpo de erro no estilo TMDB

Todo erro de https://api.amodb.dev/3 tem o mesmo formato JSON do TMDB:

JSON
{
  "success": false,
  "status_code": 34,
  "status_message": "The resource you requested could not be found."
}

Códigos de erro

HTTPstatus_codestatus_messageO que fazer
4017Invalid API key: You must be granted a valid key.Verifique a chave e como você a envia.
40110Suspended API key: Access to your account has been suspended, contact amodb.Escreva para support@amodb.dev.
40236Your plan has expired. Renew at https://amodb.dev/pricingPague um novo período.
40434The resource you requested could not be found.Verifique o id ou o caminho.
40537This method is not offered by amodb.Use um endpoint de leitura.
42925Your request count (N) is over the allowed limit of (L).Aguarde Retry-After segundos.
50011Internal error: Something went wrong, contact amodb.Tente de novo após alguns segundos.
50424Your request to the backend server timed out. Try again.Tente de novo após alguns segundos.

Corpo de erro no estilo OMDb

O endpoint compatível com OMDb mantém o formato e o texto do OMDb:

Uma chamada OMDb com r=xml retorna HTTP 400. Use r=json ou omita r.

JSON
{
  "Response": "False",
  "Error": "Movie not found!"
}
jspy
const res = await fetch("https://api.amodb.dev/3/movie/550", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) {
  const err = await res.json();
  if (res.status === 429) {
    // wait Retry-After seconds, then retry
  }
  throw new Error(`amodb ${res.status} code ${err.status_code}: ${err.status_message}`);
}
res = requests.get(url, headers=headers, timeout=10)
if not res.ok:
    err = res.json()
    raise RuntimeError(f"amodb {res.status_code} code {err['status_code']}: {err['status_message']}")

Fallbacks que não são erros

  • Uma tag language desconhecida não falha. O amodb serve o inglês para ela.
  • Um campo sem dados é null ou um array vazio, como no TMDB.