Skip to main content
rocksky is an async Rust crate built on tokio + reqwest.
  • Strongly typed serde models, 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

Pin TLS backend if you don’t want rustls (the default):

Quickstart

Authenticating

…or change later:

Self-hosting / custom base URL

Builders

Resources

Escape hatch

Errors

Convenience predicates: is_unauthorized(), is_forbidden(), is_not_found(), is_rate_limited(), is_client_error(), is_server_error().

Testing

The SDK’s own test suite uses wiremock:

Types

Public model types are derived from the Rocksky lexicons and live in rocksky::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.