[Editor's note: Today's post comes from Kevin Farnham, who we are very happy to have joining us as a regular contributor here at ProgrammableWeb.]
Whether you’re a performer or a listener who enjoys discovering great new music, there are many music APIs available to help you accomplish your objectives. Last.fm is among the most popular music destinations on the Web. Its API provides you with data about Last.fm members, artists, albums, tracks, and more. More than 36 Last.fm Mashups are available, and the list keeps growing. With the recent addition of the handy LyricsFly API and its database of lyrics for 314,000 songs, there are now 25 music APIs in the ProgrammableWeb directory (as well as 135 music-related mashups).
But Last.fm is just one example. There are APIs that help you discover music you may like, APIs that provide detailed metadata about music, and APIs that let you store and manage your music online. Other APIs provide online radio and music subscription services. There are APIs for customizing music players, finding live music, and even for selling your own music. So many that ProgrammableWeb has just added a place to track them: the Music API and Mashup Dashboard.
Managing your music collection no longer means maintaining an orderly stack of CDs. Today we enjoy music from so many different locations and on so many different kinds of devices, that it can be easy to forget where it all is. In addition, music is available everywhere, but how can you find music that you will like?
These are the types of problems that developers are trying to solve with music APIs. Here’s a breakdown of what’s available and what problem the APIs address.
How do you find new music that you’re likely to enjoy? And once you find it, how do you bring it into your music collection and manage it such that you’ll be able to find it later on? We’ve already talked about Last.fm. But a lot of other good solutions are also available.
Like Last.fm, the OpenStrands API takes a Web 2.0 approach to music discovery: the API provides programmable access to the MyStrands.com community’s recommendation, tagging and playlist services. Other music search tools include the Digital Podcast API, which lets you search for music using keywords, the SeeqPod API, where you enter the name of a song you like, and API returns a list of recommended songs, and the Yahoo Audio Search API, which enables structured and unstructured queries for finding audio files and correlated music data.
The MusicDNS API deserves special mention: it will automatically compare your music with all the music in its database using algorithms, then identify artists whose work is similar to your own.
Once you’ve found music you like listening to, you may want to find out more information, about the songs, the artists… Several APIs provide information about music — that is, metadata. Freedb / CDDB provides information about music CDs: artist, CD-title, track list, and other information. The interesting thing is that a track for which you’d like to find information can be on a CD in your computer’s CD-drive, or on many different Freedb-compliant devices.
The MusicBrainz API, Tunelog API, and Discogs API all take a Web 2.0 approach, providing access to a large database of music metadata that is maintained by or based on the collective actions of the MusicBrainz, Tunelog, and Discogs communities.
Sharing your media is not all that different from broadcasting it, today. But some sites prefer the term broadcasting, implying more professional content. The Orb API allows you to broadcast your music, videos, photos, and more. Meanwhile, the RadioTime API enables you to find and enjoy over 60,000 online radio stations around the globe.
The Rhapsody API and subscription music service lets you programmatically manage your Rhapsody playlists, search for music, and access your Rhapsody RSS feeds.
After listening to some tunes by a new artist, you may want to see them perform in person. The Eventful API, JamBase API, and Gruvr API all let you search for concert information and other events. Eventful goes a step further by letting you “demand” an appearance by a performer in your area. Gruvr’s API lets you integrate live music maps and concert schedules into your own site.
If you’re a performer, then you’re sure to be interested in the above APIs. You’ll want to have your music available wherever listeners are searching for new music. You want to submit your songs to MusicDNS.org so that people who like your kind of music will be more likely to discover your own music. You’ll certainly want to publicize your performance calendar using the APIs for Eventful, JamBase, and Gruvr. And when it comes to selling your recordings, investigate the SNOCAP API, which will help you set up your own music store.
Music APIs make a wide variety of music mashups possible. One of the earlier and more popular music mashups in our listings is MusicPortl, which collates information about a specific artist from across the entire web, creating a page that includes biographical information, photos, album releases, videos, blogs, and more. MusicPortl applies seven different APIs to provide all this information: Amazon eCommerce API, Flickr API, Last.fm API, MusicBrainz API, Ontok API, Technorati API, and the YouTube API.
Many music-related mashups aggregate artist data from around the Web into a unified search interface. One of which is FoxyTunes, which was acquired by Yahoo! earlier this month and you can see our listing with APIs used here.
Of the 135 music-related mashups listed, some of the more popular include: TuneGlue, ZonTube, KEXPlorer.com, MusicTonic, One Hit Wonders Map, JukeboxTube, Indie Tube, NPR Station Map and Mashup Camp winners PodBop and the Hype Machine.
We’ll cover more of these in an upcoming post.
The variety of music-related APIs is enormous, and the number of music APIs keeps growing. Click here for an updated list of currently available music APIs.
Kevin Farnham runs Lyra Technical Systems, a small software consulting and publishing company where he often works with O’Reilly Media, currently as Community Manager for the Threading Building Blocks open source project and was previously the Managing Editor for the AOL Developer Community. On the software engineering side Kevin specializes in mathematical modeling, simulation, and scientific data analysis.