Unofficial implementation of the Open Movie Database API for .NET
You can install this package via the Package Manager Console
in Visual Studio.
Install-Package MovieCollection.OpenMovieDatabase
Get or create a new static HttpClient
instance if you don't have one already.
// HttpClient lifecycle management best practices:
// https://learn.microsoft.com/dotnet/fundamentals/networking/http/httpclient-guidelines#recommended-use
private static readonly HttpClient httpClient = new HttpClient();
Then, you need to set your api key and pass it to the service's constructor.
// using MovieCollection.OpenMovieDatabase;
var options = new OpenMovieDatabaseOptions
{
ApiKey = "your-api-key",
};
var service = new OpenMovieDatabaseService(httpClient, options);
You can search for a movie via the SearchMovieAsync
method.
var search = new NewMovieSearch
{
Query = "interstellar",
};
var item = await service.SearchMovieAsync(search);
You can search for movies via the SearchMoviesAsync
method.
var search = new NewMoviesSearch
{
Query = "three colors",
};
var result = await service.SearchMoviesAsync(search);
You can search for a season via the SearchSeasonAsync
method.
var season = await service.SearchSeasonAsync("tt2788316", 1);
You can search for an episode via the SearchEpisodeAsync
method.
var episode = await service.SearchEpisodeAsync("tt2788316", 1, 2);
Please see the demo project for more examples.
When a value is not available the Open Movie Database server returns "N/A"
instead of null
which is inconvenient. By default we have a custom JsonConverter
to convert them to null
.
You can disable this feature by setting the ConvertNotAvailableToNull
option to false
.
var options = new OpenMovieDatabaseOptions
{
ConvertNotAvailableToNull = false,
};
- Please read the Open Movie Database's terms of use before using their services.
This project is licensed under the MIT License.