27 releases

0.11.2 Jan 29, 2023
0.11.1 Dec 20, 2022
0.11.0 Apr 5, 2022
0.10.7 Mar 30, 2022
0.6.0 Jul 31, 2021

#101 in Multimedia


Used in youtube_downloader_cli

MIT/Apache

90KB
2.5K SLoC

ytextract - A library for getting YouTube metadata

Github Crates.io docs.rs GitHub Workflow Status


This includes:

  • Videos
  • Streams (e.g. downloading of videos)
  • Playlists
  • Channels
  • Community Posts
  • Comments
  • Closed Captions
  • Search
  • Live Streams

Basic Example

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Get a Client for making request
    let client = ytextract::Client::new();

    // Get information about the Video identified by the id "nI2e-J6fsuk".
    let video = client.video("nI2e-J6fsuk".parse()?).await?;

    // Print the title of the Video
    println!("Title: {}", video.title());

    Ok(())
}

More examples can be found here: examples

Notes

  • Compiler support

    This library always expects to be used with the latest version of rust. It may run on older rust versions, but not guarantee is made, that it won't break between versions.

  • Subscriber count

    All functions that return subscriber counts only return 3-digit precision values as that is all that YouTube returns. That means if channel has exactly 164_583 subscribers, this library will return 164_000.

  • Panic behavior

    This library should never panic. If it does, it should be reported as a bug. Panics mostly mean, that YouTube changed something that this library could not deal with.

Dependencies

~6–22MB
~258K SLoC