The status of this project is: STABLE. I will soon be working on supporting the next protocol version, but it’s ready for your music players to use now.


To get the code:

git clone


To download in package form:


lastfmsubmitd is a daemon meant to be used by player plugins. It handles all aspects of submitting data to the servers, so that player plugins only need to watch what songs are played and write a representation of each played song to its spool.

The format used for serializing songs is a simple YAML dictionary, which can be constructed with YAML libraries (available for many languages), or printed ad hoc. The spool is managed with standard unix permissions, and many different players can use the same daemon to submit. Each instance of lastfmsubmitd uses a single account.

An example client is included which tracks MPD. The format used by lastfmsubmitd is also used by Ears, my collection of MusicBrainz tools.