Stations & Radio
A station is a radio stream, not a fixed list. Unlike a playlist, a station has no set running order and does not expose a full tracklist up front. Instead it delivers a short batch of tracks at a time, tuned to the individual listener, and hands out more as they play. What each listener hears is shaped by their likes and dislikes, by licensing rules, and by DMCA compliance logic, so the same station can sound different for two different users.
Stations can be built in the Tuned CMS (AutoTune) or created on the fly through the API from a seed such as an artist. Either way, the platform handles the personalisation and the compliant sequencing for you.
How a station is produced
Every station is produced in one of two ways. This determines who builds it and how its tracks are chosen.
Curated | Programmatic | |
Built by | Your editorial team, in the CMS or via the API | Generated by the platform from one or more seeds |
Based on | A hand-selected pool of tracks | A seed value such as an artist, expanded to similar content |
Personalised per user | No | Yes, built around the user's listening history or artist selection and refined by feedback (likes / dislikes) |
DMCA compliant | Yes (optionally) | Yes (optionally) |
Typical use | Editorial "preset" stations: genre, mood, and featured radio on your home screen | "Start a station from this artist" and similar in-app actions |
Station types at a glance
The concepts below are the ones you will surface most often. The first three are about what a station is; the last two are about how listeners find one.
Concept | What it is | What it's for |
Preset station | A ready-made station curated in the CMS, the backbone of your radio catalogue | Genre, mood, and featured radio you feature on browse and home surfaces |
Artist station | A station seeded from one artist and expanded with similar artists | "Play a station based on this artist" from an artist page |
Programmatic station | A station generated on demand from one or more seeds (a single artist, or up to six artists blended together) | Letting listeners spin up their own radio from artists they pick |
Trending stations | The preset stations with the most listener momentum right now, ranked by recent activity | A "Trending now" or "Popular radio" discovery rail |
Similar stations | Other stations closely related to a given one | "More like this" recommendations next to the station a user is playing |
Under the hood, every station carries a Type. The table above maps to these values, with a few additional specialised types available:
Type | Meaning |
| CMS-curated preset radio station |
| An artist plus similar artists |
| A single artist only, no expansion |
| A blend of several artists (2 to 6 seeds) |
| Driven by a genre or mood tag |
| A station an end user created and owns |
| A station sourced from an external radio feed |
| Specialised station types used by advanced listening features (each has its own guide) |
Discovering the station catalogue
These reads come from the Metadata API and need no user sign-in, so they are ideal for browse screens, home rails, and anything you cache.
- List preset stations across the catalogue to populate a station browse surface
- Trending presets, ranked by recent listener activity, for a "popular right now" rail
- Similar stations to a given station, for "more like this" recommendations
- Station details: name, description, cover and banner artwork, theme, and genre tags for a single station
- Station identifiers: the short intro and callout branding clips ("idents") that play as a station's audio branding
- Trending artists across all your stations, ranked by recent likes, and the standout trending artists within a single station
The personalised radio session
Once a logged in user starts a station, these Services API endpoints are used to power the experience.
- Get tracks: fetch the next batch of tracks for a station. Stations hand out a limited number at a time and you request more as playback continues, rather than loading a whole tracklist
- Vote: submit a thumbs up or down on the current track. This feedback personalises what the station plays next
- Read a user's votes: retrieve the tracks a listener has liked or disliked in a station
- Clear votes: remove a user's track votes, or clear their artist-level votes
- Skips remaining: check how many skips a listener has left, so you can enforce skip limits per the station's licensing rules
- Next station: move the listener on to a suggested follow-on station when the current one ends
- Track extras: returns audio ads for stations when server to server ad partner is licencsed (Triton or similar).
- User cover: pull user-specific cover artwork for the session
- Sync tracks and log offline plays: download a batch for offline listening, then report those plays back when the device reconnects
- User context and last played: read a listener's relationship to a station and the stations they most recently played
Creating stations from seeds
Listeners can generate their own programmatic stations through the Services API:
- Add by seed: create a station from a single seed. The seed can be an artist (expanded with similar artists), a single artist, a tag, or a user
- Add by multiple seeds: blend 2 to 6 artists into one station, for a "mix of these artists" experience
Signals that shape a station
A station is more than a list of tracks. The platform tracks several signals that drive ranking and delivery:
- Likes and dislikes feed back into what each listener hears next
- Trending score and boost rank stations for discovery rails
- Content tier (
Tier0 / Tier1 / Tier2) aligns station access with your subscription and package entitlements - Auto-refresh keeps a station's content current without manual rebuilds
- Draft state lets a station be prepared before it goes live
DMCA compliance, built in
For stores with DMCA compliance enabled, the platform sequences every station to satisfy the sound-recording performance complement automatically. Within any 3-hour window:
- No more than 4 tracks by the same artist (or from a single compilation), and no more than 3 of them consecutively
- No more than 3 tracks from the same album, and no more than 2 of them consecutively
- Programs run as at least 3 hours of continuous audio
Tracks that cannot be placed compliantly are dropped from the sequence, so you never have to enforce these rules yourself.
Built on two purpose-built APIs
Station functionality is split across two APIs by access pattern, not by feature:
- Metadata API (version 2.4): anonymous, public catalogue reads using the store and country only, no user token. This is the station catalogue: presets, trending, similar, details, identifiers, and trending artists. Use it for discovery surfaces and anything you want to cache or serve from a CDN.
- Services API (version 3): authenticated and OAuth-scoped. Use it for everything tied to a specific signed-in listener: starting a station, fetching tracks, voting, skipping, and their station history.
A station browse screen and a live listening session call the same underlying station model. You are choosing the API that matches who is asking.
Related capabilities elsewhere in the docs
Stations connect into several other parts of the API:
- Artist stations: the stations associated with a specific artist (
Artists section) - Station search: find stations by keyword (
Search section) - Stations by tag: browse stations under a genre or mood tag (
Tags section) - Saved stations: add and remove stations in a listener's personal collection (User Library & Collection section)
- Recommended stations: personalised station recommendations for a user (
Users section)
On this page
- Stations & Radio