Deezer Partnership

The Echo Nest and Deezer have worked to ensure that all Echo Nest API calls can be matched to the Deezer catalog for seamless integration between the services. Using these two together, developers can build applications that support full audio stream playback for any Deezer subscriber, with a fallback to 30-second samples for all other users.

Available Assets

The Deezer catalog provides a rich data set across their database of songs, including:

  1. Full streaming of millions of tracks for Deezer subscribers
  2. 30 second samples for all users
  3. Album art and artist images
Rights & Responsibilities

The Deezer API is available for developers to access now — Go to the Deezer for Developers site for details.

Getting Started

Review the Deezer API guidelines. When making calls to the Echo Nest API, use the following bucket: 'deezer'

As an example, Radiohead has an Deezer ID of 399. To find biographies for Radiohead using our API and the Deezer ID, you would issue a query like this:

Note that the id parameter is of the form catalog:entity:id; in this case, 'deezer' is the catalog, 'artist' is the entity, and '399' is the artist ID in the Deezer catalog.

You can also retrieve artist information and receive their IDs in the Deezer name space. To do this, you use the bucket=deezer parameter on any call that returns artists, songs or tracks. As an example, to find artists similar to Radiohead, with Deezer foreign IDs returned, issue a call like this:

Note that the id parameter is of the form catalog:entity:id; in this case, deezer is the catalog; artist is the entity, and 399 is the artist ID in the Deezer catalog. Example results:

 

"artists:" : [
    {
        "name": "Thom Yorke"
        "id": "ARH1N081187B9AC562", 
        "foreign_ids": [
            {
                "catalog": "deezer", 
                "foreign_id": "deezer:artist:5806"
            }
        ], 
    }
]
 

Note that for each artist returned, there is a new foreign_ids block that includes a foreign_id of the form catalog:entity:id, in this case, deezer:artist:5806

Finally, note that to get the actual track information from Deezer, you can add the bucket=deezer bucket=tracks limit=true parameters to any Echo Nest call that returns song information. Example:

This call returns the following result:

    "songs": [
        {
            "artist_id": "ARH6W4X1187B99274F", 
            "artist_name": "Radiohead", 
            "audio_md5": "dfba82e87a27ca7d831a279268e6787a", 
            "id": "SOHJOLH12A6310DFE5", 
            "title": "Karma Police", 
            "tracks": [
                {
                    "catalog": "deezer", 
                    "foreign_id": "deezer:track:20592361", 
                    "foreign_release_id": "deezer:release:1960531", 
                    "id": "TRAGHDU139CE0EF708"
                }, 
        }
    ]

Similarly, to generate a playlist that returns Deezer track IDs, you can make an Echo Nest playlist/static call like so:

Note that within each song you are provided with a Deezer track id, which can then be used to pass to the Deezer API to perform streaming, gather album artwork, etc.

A Demonstration App

We've created a demonstration app that shows how to combine the Deezer and The Echo Nest APIs to build a simple playlists. The demonstration can be found here: The Echo Nest + Deezer Playlist Demo and the code for the demo can be found on github.