| Crates.io | rsoundcloud |
| lib.rs | rsoundcloud |
| version | 0.2.4 |
| created_at | 2025-03-17 22:34:08.994771+00 |
| updated_at | 2025-09-14 17:13:29.13706+00 |
| description | A SoundCloud API client |
| homepage | https://github.com/barthofu/rsoundcloud |
| repository | https://github.com/barthofu/rsoundcloud |
| max_upload_size | |
| id | 1595951 |
| size | 145,134 |
rsoundcloud is a Rust client library wrapping some of the internal v2 SoundCloud API (read/GET only methods). Does not require an API Key.
[!WARNING] This is NOT the official SoundCloud developer API
SoundCloud is not accepting application registration requests anymore. I made this library so developers can use SoundCloud's internal API for their projects.
This Rust crate is mostly a port of @7x11x13's python library; soundcloud-v2.
It is also inspired by the great rspotify crate.
Add the following to your Cargo.toml:
[dependencies]
rsoundcloud = "0.2.3"
Here's a basic example of how to fetch a track's details:
use rsoundcloud::SoundCloudClient;
#[tokio::main]
async fn main() {
let client = SoundCloudClient::default();
let track = client
.get_track(ResourceId::Url("https://soundcloud.com/shmanii/beg-me-to-come-over".to_string()))
.await;
println!("{:#?}", track);
}
Some endpoints require authentication. You must provide a SoundCloudClient with a valid OAuthToken to access these endpoints.
You can also provide a custom client_id as the first argument to SoundCloudClient::new().
use rsoundcloud::{SoundCloudClient};
#[tokio::main]
async fn main() {
let client = SoundCloudClient::new(
Some("your_client_id".to_string()),
Some("your_oauth_token".to_string()
));
let me = client.get_me().await;
println!("{:#?}", me);
}
Here's the list of endpoints that require authentication:
get_meget_my_historyget_my_streamsget_user_conversationsget_conversation_messagesget_unread_conversationsget_track_original_download_linkCopyright (c) barthofu