The apple-music-library gem offeres a ruby interface to the information stored in an iTunes / Apple Muisic Library.xml file, as generated by the menu option File > Library > Export Library...


Add this line to your application's Gemfile:

gem 'apple-music-library'

And then execute:

$ bundle

Or install it yourself as:

$ gem install apple-music-library


# Create library
library ='path/to/Library.xml')

# Count albums
puts library.albums.count

# Show tracks in a specific playlist
playlist = library.playlist('XTC Favorites')
playlist.tracks.each do |track|

# Count tracks by artist
artist = library.artist('XTC')
puts artist.tracks.count

# Display track counts per genre
library.genres.each do |genre|
  puts "#{genre.tracks.count} #{}"

All stored attributes are available via snake_cased methods on Track and Playlist. However, note that #artist, #album, and #genre are special cases, returning Ruby objects rather than their associated string values. Methods to return the string versions of these track attributes are provided as track.artist_name, track.album_name, and track.genre_name.


After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


Bug reports and pull requests are welcome on GitHub at


The gem is available as open source under the terms of the MIT License.