TmdbLib_Std2 3.0.0
dotnet add package TmdbLib_Std2 --version 3.0.0
NuGet\Install-Package TmdbLib_Std2 -Version 3.0.0
<PackageReference Include="TmdbLib_Std2" Version="3.0.0" />
<PackageVersion Include="TmdbLib_Std2" Version="3.0.0" />
<PackageReference Include="TmdbLib_Std2" />
paket add TmdbLib_Std2 --version 3.0.0
#r "nuget: TmdbLib_Std2, 3.0.0"
#:package TmdbLib_Std2@3.0.0
#addin nuget:?package=TmdbLib_Std2&version=3.0.0
#tool nuget:?package=TmdbLib_Std2&version=3.0.0
TMDbLib
A near-complete .NET wrapper for v3 of TMDb's API.
Table of Contents
Installation
Install via NuGet:
dotnet add package TMDbLib
Or for alpha packages from GitHub Packages, see the releases page.
Documentation
Most of the library is self-explaining and closely follows the official TMDb API documentation.
Examples
Basic Usage
Simple example, getting the basic info for "A Good Day to Die Hard":
using TMDbLib.Client;
var client = new TMDbClient("APIKey");
var movie = await client.GetMovieAsync(47964);
Console.WriteLine($"Movie name: {movie.Title}");
Fetching Additional Data
Using the extra features of TMDb, you can fetch more info in one request (here we fetch credits and videos):
using TMDbLib.Client;
using TMDbLib.Objects.Movies;
var client = new TMDbClient("APIKey");
var movie = await client.GetMovieAsync(47964, MovieMethods.Credits | MovieMethods.Videos);
Console.WriteLine($"Movie title: {movie.Title}");
foreach (var cast in movie.Credits.Cast)
Console.WriteLine($"{cast.Name} - {cast.Character}");
Console.WriteLine();
foreach (var video in movie.Videos.Results)
Console.WriteLine($"Trailer: {video.Type} ({video.Site}), {video.Name}");
Searching for Movies
Search for people or movies. This example searches for "007", yielding James Bond films:
using TMDbLib.Client;
using TMDbLib.Objects.General;
using TMDbLib.Objects.Search;
var client = new TMDbClient("APIKey");
var results = await client.SearchMovieAsync("007");
Console.WriteLine($"Got {results.Results.Count:N0} of {results.TotalResults:N0} results");
foreach (var result in results.Results)
Console.WriteLine(result.Title);
Working with Collections
TMDb groups related movies into collections (e.g., James Bond, Die Hard). Here's how to find and list a collection:
using TMDbLib.Client;
using TMDbLib.Objects.Collections;
using TMDbLib.Objects.General;
using TMDbLib.Objects.Search;
var client = new TMDbClient("APIKey");
var collections = await client.SearchCollectionAsync("James Bond");
Console.WriteLine($"Got {collections.Results.Count:N0} collections");
var jamesBond = await client.GetCollectionAsync(collections.Results.First().Id);
Console.WriteLine($"Collection: {jamesBond.Name}");
Console.WriteLine($"Got {jamesBond.Parts.Count:N0} James Bond movies");
foreach (var part in jamesBond.Parts)
Console.WriteLine(part.Title);
Tips
- All methods are
asyncand awaitable - Most methods are straightforward and named accordingly:
GetMovieAsync,GetPersonAsync, etc. - Almost all method enums use
[Flags], allowing you to combine them:MovieMethods.Credits | MovieMethods.Videos - TMDb returns minimal data by default; most properties on classes like
Movieare null until you request extra data using the method enums
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.4)
- SmartAnalyzers.MultithreadingAnalyzer (>= 1.1.31)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 34 | 5/20/2026 |