invidious
invidious
Rust bindings for the invidious API. Get information about videos, channels, and playlists from YouTube without using the YouTube official API.
Examples
Blocking API
use Client;
use Error;
Async API
use Client;
use Error;
async
General Usage
client.function_name(id: &str, args: Option<&str>) -> Result<T, Box<dyn Error>>
idis the id of the video, channel, or playlist, and is only used when applicable.argsis an optional string of additional arguments to be passed to the API. For example,sort_by=popular&page=2(Arguments are separated by&)
How this works
Uses the Invidious api to get information about videos, channels, and playlists. The Invidious API is a REST API, so the invidious crate uses the reqwest crate to make requests to the Invidious API, and then uses the serde_json crate to parse the JSON returned by the Invidious API.
Official documentation of the Invidious API can be found here: https://docs.invidious.io/api
Features
reqwest: use the reqwest crate to send requests, may increase complie time and sizecurl: use thecurlcommand to send reqwests, butcurlmay not be present in some systemscurl_async: async support forcurl, uses external crate which increases compile time and size
All features are enabled by default
License
GNU General Public License v3.0
License: GPL-3.0