Get a TMDB compatible key in four steps

amodb sells keys for its own API, which keeps the TMDB v3 paths and JSON. It is not a key from TMDB and it does not work on api.themoviedb.org. What you get is a key of the same shape, 32 lowercase hex characters, that your TMDB client accepts after one change of base URL.

  1. Open pricing and pick a plan: 20, 40 or 120 requests per minute. Every plan returns all data.
  2. Sign in with your email. amodb sends a 6 digit code that is valid for 10 minutes. There is no password.
  3. Pay by card, Apple Pay or Google Pay for 1 to 24 months. Nothing renews automatically.
  4. Open Account, then API keys, and create a key. Copy it right away, because the full key is shown once.

The steps take about a minute, and the key works as soon as the payment is confirmed.

Use the key: change the base URL

Keep your TMDB code and change two values, the base URL and the key. Both ways to send the key work, api_key in the query and an Authorization: Bearer header.

Shell
# TMDB
curl "https://api.themoviedb.org/3/movie/550?api_key=$TMDB_KEY"

# amodb
curl "https://api.amodb.dev/3/movie/550?api_key=$AMODB_KEY"

The same call with a Bearer header, in three languages:

bashjspy
curl "https://api.amodb.dev/3/movie/550?language=en-US" \
  -H "Authorization: Bearer $AMODB_KEY"
const res = await fetch("https://api.amodb.dev/3/movie/550?language=en-US", {
  headers: { Authorization: `Bearer ${process.env.AMODB_KEY}` },
});
if (!res.ok) throw new Error(`amodb ${res.status}`);
const movie = await res.json();
console.log(movie.title, movie.release_date);
import os
import requests

res = requests.get(
    "https://api.amodb.dev/3/movie/550",
    params={"language": "en-US"},
    headers={"Authorization": f"Bearer {os.environ['AMODB_KEY']}"},
    timeout=10,
)
res.raise_for_status()
movie = res.json()
print(movie["title"], movie["release_date"])

The reply has the TMDB v3 shape:

JSON
{
  "id": 550,
  "imdb_id": "tt0137523",
  "title": "Fight Club",
  "release_date": "1999-10-15",
  "runtime": 139,
  "genres": [{ "id": 18, "name": "Drama" }],
  "vote_average": 8.4,
  "poster_path": "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg"
}

Read images.secure_base_url from /3/configuration so poster links point to img.amodb.dev. Images need no key. More on sending the key is on authentication, and a longer walkthrough is in the quickstart.

A free TMDB key and an amodb key side by side

The right choice depends on your project and your terms, not on a feature list. The TMDB column only repeats what TMDB publishes in general. Read TMDB's own terms and docs for the current rules.

Free TMDB keyamodb key
PriceFree for qualifying use under TMDB's termsPaid, prepaid for 1 to 24 months, no trial
How you get itA TMDB account and a key request on TMDB's siteEmail, 6 digit code, payment, then create the key in your account
Commercial useCheck TMDB's terms for commercial use and attributionAllowed under amodb's terms
Rate limitSet by TMDB, check their docs20, 40 or 120 requests per minute by plan
DataTMDB dataTMDB v3 shape, plus ratings, moods, soundtracks, wikidata and showtimes through append_to_response
Key formatv3 key, 32 hex characters32 lowercase hex characters
Base URLhttps://api.themoviedb.org/3https://api.amodb.dev/3
Write methodsAccount, list and rating methodsNot offered, they answer 405

When a free TMDB key is enough

Stay on a free TMDB key for a personal or learning project that fits TMDB's terms. If your use qualifies, TMDB costs nothing and amodb cannot match that.

Use an amodb key when the project is commercial and you want a paid agreement, when you need a fixed limit per minute that you can plan around, or when one title page should get ratings from five sources in a single call. Check the gaps first: write methods, changes feeds and a few other paths are not offered. They are listed on TMDB API alternative and in amodb vs TMDB.

Commercial use and limits

Commercial use is allowed under amodb's terms. You may show the data in your apps, sites, bots and internal tools, and cache responses to save requests. You may not resell raw API access, publish bulk dumps, share keys or open extra accounts to raise your rate. The full list is in the acceptable use policy.

The plan sets the rate. Every reply carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a 429 adds Retry-After. Details are on rate limits.