Crate genius_rust

Source
Expand description

§genius-rs

Rust library that allows interact with Genius API.

Create an API Client at https://genius.com/developers and get the token to get Genius API access.

§Searching for a Song

use genius_rs::Genius;

#[tokio::main]
async fn main() {
    let genius = Genius::new(dotenv::var("TOKEN").unwrap());
    let response = genius.search("Ariana Grande").await.unwrap();
    println!("{}", response[0].result.full_title);
}

§Getting lyrics

use genius_rs::Genius;

#[tokio::main]
async fn main() {
    let genius = Genius::new(dotenv::var("TOKEN").unwrap());
    let response = genius.search("Sia").await.unwrap();
    let lyrics = genius.get_lyrics(response[0].result.id).await.unwrap();
    for verse in lyrics {
        println!("{}", verse);
    }
}

§Getting deeper information for a song by id

use genius_rs::Genius;

#[tokio::main]
async fn main() {
    let genius = Genius::new(dotenv::var("TOKEN").unwrap());
    let response = genius.search("Weeknd").await.unwrap();
    let song = genius.get_song(response[0].result.id, "plain").await.unwrap();
    println!("{}", song.media.unwrap()[0].url)
}

Modules§

album
Album response
annotation
Annotation response
auth
Authentication methods
error
Error response
search
Search response
song
Song response
user
User response

Structs§

Body
Date
Genius
The main hub for interacting with the Genius API