Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

TheMovieDB API

Download BSD 3 License

This library provides a java-wrapper around the JSON API provided by TMdB, which is an open database for movie and film content.


Starting with v1.12 the library is hosted on maven-central. This required a change of the group-id from info.movito to com.github.holgerbrandl

Just add it as dependency to your project. It's available via Maven Central


Or just add it via gradle when developing for Android:

    compile group: 'com.github.holgerbrandl', name: 'themoviedbapi', version:'1.12'


To get started you need a TMdB API key. With this you can instantiate info.movito.themoviedbapi.TmdbApi, which has getters for all subcategories of the API.

For instance to get a movie by ID, do the following:

TmdbMovies movies = new TmdbApi("<apikey>").getMovies();
MovieDb movie = movies.getMovie(5353, "en");

The wrapper implements all major parts of the JSON API as detailed out in the TMdB API documentation. However, as the latter is subject to constant change, feel welcome to point out missing bits by submitting a ticket. Or even better, just send us a pull request!

Most common question: Why does getSomething() returns null?

Every API element has a number of query flags that need to be set in order to pull a particular piece of information.

Example 1: Make getCast() to return cast and not null

TmdbMovies movies = tmdbApi.getMovies();
movies.getMovie(293660, "en", MovieMethod.credits)

Example 2: Get image urls, videos and similar movies

TmdbMovies movies = tmdbApi.getMovies();
movies.getMovie(78, "en", MovieMethod.credits, MovieMethod.images, MovieMethod.similar)

Example 3: Get all info about a sesaon

Instead of individual item we can also simply provide all method values.

TmdbTvSeasons tvSeasons = tmdb.getTvSeasons();
TvSeason result = tvSeasons.getSeason(seriesId, seasonNumber, "en", SeasonMethod.values());

See the corresponding *Method enums or the REST API-documentation for possible values.

This concept is part of the underlying REST API, our wrapper justs mimicks the scheme.

Project Logging

This project uses SLF4J to abstract the logging in the project. To use the logging in your own project you should add one of the provided adapter bindings.

Prooguard / R8 rules

Model classes are placed under info.movito.themoviedbapi.model package. Add this to so that, these classes can survive minification.

-keep class info.movito.themoviedbapi.model.** { *; }

Notes & Acknowledgements

The library was developed for Movito to interact with tmdb services. This library has been inspired by api-themoviedb but has been rewritten to provide a more open license, a more clean API and to expose more features of the TMDB json api.


A java wrapper around the json api provided by







No packages published