Originally written by: Matthew Altman (sTyLeS)
Maintained by: Stuart Boston (Omertron AT Gmail DOT com)
This API uses TheTVDB.com API
Originally written for use by YetAnotherMovieJukebox (YAMJv2 & YAMJv3), but anyone can feel free to use it for other projects as well.
TheTVDB.com is an awesome open database for television content.
I strongly encourage you to check it out and contribute to keep it growing.
Create an instance of TheTVDB using your apiKey which must be requested HERE
TheTVDBApi tvDB = new TheTVDBApi("your_api_key");
The language is optional and may be null, which would end up defaulting to English
The Resulting Series objects from this call have limited information since it is a generic search
Syntax
searchSeries(String title, String language)
Example
List<Series> results = tvDB.searchSeries("Lost", "en");
May use the series.getId() method from the previous search The language is optional and will default to english if null, but if present the resulting descriptions will be in that language
Syntax
getSeries(String id, String language)
Example
Series series = tvDB.getSeries("73739", "en");
The language is optional and will default to english if null, but will return details in that language if present
Syntax
getEpisode(String id, int seasonNbr, int episodeNbr, String language)
Example
Episode episode = tvDB.getEpisode("73739", 2, 3, "en");
Returns a Banners object which contains separate lists for series, season, poster, and fanart images
Syntax
getBanners(String id)
Example
Banners banners = tvDB.getBanners("73739");
The Series object does contain a list of actor names, but the Actor object has more details including roles and image references
Syntax
getActors(String id)
Example
List<Actor> actors = tvDB.getActors("73739");
If you want to add proxy support you can do this through building a HttpClient via the SimpleHttpClientBuilder method and then passing this to the constructor of the API.
HttpClient hc = new SimpleHttpClientBuilder()
.setProxyHost("HOST")
.setProxyPort(PORT)
.setProxyUsername("USERNAME")
.setProxyPassword("PASSWORD")
.build();
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 bindings listed HERE
The automatically generated documentation can be found HERE