The Echo Nest Song API
This weekend at the Amsterdam Music Hack day we are releasing lots of new stuff. First of all, we opening up beta access to the next version of our APIs. This version is an all new architecture - that I'm rather excited about. Some new features:
Performance - api method calls run faster - on average API methods are running 3X faster than the older version.
JSON Output - all of our methods now support JSON output in addition to XML. This greatly simplifies writing client libraries for the Echo Nest
Nimble coding - with the new architecture it will be much easier for us to roll out new features - so expect to see new features added to the Echo Nest platform every month
No cruft - we are revisiting our APIs to try to eliminate inconsistencies, redundancies and unnecessary features to make them as clean as we can.
The beta version of our next generation APIs are here: http://beta.developer.echonest.com/ The first significant new API we are adding is the Song API - this gives you all sorts of ways to search for and retrieve song level data. With the song API you can do the following:
search for songs via artist name, song title, and description. You can affect the results with constraints and sorts:
constrain the results by a number of factors including musical attributes like tempo, loudness, time signature and key, artist hotttnesss, location
sort - the results by any of the attributes
Find similar songs - find similar songs to a seed song
Find profile - get all sorts of info about a song including audio, audio summary info, track data for different catalogs, song hottttnesss, artist_hotttnesss, artist_location, and detailed track analysis
Identify songs - works in conjunction with the ENMFP
There are lots of things you can do with this API. Here's just a quick sample of the types of queries you can make:
Find the loudest thrash songs
song/search?sort=loudness-desc&description=thrash
Find indie songs for jogging
song/search?min_tempo=120&description=indie&max_tempo=125
Fetch the tempo of Hey Jude
search?title=hey+jude&bucket=audio_summary&artist=the+beatles
Fetch the track audio and analysis of Bad Romance
search?title=bad+romance&bucket=tracks&bucket=id:paulify&artist=lady+gaga
Find songs similar to Bad Romance
song/similar?id=SOAOBBG127D9789749
We have two clients that support the new beta version of the API:
jen-api - a java client
beta_pyechonest - a new branch of the venerable pyechonest library. Grab it from SVN with
svn checkout http://pyechonest.googlecode.com/svn/branches/ beta-pyechonest-read-only
I'll be writing more about all of the new APIs real soon. Access the beta Echo Nest APIs here: