TMDbLib 3.0.0
dotnet add package TMDbLib --version 3.0.0
NuGet\Install-Package TMDbLib -Version 3.0.0
<PackageReference Include="TMDbLib" Version="3.0.0" />
<PackageVersion Include="TMDbLib" Version="3.0.0" />
<PackageReference Include="TMDbLib" />
paket add TMDbLib --version 3.0.0
#r "nuget: TMDbLib, 3.0.0"
#:package TMDbLib@3.0.0
#addin nuget:?package=TMDbLib&version=3.0.0
#tool nuget:?package=TMDbLib&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 | net8.0 is compatible. 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 is compatible. 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. |
-
net10.0
- Newtonsoft.Json (>= 13.0.4)
- SmartAnalyzers.MultithreadingAnalyzer (>= 1.1.31)
-
net8.0
- Newtonsoft.Json (>= 13.0.4)
- SmartAnalyzers.MultithreadingAnalyzer (>= 1.1.31)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on TMDbLib:
| Package | Downloads |
|---|---|
|
WyyLib.PublicStandardLib
自己使用的一些公共库 |
GitHub repositories (8)
Showing the top 8 popular GitHub repositories that depend on TMDbLib:
| Repository | Stars |
|---|---|
|
jellyfin/jellyfin
The Free Software Media System - Server Backend & API
|
|
|
cxfksword/jellyfin-plugin-metashark
jellyfin电影元数据插件
|
|
|
ShokoAnime/ShokoServer
Repository for Shoko Server.
|
|
|
TV-Rename/tvrename
Organise your TV & Movie videos with ease
|
|
|
mregni/EmbyStat
Multiplatform statistics server for Emby server
|
|
|
crobibero/jellyfin-plugin-tmdb-trailers
|
|
|
vesoapp/veso
Open source media server.
|
|
|
SubtitleEdit/plugins
Plugins for Subtitle Edit
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 895 | 1/25/2026 |
| 2.3.0 | 56,329 | 9/15/2025 |
| 2.2.0 | 137,800 | 3/11/2024 |
| 2.1.0 | 25,590 | 12/3/2023 |
| 2.0.0 | 64,943 | 1/9/2023 |
| 1.9.2 | 77,294 | 4/27/2022 |
| 1.9.1 | 25,722 | 1/19/2022 |
| 1.8.1 | 44,483 | 4/6/2021 |
| 1.8.0 | 1,212 | 4/5/2021 |
| 1.7.6-alpha | 1,111 | 2/27/2021 |
| 1.7.5-alpha | 1,692 | 1/14/2021 |
| 1.7.4-alpha | 1,015 | 1/11/2021 |
| 1.7.3-alpha | 46,828 | 10/3/2020 |
| 1.7.2-alpha | 1,191 | 10/3/2020 |
| 1.7.1-alpha | 1,297 | 6/30/2020 |
| 1.7.0-alpha | 1,142 | 6/30/2020 |
| 1.6.0 | 19,440 | 3/12/2020 |
| 1.5.0-alpha | 1,702 | 9/12/2019 |
| 1.4.0 | 4,521 | 9/12/2019 |