Importing online data

One of the primary goals of Calliope is to provide a unified interface and data format for the varied online services related to music and metadata.

Most online services require an API key to access them. These are private tokens which allow the service provider to monitor and control your usage. You will need to obtain your own API keys to use these services. We try to document how to do this, but be aware that service providers can change things without warning.

Online collections

Collections from Bandcamp are available with the calliope.bandcamp module or the cpe bandcamp command. This works without any API key.

The Spotify “My Library” tracks, albums and artists can be exported to and imported from playlists with the calliope.spotify module or the –library switch of the cpe spotify export and cpe spotify import commands.

Online playlists

Playlists from Listenbrainz are available with the calliope.listenbrainz module or the cpe listenbrainz.

Playlists from Spotify are available with the calliope.spotify module or the cpe spotify command. A Spotify API key is needed.

Playlists from Youtube are available with the calliope.youtube module or the cpe youtube command. A Google API key for the Youtube Data API is needed.

Listen history

Listen history data from Last.fm can be exported using the calliope.lastfm.history module or the cpe lastfm-history command.

Listen history data from Listenbrainz can be exported using the calliope.listenbrainz.listens module or the cpe listenbrainz-history command.

Spotify doesn’t make much listen history data available through their API. It’s possible to obtain the last year of history using the Download your data option – see Spotify’s ‘Data rights and privacy settings’ guide for details.

Music metadata

Some metadata from Last.fm can be accessed with the calliope.lastfm module or the cpe lastfm command.

Musicbrainz is a huge, open database of music metadata. You can use the calliope.musicbrainz module or the cpe musicbrainz command to annotate playlist items with musicbrainz IDs, metadata retrieved from musicbrainz and optionally update existing item data. Items are only annotated automatically if a good enough match is found on musicbrainz. In cases where the existing metadata is wrong or incomplete, use the interactive mode to select the musicbrainz matches manually.