Skip to content

A .NET Standard 2.0 REST client for the Open Movie Database API

License

Notifications You must be signed in to change notification settings

torben-w/OMDb-API.NET

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OMDb-API.NET

NuGet

OMDb-API.NET is a .NET Standard 2.0 (C#) REST client for the Open Movie Database API, a web service to obtain movie information as found on IMDb.

Installation

Choose a version on nuget.org and use it for your project.

Usage

There is a synchronous client OmdbClient and a asynchronous client AsyncOmdbClient. The asynchronous client provides the same methods as the synchronous one. The only differences are that you have to append Async to the method name and they will return Tasks, so that they are awaitable:

    Item item = await omdb.GetItemByTitleAsync("title");

Create an OMDb Client

    OmdbClient omdb = new OmdbClient("your_apikey");
    
    // enable ratings from Rotten Tomatoes
    OmdbClient omdb = new OmdbClient("your_apikey", true);

    // Asynchronous client
    AsyncOmdbClient omdb = new AsyncOmdbClient("your_apikey");

You can get an api key on the OMDb website.

Get an Item (movie, series or game)

Games (OmdbType.Game) can only be requested by Id, not by title. This is due to restrictions of the Open Movie Database API and can't be fixed on the client side.

    // Item GetItemByTitle(string title, bool fullPlot = false);
    Item item = omdb.GetItemByTitle("title");
    Item item = omdb.GetItemByTitle("title", true);

    // Item GetItemByTitle(string title, OmdbType type, bool fullPlot = false);
    Item item = omdb.GetItemByTitle("title", OmdbType.Movie);
    Item item = omdb.GetItemByTitle("title", OmdbType.Series, true);
    
    // Item GetItemByTitle(string title, int? year, bool fullPlot = false);
    Item item = omdb.GetItemByTitle("title", 2017);
    Item item = omdb.GetItemByTitle("title", 2017, true);
    
    // Item GetItemByTitle(string title, OmdbType type, int? year, bool fullPlot = false);
    Item item = omdb.GetItemByTitle("title", OmdbType.Series, 2017);
    Item item = omdb.GetItemByTitle("title", OmdbType.Movie, 2017, true);

    // Item GetItemById(string id, bool fullPlot = false);
    Item item = omdb.GetItemById("imdb_id");
    Item item = omdb.GetItemById("imdb_id", true);

You can get the type of an item with item.Type. item.Type can either be "movie", "series" or "episode". For getting an episode use GetEpisodeBySeriesId(), GetEpisodeBySeriesTitle() or GetEpisodeByEpisodeId() instead.

Get an Episode

    // Episode GetEpisodeBySeriesId(string seriesId, int seasonNumber, int episodeNumber);
    Episode episode = omdb.GetEpisodeBySeriesId("imdb_series_id", 1, 1);
    
    // Episode GetEpisodeBySeriesTitle(string seriesTitle, int seasonNumber, int episodeNumber);
    Episode episode = omdb.GetEpisodeBySeriesTitle("imdb_series_title", 1, 1);
    
    // Episode GetEpisodeByEpisodeId(string episodeId);
    Episode episode = omdb.GetEpisodeByEpisodeId("imdb_id");

Get a Season

    // Season GetSeasonBySeriesId(string seriesId, int seasonNumber);
    Season season = omdb.GetSeasonBySeriesId("imdb_series_id", 1);
    
    // Season GetSeasonBySeriesTitle(string seriesTitle, int seasonNumber);
    Season season = omdb.GetSeasonBySeriesTitle("imdb_series_title", 1);

Get Search Results (movies, series or game)

    // SearchList GetSearchList(string query, int page = 1);
    SearchList searchList = omdb.GetSearchList("query");
    SearchList searchList = omdb.GetSearchList("query", 2);
    
    // SearchList GetSearchList(string query, OmdbType type, int page = 1);
    SearchList searchList = omdb.GetSearchList("query", OmdbType.Movie);
    SearchList searchList = omdb.GetSearchList("query", OmdbType.Series, 2);
    SearchList searchList = omdb.GetSearchList("query", OmdbType.Game);
    
    // SearchList GetSearchList(int? year, string query, int page = 1);
    SearchList searchList = omdb.GetSearchList(2017, "query");
    SearchList searchList = omdb.GetSearchList(2017, "query", 2);
    
    // SearchList GetSearchList(int? year, string query, OmdbType type, int page = 1);
    SearchList searchList = omdb.GetSearchList(2017, "query", OmdbType.Movie);
    SearchList searchList = omdb.GetSearchList(2017, "query", OmdbType.Series, 2);
    SearchList searchList = omdb.GetSearchList(2017, "query", OmdbType.Game);

The query can contain whitespaces.