themoviedbapi

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

License

License

BSD
GroupId

GroupId

com.github.holgerbrandl
ArtifactId

ArtifactId

themoviedbapi
Last Version

Last Version

1.12
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

themoviedbapi
A java-wrapper around the JSON API provided by TMdB, which is an open database for movie and film content.
Project URL

Project URL

https://github.com/holgerbrandl/themoviedbapi
Source Code Management

Source Code Management

https://github.com/holgerbrandl/themoviedbapi.git

Download themoviedbapi

Dependencies

compile (1)

Group / Artifact Type Version
org.yamj : api-common jar 1.1

runtime (8)

Group / Artifact Type Version
org.slf4j : jcl-over-slf4j jar 1.7.7
com.fasterxml.jackson.core : jackson-core jar 2.10.0
com.fasterxml.jackson.core : jackson-annotations jar 2.10.0
com.fasterxml.jackson.core : jackson-databind jar 2.10.0
com.google.guava : guava jar 30.0-jre
org.slf4j : slf4j-api jar 1.7.7
org.apache.commons : commons-lang3 jar 3.3.2
commons-codec : commons-codec jar 1.10

Project Modules

There are no modules declared in this project.

TheMovieDB API

Download

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

Setup

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

<dependency>
    <groupId>com.github.holgerbrandl</groupId>
    <artifactId>themoviedbapi</artifactId>
    <version>1.12</version>
</dependency>

Or just add it via gradle when developing for Android:

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

Usage

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.

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.

Versions

Version
1.12