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.
Choose a version on nuget.org and use it for your project.
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");
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.
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.
// 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");
// 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);
// 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.