Movie and TV metadata API
The movie API with every rating, TMDB and OMDb compatible
Change one URL, keep your TMDB or OMDb code, and get IMDb, Rotten Tomatoes, Metacritic and Kinopoisk ratings in the same response.
- No extra fee for commercial use
- No sales call
- From $3.11 a month
- Card, Apple Pay, Google Pay or Patreon
GEThttps://api.amodb.dev/3/movie/550?language=en-US
200 OKapplication/json1.7 kBLive response![]()
{ "id": 550, "imdb_id": "tt0137523", "title": "Fight Club", "tagline": "Mischief. Mayhem. Soap.", "release_date": "1999-10-15", "runtime": 139, "status": "Released", "genres": [{ "id": 18, "name": "Drama" }, { "id": 53, "name": "Thriller" }], "origin_country": ["US", "DE"], "original_language": "en", "budget": 63000000, "revenue": 101209702, "vote_average": 8.4, "vote_count": 33045, "popularity": 37.2853, "poster_path": "/jSziioSwPVrOy9Yow3XhWIBDjq1.jpg", "backdrop_path": "/b9HyPoxwxjxkWEUL5ErZdhApQe2.jpg"}- 5 rating sources in one call: IMDb, Rotten Tomatoes, Metacritic, Kinopoisk, TMDB
- 2 in 1 TMDB v3 and OMDb formats on one key
- 14 languages for titles and overviews
- $3.11 a month on the cheapest plan, against $149 for TMDB's commercial plan
amodb is a paid movie and TV API that keeps the TMDB v3 and OMDb paths and JSON, so your code works after a base URL change. One key adds IMDb, Rotten Tomatoes, Metacritic and Kinopoisk ratings, mood meters and soundtracks, and commercial use costs nothing extra on any prepaid plan.
Why pay for a movie API when TMDB is free?
TMDB is free until your app earns its first dollar. After that TMDB asks for its commercial plan, $149 a month for companies under $1M in revenue. TMDB has no IMDb, Rotten Tomatoes or Metacritic scores either, and OMDb, the usual second API, is licensed for non-commercial use. amodb is both formats in one key from $3.11 a month, with no extra charge for commercial use.
| Feature | TMDB | OMDb | amodb |
|---|---|---|---|
| Price once your app earns money | $149 a month under $1M revenue | Non-commercial terms | From $3.11 a month |
| TMDB v3 paths and JSON | Yes | No | Yes |
| OMDb parameters and fields | No | Yes | Yes |
| IMDb, Rotten Tomatoes and Metacritic ratings | No, TMDB score only | Yes | Yes, plus Kinopoisk and TMDB |
| Mood meters, soundtracks and showtimes | No | No | Yes |
| No TMDB logo or notice on your screens | No, logo and notice required | Not stated | Yes |
| One key for both formats | No | No | Yes |
Sources: the TMDB API terms, TMDB staff answers on commercial pricing and on when an app counts as commercial, and the OMDb legal page, read in October 2026.
Pro+: a whole series in one request
GET / returns the series complete: every season and episode with its cast, crew and stills, every image, video and translation, five ratings, mood meters and soundtracks. On TMDB the same blocks take one call for the show and one per season, and the scores need OMDb on top.
TMDB and OMDb
10 + 1 requests
The show and every season, plus OMDb for the scores
amodb Pro+
1 request
GET/3/all/tv/1399Game of Thrones
3.1 MB of JSON, 60 top-level fields
- 8 seasons
- 73 episodes
- 2,880 episode cast and crew credits
- 1,158 images
- 155 videos
- 50 translations
- 6 rating sources
Blocks in the answer
-
seasons -
episodes -
credits -
images -
videos -
translations -
ratings -
moods -
soundtracks -
wikidata -
watch/providers -
keywords -
reviews -
recommendations -
content_ratings -
external_ids
Change the base URL, keep your code
amodb answers on the same paths as TMDB v3. A request for movie 550 returns the same JSON fields your client already parses: id, title, genres, release_date, poster_path and the rest.
Send your key as api_key in the query or as an Authorization: Bearer header. Both work on every endpoint.
-
Get a key
Pick a plan and copy the key from your account.
Authorization: Bearer $AMODB_KEY -
Change the base URL
Point your TMDB or OMDb client at api.amodb.dev.
api.themoviedb.orgapi.amodb.dev -
Ship it
The same JSON comes back, so your parser keeps working.
200 OKapplication/json
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}` },
});
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,
)
movie = res.json()
print(movie["title"], movie["release_date"]){
"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"
}One key for OMDb style lookups
The OMDb compatible endpoint lives at https:/. It takes i, t, s, type, y, plot and page, and returns Title, Year, imdbRating, Ratings and the other OMDb fields.
The Poster field points to img.amodb.dev, so posters load from the same service. Errors keep the OMDb shape: {"Response":"False",.
curl "https://api.amodb.dev/omdb/?i=tt0137523&plot=short&apikey=$AMODB_KEY"const url = new URL("https://api.amodb.dev/omdb/");
url.searchParams.set("t", "Fight Club");
url.searchParams.set("y", "1999");
url.searchParams.set("apikey", process.env.AMODB_KEY);
const film = await (await fetch(url)).json();
console.log(film.Title, film.imdbRating);import os
import requests
film = requests.get(
"https://api.amodb.dev/omdb/",
params={"i": "tt0137523", "apikey": os.environ["AMODB_KEY"]},
timeout=10,
).json()
print(film["Title"], film["imdbRating"]){
"Title": "Fight Club",
"Year": "1999",
"Runtime": "139 min",
"Director": "David Fincher",
"imdbRating": "8.8",
"imdbID": "tt0137523",
"Poster": "https://img.amodb.dev/t/p/w300/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg",
"Response": "True"
}Data that TMDB v3 does not return
Every key can call the amodb extensions on the same base URL. Add them with append_to_response or call them on their own.
-
Mood meters
Fear, humor, sadness, violence and more, each on a 0 to 10 scale, with one extra call.
GET /3/tv/1396/moods -
Rate limit you can see
Every response tells you how many requests are left this minute.
X-RateLimit-Limit: 40 -
Every TMDB image size
From w92 thumbnails to original files on img.amodb.dev. No key needed.
img.amodb.dev/t/p/w500/… -
Find by any external id
Send an IMDb id or another external id and get the TMDB record back.
GET /3/find/tt0137523 -
Cinema showtimes
Showtimes by country for titles in cinemas, when they are known.
GET /3/movie/550/showtimes?country=US -
Soundtracks
The songs used in a movie or a show, on the same base URL.
GET /3/movie/157336/soundtracks
Titles and overviews in 14 languages
Pass a TMDB style tag such as ru-RU or pt-BR in language. amodb serves 14 base languages and falls back to English for any other tag, so a request never fails because of a language.
-
enEnglish Spirited Away -
ruРусский Унесённые призраками -
ukУкраїнська Віднесені привидами -
beБеларуская Скрадзеныя прывідамі -
zh中文 千与千寻 -
ptPortuguês A Viagem de Chihiro -
bgБългарски Отнесени от духове -
heעברית המסע המופלא -
csČeština Cesta do fantazie -
roRomână Călătoria lui Chihiro -
frFrançais Le Voyage de Chihiro -
plPolski Spirited Away: W krainie Bogów -
itItaliano La città incantata -
esEspañol El viaje de Chihiro
One API for personal and paid projects
A weekend project and a paid product call the same API, get the same data and are covered by the same terms. This is what teams build with it.
- Streaming and watchlist apps Posters, trailers, seasons and episodes, plus five ratings to sort and filter by.
- Telegram and Discord bots An OMDb style lookup by title or IMDb id returns a ready answer in one call.
- Media servers and plugins Metadata scrapers that already speak TMDB v3 keep their client and gain IMDb and Rotten Tomatoes scores.
- Movie sites and blogs Titles and overviews in 14 languages, so every market gets its own page.
- Recommendation engines Mood meters rate fear, humor, violence and more from 0 to 10, signals that genres alone miss.
- AI agents and chatbots Answer "what should I watch tonight" with real ratings, moods, cast and showtimes.
Plans differ in requests per minute
Every plan gets the same data: the TMDB and OMDb endpoints, all 14 languages, images and the extensions. Pro+ also gets /3/all: everything about a movie, series or person in one request. You pay once for 1, 3, 6, 12, or 24 months, and a longer period costs less per month. There is no free tier, and card payments do not renew automatically.
Built for production traffic
-
Shared edge cache
Popular lists stay cached for 30 minutes, details for 6 hours and
configurationfor 24 hours. -
Clear rate limits
Every response carries
X-RateLimit-Limit,X-RateLimit-RemainingandX-RateLimit-Reset. A 429 addsRetry-After. -
TMDB style errors
Errors return
success,status_codeandstatus_message, so existing error handling keeps working. -
Images without a key
Posters and backdrops load from
img.amodb.dev/in every TMDB size, cached for 30 days.t/ p/ {size}/ {file}
Questions and answers
Is the TMDB API free for commercial use?
No. A TMDB key is free while your project earns nothing. TMDB staff say any revenue from ads, in-app purchases, donations or subscriptions makes an app commercial, and the commercial plan costs $149 a month for companies under $1M in revenue. amodb charges nothing extra for commercial use, and its terms do not prohibit it.
How much does the TMDB API cost?
It is free for non-commercial use. For a commercial app TMDB staff quote $149 a month when yearly revenue is under $1M, and a custom price above that. amodb plans cost a few dollars a month and differ mainly in requests per minute.
Why pay for amodb when the TMDB API is free?
Because a paid app is not free on TMDB. amodb costs a fraction of TMDB's $149 commercial plan, needs no TMDB logo on your screens, and returns IMDb, Rotten Tomatoes, Metacritic and Kinopoisk ratings in the same response. One key serves both the TMDB v3 and the OMDb formats, so you run one API instead of two.
Is OMDb free for commercial use?
OMDb's legal page describes the service for personal, non-commercial use and licenses its content under CC BY-NC 4.0. amodb answers the same OMDb parameters with the same field names, with no extra charge for commercial use.
Do I need to change my TMDB client code?
No. Point the base URL to https://api.amodb.dev/3 and use your amodb key as api_key or as a Bearer token. Paths, query parameters and JSON fields stay the same as TMDB v3.
Does the same key work for OMDb style calls?
Yes. Send it as apikey to https://api.amodb.dev/omdb/. The parameters i, t, s, type, y, plot and page work as in OMDb, and the response uses the OMDb field names.
Is there a free tier or a trial?
No, there is no free tier and no trial. Pay by card, Apple Pay or Google Pay for 1 to 24 months at once, and the key works until the period ends; card payments do not renew. Patreon is monthly and renews on Patreon until you cancel it there.
What is the difference between plans?
The request rate: 20, 40 or 120 requests per minute. Every plan gets the same data, all 14 languages, images, ratings and the other amodb extensions. Pro+ also gets /3/all: everything about a movie, series or person in one request.
Which languages are served?
English, Russian, Ukrainian, Belarusian, Chinese, Portuguese, Bulgarian, Hebrew, Czech, Romanian, French, Polish, Italian and Spanish. Pass a TMDB style tag such as ru-RU; any other language falls back to English.
Start with one key
Every plan gets the same data, all 14 languages and images. Plans differ in requests per minute, and Pro+ also gets /3/all: everything about a title or person in one request.
$ curl https://api.amodb.dev/3/movie/550 -H "Authorization: Bearer $AMODB_KEY" curl https://api.amodb.dev/3/movie/550 -H "Authorization: Bearer $AMODB_KEY"
