Documentation Index
Fetch the complete documentation index at: https://docs.rocksky.app/llms.txt
Use this file to discover all available pages before exploring further.
rocksky is an async Rust crate built on tokio + reqwest.
- Strongly typed
serdemodels, snake_case API - Fluent builders on every list / paginated endpoint
- Namespaced accessors:
client.actor(),client.scrobble(), … - Generic escape hatch (
client.call,client.procedure) for un-wrapped methods - Compiles on Rust 1.75+
Install
rustls (the default):
Quickstart
Authenticating
Self-hosting / custom base URL
Builders
Resources
| Namespace | Accessor | Methods (selected) |
|---|---|---|
actor | client.actor() | get_profile, get_albums, get_artists, get_songs, get_scrobbles, get_loved_songs, get_playlists, … |
album | client.album() | get, list, get_tracks |
artist | client.artist() | get, list, get_albums, get_tracks, get_listeners, get_recent_listeners |
song | client.song() | get, get_by_mbid, get_by_isrc, get_by_spotify_id, list, match_song, get_recent_listeners, create |
scrobble | client.scrobble() | get, list, create |
charts | client.charts() | top_tracks, top_artists, scrobbles_chart |
feed | client.feed() | get, search, stories, recommendations, artist_recommendations, album_recommendations, get_generator, list_generators |
graph | client.graph() | follow, unfollow, get_followers, get_follows, get_known_followers |
shout | client.shout() | create, reply, remove, report, for_profile, for_album, for_artist, for_track, replies |
like | client.like() | like_song, dislike_song, like_shout, dislike_shout |
playlist | client.playlist() | get, list, create, remove, start, insert_files, insert_directory |
player | client.player() | currently_playing, queue, play, pause, next, previous, seek, play_file, play_directory, add_items_to_queue |
spotify | client.spotify() | currently_playing, play, pause, next, previous, seek |
apikey | client.apikey() | list, create, update, remove |
stats | client.stats() | get, wrapped |
mirror | client.mirror() | list_sources, put_source |
dropbox | client.dropbox() | list_files, metadata, temporary_link, download_file |
googledrive | client.googledrive() | list_files, get_file, download_file |
Escape hatch
Errors
is_unauthorized(), is_forbidden(),
is_not_found(), is_rate_limited(), is_client_error(), is_server_error().
Testing
The SDK’s own test suite useswiremock:
Types
Public model types are derived from the Rocksky lexicons and live inrocksky::generated. The hand-written rocksky::models module re-exports them under their historical SDK names and extends Profile / ApiKey with fields the lexicon does not yet model. Regenerate with bun run lexgen:types at the repo root.
License
MIT © Tsiry Sandratraina. Source:sdk/rust.