Artist Search

One of the most common things to do with the Echo Nest API is to ask for information about an artist. You can use our tools to search for artists, find similar artists, and perform web searches to find biographies, news, reviews and other sorts of data.

Details

Fundamentally, every piece of data in the Echo Nest API can be tied back to an Artist. Artists can be identified both by Name, or by an internal identifier, the Echo Nest ID. The Echo Nest knows about over 1.5 million artists. In this tutorial we will cover the API calls used to Search for artists, find Similar artists, restrict your activity to a subset of artists within a partner catalog, and how to use attributes like Hotttnesss and Familiarity to govern your searches. The complete documentation for the Artist API can be found on the API Reference.

Searching for artists can take several forms. In each case, however, the API call is the artist/search one. You can provide additional parameters to control exactly what you're looking for. Let's get started.

Searching by Name

The easiest way to search for an artist is by name. You will add the name= parameter to the search query, and put in the full text of the artist name.

Example:

Response:

{
      response: {
        status: {
           version: "4.2"
           code: 0
           message: "Success"
        }
        artists: [
          {
             name: "Radiohead"
             id: "ARH6W4X1187B99274F"
          },
          {
             name: "Radiohead Tribute Band"
             id: "ARFVFTL12D5CD77E89"
          },
          {
             name: "Wonky vs. Radiohead"
             id: "AR26WWW1187FB40070"
          },
          {
             name: "Radiohead Tribute - Meeting in the Aisle"
             id: "ARVOZQT11E8F5C12BA"
          },
          {
             name: "Meeting in the Aisle: a Tribute to the Music of Radiohead"
             id: "ARVGJEW11E8F5C0E4E"
          }
        ]
  }
}
        
The first thing to notice is that this query will likely return multiple results. In the case of Radiohead, we return 5 results. The API attempts to give the best match as the first result, but for certainty, it is recommended to perform searches using the Echo Nest ID. In each of the result rows above, the id parameter returns the Echo Nest ID that can be used for future calls.

Getting info by ID

Once you have an Echo Nest ID, you can use that ID to get information about that artist via the other calls. For example, you use the ID in with the artist/hotttnesss method to get the hotttnesss for the artist. parameter to the search query.

Example:

Response:

    {
        "response": {
            "artist": {
                "hotttnesss": 0.60095857818956644, 
                "id": "ARH6W4X1187B99274F", 
                "name": "Radiohead"
            }, 
            "status": {
                "code": 0, 
                "message": "Success", 
                "version": "4.2"
            }
        }
    }

Searching by Description, Style or Mood

Searching by name or ID is important, but not necessarily that interesting. The power of the Echo Nest API really comes through when searching for artists in some other ways. For instance, you may be looking for artists that are funk. Use the style= parameter to search for artists by a specific style.

Example:

You can look for artists that have terms associated with them that are not style or genre terms, too. For example, you may want to find artists that are quirky. Use the description= parameter in these cases.

Example:

These can be combined, as well. If you are looking for, e.g., quirky jazz, use description= and style= parameters in combination, like this:

Paging through a result set

Often, you will want to change how many results you retrieve. Sometimes one result is sufficient; in other cases you will want to retrieve more results than are allowed in one call. To accomplish this, you must use the results= and start= parameters. results can range from 1 to 100, and each API call has a default, usually set to 15. Let's suppose we want to find pop tunes that are from the 2000s. We'll search on style=pop, and description=00s.

Examples:

Return 1 result:

Return 5 results: Return 50 results:

Suppose you want to generate a list of 500 rock artists from the 1980s? We'll search on style=rock, and description=80s. Then, we'll need to issue 5 separate calls, to get results 100 at a time. In each case, we'll set results=100, but we'll need to increment the start= parameter to 'jump over' the ones we've already received.

Example


Sorting result set

When searching for artists, there are two primary sorts that are supported. You can choose to sort by artist familiarity (a measure of how likely a casual music fan is to have heard of the artist), or by artist hotttnesss (current trending of that artist based on social commentary, play counts, and editorial volume). To do this, add the sort= parameter to the query. You can sort either in ascending or descending order. Let's say you wanted to see the hotttessst hip-hop artists right now. You'd use style=hip-hop, and sort=hotttnesss-desc, like this: