youtubei-rs

A asynchronous implementation of the invidious innertube aka youtubei API wrapper.
Using tokio,reqwest, serde and serde_json.

Breaking changes in version bump 0.2.3 to 1.2.3

Roadmap

Implemented endpoints

Supported queries

Example

```rust use youtubeirs::{query::player, utils::defaultclientconfig, types::queryresults::PlayerResult};

[tokio::main]

async fn main() { // create default clientconfig with WEB client let clientconfig = &defaultclientconfig(); // get player for video with id gC6dQrScmHE let player: PlayerResult = player(String::from("gC6dQrScmHE"),String::from(""),&clientconfig).await.unwrap(); println!("{}",player.videodetails.title); // video title }

```

With logging

For logging tracing is used so tracingsubscribe can be installed for easier use of tracing. The library has as target youtubeirs with debug,trace and error levels. ```rust use youtubeirs::{query::player, utils::defaultclient_config};

[tokio::main]

async fn main() { std::env::setvar("RUSTLOG", "youtubeirs=debug"); tracingsubscriber::fmt::init(); // create default clientconfig with WEB client let clientconfig = &defaultclientconfig(); // get player for video with id gC6dQrScmHE let player: PlayerResult = player(String::from("gC6dQrScmHE"),String::from(""),&clientconfig).await.unwrap(); println!("{}",player.videodetails.title); // video title }

```

Supported queries (legacy)

For more in depth info take a look at query.rs and tests.rs