Coder Social home page Coder Social logo

omdb-api.net's Introduction

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.

omdb-api.net's People

Contributors

torben-w avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

omdb-api.net's Issues

Add asynchronous API

Create IAsyncOmdbClient

  • make already existing methods truly asynchronous: API methods now return an item (e. g. a Movie). But they should return a Task<item>.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.