Skip to content

Radio & Music Services API

by bbc.co.uk

No authHTTPSMedia
Open documentation ↗

Overview

We encapsulate Radio & Music business logic for iPlayer Radio and BBC Music products on all platforms. We add value by reliably providing the right blend of metadata needed by clients.

Radio & Music Services is a media API from bbc.co.uk. It needs no API key. It is served over HTTPS. Its OpenAPI description documents 75 endpoints.

At a glance

Authentication
No auth
HTTPS
Yes
CORS
Unknown
Category
Media
Base URL
https://rms.api.bbc.co.uk/
Version
1.0.0
Endpoints
75
Spec updated
2017-09-25

Make a first request

Replace the placeholders; the documentation says exactly where credentials go.

cURL
curl -X GET "https://rms.api.bbc.co.uk/broadcasts" \
  -H "Accept: application/json"
JavaScript
const response = await fetch("https://rms.api.bbc.co.uk/broadcasts", {
  method: "GET",
  headers: {
    "Accept": "application/json",
  },
});
const data = await response.json();
console.log(data);
Python
import requests

response = requests.request(
    "GET",
    "https://rms.api.bbc.co.uk/broadcasts",
    headers={
    "Accept": "application/json",
    },
    timeout=30,
)
print(response.json())

Endpoints

MethodPathWhat it does
GET/broadcastsBroadcasts
GET/broadcasts/latestLatest Broadcasts
GET/broadcasts/{pid}Broadcasts by PID
GET/categoriesList of categories
GET/categories/{id}Category by ID
GET/collections/{pid}/membersCollection Members
GET/experience/homepageHomepage Experience
GET/music/popular/artistsPopular Artists
GET/music/popular/artists/{id}Single Artist Popularity
GET/music/popular/playlistsPopular Playlists
GET/music/popular/playlists/{id}Single Playlist Popularity
GET/music/popular/tracksPopular Tracks
GET/music/popular/tracks/{id}Single Track Popularity
GET/my/categories/followsList of followed categories
POST/my/categories/followsFollow category
DELETE/my/categories/followsUnfollow category
GET/my/music/exportMusic Exports
GET/my/music/exports/jobsMusic Export Jobs
POST/my/music/exports/jobsMusic Export Jobs
GET/my/music/exports/tracksMusic Export Tracks
GET/my/music/favouritesFavourite Tracks or Clips
POST/my/music/favouritesFavourite Tracks or Clips
PUT/my/music/favouritesFavourite Tracks or Clips
GET/my/music/favourites/{type}Favourite Tracks or Clips by Type
GET/my/music/favourites/{type}/{id}Favourite Track or Clip
POST/my/music/favourites/{type}/{id}Favourite Track or Clip
PUT/my/music/favourites/{type}/{id}Favourite Track or Clip
DELETE/my/music/favourites/{type}/{id}Favourite Track or Clip
GET/my/music/followsFollowed Networks, Categories, Artists, Playlists and Genres
POST/my/music/followsFollowed Networks, Categories, Artists, Playlists and Genres
PUT/my/music/followsFollowed Networks, Categories, Artists, Playlists and Genres
GET/my/music/follows/{type}Followed Networks, Categories, Artists, Playlists and Genres by Type
GET/my/music/follows/{type}/{id}Followed Network, Category, Artist, Playlist and Genre
POST/my/music/follows/{type}/{id}Followed Network, Category, Artist, Playlist and Genre
PUT/my/music/follows/{type}/{id}Followed Network, Category, Artist, Playlist and Genre
DELETE/my/music/follows/{type}/{id}Followed Network, Category, Artist, Playlist and Genre
GET/my/music/preferences/exportMusic Export Preferences
POST/my/music/preferences/exportMusic Export Preferences
DELETE/my/music/preferences/exportMusic Export Preferences
GET/my/music/preferences/export/{vendor}Music Export Vendor Preferences
POST/my/music/preferences/export/{vendor}Music Export Vendor Preferences
PUT/my/music/preferences/export/{vendor}Music Export Vendor Preferences
DELETE/my/music/preferences/export/{vendor}Music Export Vendor Preferences
GET/my/networks/followsList of followed networks
POST/my/networks/followsFollow network
DELETE/my/networks/followsUnfollow network
POST/my/playsWrite Play Event
GET/my/playspace/containers/suggestedSuggested Playspace Container
GET/my/playspace/containers/{id}Playspace Container by ID
GET/my/programmes/recommendationsRecommended Programmes
GET/my/radio/favouritesFavourite Episodes and Clips
POST/my/radio/favouritesFavourite Episodes and Clips
PUT/my/radio/favouritesFavourite Episodes and Clips
GET/my/radio/favourites/{type}Favourite Episodes and Clips by Type
GET/my/radio/favourites/{type}/{pid}Favourite Episode or Clip
POST/my/radio/favourites/{type}/{pid}Favourite Episode or Clip
PUT/my/radio/favourites/{type}/{pid}Favourite Episode or Clip
DELETE/my/radio/favourites/{type}/{pid}Favourite Episode or Clip
GET/my/radio/followsFollowed Brands and Series
POST/my/radio/followsFollowed Brands and Series
PUT/my/radio/followsFollowed Brands and Series
GET/my/radio/follows/{type}Followed Brands or Series by Type
GET/my/radio/follows/{type}/{pid}Followed Brand or Series
POST/my/radio/follows/{type}/{pid}Followed Brand or Series
PUT/my/radio/follows/{type}/{pid}Followed Brand or Series
DELETE/my/radio/follows/{type}/{pid}Followed Brand or Series
GET/my/radio/playsPlayed Episode or Clip
GET/podcastsAll Podcasts
GET/podcasts/featuredFeatured Podcasts
GET/podcasts/{pid}Podcast
GET/podcasts/{pid}/episodesPodcast Episodes
GET/radio/networks.jsonNetworks
GET/radio/popularPopular Episodes & Clips
GET/radio/programmesRadio programmes
GET/radio/programmes/{pid}Available radio programme by Pid

Questions

Does the Radio & Music Services API need an API key?

No. The Radio & Music Services API can be called without an API key or sign-up, which makes it handy for prototypes and front-end demos.

Does the Radio & Music Services API support HTTPS?

Yes, the Radio & Music Services API is served over HTTPS.

How many endpoints does the Radio & Music Services API have?

Its OpenAPI description lists 75 endpoints in version 1.0.0. All of them are shown on this page.

What are alternatives to the Radio & Music Services API?

Other Media APIs include SiriKit Cloud Media, Spotify Web API, setlist.fm API, NBA Stats API, APOD.

Compare alternatives →

SiriKit Cloud Media

Media

Add intelligent features with Apple Intelligence, machine learning, and related technologies.

No auth6 endpoints

Spotify Web API

Media

You can use Spotify's Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more. Browse our available Web API endpoints using the sidebar at left, or via the navigation bar on top of this page on smaller screens. In order to make successful Web API requests your app will need a valid access token. One can be obtained through <a href="https://developer.spotify.com/documentation/general/guides/authorization-guide/">OAuth 2.0</a>. The base URI for all Web API requests is `https://api.spotify.com/v1`. Need help? See our <a href="https://developer.spotify.com/documentation/web-api/guides/">Web API guides</a> for more information, or visit the <a href="https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer">Spotify for Developers community forum</a> to ask questions and connect with other developers.

OAuth88 endpoints

setlist.fm API

Media

<p> The setlist.fm API has been designed to give you easy access to setlist data in order to build fancy websites and other applications. Before starting to use the API, be sure to ... <ol> <li>... understand how setlist.fm works (the <a href="https://www.setlist.fm/faq">FAQ</a> and the <a href="https://www.setlist.fm/guidelines">Guidelines</a> are a good starting point),</li> <li>... read this documentation carefully and</li> <li>... <a href="https://www.setlist.fm/settings/api">apply for an API key</a> (link for logged in users only) - if you're no registered user yet, then <a href="https://www.setlist.fm/signup">register first</a> (it's free).</li> </ol> </p> <p> If this documentation isn't enough or if you've got other things you'd like to tell us about the API, visit the <a href="https://www.setlist.fm/forum/setlistfm/setlistfm-api">API Forum</a>. </p> <p> Note that the setlist.fm API is, according to the <a href="https://www.setlist.fm/help/api-terms">API terms of service</a>, only free for non-commercial projects. If you're interested in using the API for commercial purposes, <a href="https://www.setlist.fm/contact">contact us</a>. </p> <h2>About this Service</h2> <p> This service provides methods to get both setlists and components of setlists such as artists, cities, countries or venues. </p> <h2>Supported Content Types</h2> <p> The REST service currently supports XML (default) and JSON content. </p> <p> To receive a JSON response, set the <code>Accept</code> <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">header</a> to <em>application/json</em>. </p> <h2>Internationalization</h2> <p> <small>(Please note that this is an experimental feature and does not work for all cities!)</small> </p> <p> Most of the featured methods honor the <code>Accept-Language</code> <a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4">header</a>. This header is used for localizing cities and countries. The default language is English (en), but you can provide any of the languages Spanish (es), French (fr), German (de), Portuguese (pt), Turkish (tr), Italian (it) or Polish (pl). </p> <p> E.g. if you search a setlist for a concert that took place in Vienna and you pass &quot;de&quot; as header, you'll get <em>&quot;Wien, &Ouml;sterreich&quot;</em> instead of <em>&quot;Vienna, Austria&quot;</em>.<br/> This also works if you use a different language than the country's native language. </p> <p> E.g. for a concert in New York, you'll get <em>&quot;Nueva York, Estados Unidos&quot;</em> instead of <em>&quot;New York, United States&quot;</em> if you pass &quot;es&quot; as language. </p> <h2>API Keys</h2> API keys (<a href="https://www.setlist.fm/settings/api">application form</a>) must be included in the request with the <code>x-api-key</code> header. <h2>Version History</h2> <table class="table table-bordered table-versions"> <thead> <tr> <th>Version</th> <th>Docs</th> <th>End of Service</th> </tr> </thead> <tbody> <tr> <td><strong>1.0</strong></td> <td><a href="/docs/1.0">Docs</a></td> <td>-</li> </tr> <tr> <td><strong>0.1</strong></td> <td></td> <td>December 31, 2017</li> </tr> </tbody> </table>

No auth15 endpoints

NBA Stats API

Media

The destination for current and historic NBA statistics.

No auth91 endpoints

APOD

Media

This endpoint structures the APOD imagery and associated metadata so that it can be repurposed for other applications. In addition, if the concept_tags parameter is set to True, then keywords derived from the image explanation are returned. These keywords could be used as auto-generated hashtags for twitter or instagram feeds; but generally help with discoverability of relevant imagery

API key1 endpoints

Wikimedia

Media

This API provides cacheable and straightforward access to Wikimedia content and data, in machine-readable formats. ### Global Rules - Limit your clients to no more than 200 requests/s to this API. Each API endpoint's documentation may detail more specific usage limits. - Set a unique `User-Agent` or `Api-User-Agent` header that allows us to contact you quickly. Email addresses or URLs of contact pages work well. By using this API, you agree to Wikimedia's [Terms of Use](https://wikimediafoundation.org/wiki/Terms_of_Use) and [Privacy Policy](https://wikimediafoundation.org/wiki/Privacy_policy). Unless otherwise specified in the endpoint documentation below, content accessed via this API is licensed under the [CC-BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/) and [GFDL](https://www.gnu.org/copyleft/fdl.html) licenses, and you irrevocably agree to release modifications or additions made through this API under these licenses. See https://www.mediawiki.org/wiki/REST_API for background and details. ### Endpoint documentation Please consult each endpoint's documentation for details on: - Licensing information for the specific type of content and data served via the endpoint. - Stability markers to inform you about development status and change policy, according to [our API version policy](https://www.mediawiki.org/wiki/API_versioning). - Endpoint specific usage limits.

API key35 endpoints

Listed from APIs.guru (CC0).