Skip to main content
The RadioTools SDKs wrap the listener API so your website, app, or encoder automation does not need to build requests, follow resource links, or parse responses by hand. They are open source (MIT) and live in the radiotools-sdk repository. All SDKs target listener contract v1 and cover station-facing routes only. Studio administration is not part of the SDKs.

Choose an SDK

TypeScript

The complete client: REST, GraphQL, the public realtime feed, ETag caching, retries, and playback ingest.

Framework bindings

React hooks, Vue composables, Svelte stores, and Next.js server helpers.

Other languages

Starter REST clients for Python, Go, .NET, Ruby, PHP, Kotlin, and Swift.

Feature support

Only the TypeScript client has the full feature set. The framework bindings take a TypeScript client, so you keep its full feature set. The other languages are minimal REST starters.

Credentials

Create keys in the dashboard — see Integrations and Authentication. Pass the raw rtm_… secret. The SDK adds the Bearer prefix. Keep both keys on your server; browser code should talk to your own backend, never to RadioTools with a station key. The public realtime feed is the exception: it needs no key, so a browser can subscribe to it directly. The TypeScript, Next.js, Python, Go, .NET, Ruby, and PHP clients have a helper that reads the same environment variables. Kotlin and Swift take the values as arguments.

Versioning

The npm packages (@rivi-software/radiotools-sdk, the React, Vue, Svelte, and Next.js bindings, and @rivi-software/radiotools-contract) share one version number and are released together. The current release is 0.3.0. Use 0.3.0 or later for the public realtime feed, content by slug, sorting and field filters, the draft preview handoff, and the card and square media variants. The other-language starters are not part of this release group; see Other languages. The listener contract is versioned separately through contractVersion — see Errors and versioning.

Alternatives

  • Download the OpenAPI 3.1 document to generate a client in any language or to import into API tools.
  • Use GraphQL directly with any GraphQL client.