#api #tmdb

tmdb-api

Yet another TMDB client. This one is using async methods.

22 releases

Uses new Rust 2024

new 1.0.0-alpha.3 May 9, 2025
0.9.1 Apr 14, 2025
0.8.0 Mar 26, 2024
0.5.2 Nov 28, 2023
0.3.3 Oct 26, 2022

#78 in HTTP client

Download history 6/week @ 2025-02-02 3/week @ 2025-02-09 34/week @ 2025-02-16 73/week @ 2025-02-23 95/week @ 2025-03-02 81/week @ 2025-03-09 43/week @ 2025-03-16 4/week @ 2025-03-23 6/week @ 2025-04-06 239/week @ 2025-04-13 26/week @ 2025-04-20 9/week @ 2025-04-27 276/week @ 2025-05-04

550 downloads per month
Used in movie-rename

MIT license

2MB
6.5K SLoC

Rust client for The Movie DB API

This is yet another client for TMDB, but it supports async functions.

Installing

cargo add tmdb-api

Usage

use tmdb_api::client::Client;
use tmdb_api::client::reqwest::Client as ReqwestClient;

#[tokio::main]
async fn main() {
    let secret = std::env::var("TMDB_TOKEN_V3").unwrap();
    let client = Client::<ReqwestClient>::new(secret);
    let res = client.search_tvshows("simpsons", &Default::default()).await.unwrap();
    let item = res.results.first().unwrap();
    println!("TVShow found: {}", item.inner.name);
}

Features

Running the tests

cargo test

If you want to run some integration tests, just export a TMDB_TOKEN_V3 environment variable and run

cargo test --features integration

Dependencies

~6–17MB
~221K SLoC