I am using the Gracenote Web API for C#. I want to search for artist's albums and keep the tracks that have a certain mood.

var albums = client.Search(new SearchCriteria
                    Artist = artistName,
                    SearchMode = SearchMode.Default,
                    SearchOptions = SearchOptions.Mood | SearchOptions.Tempo

When I use this code, the mood and tempo are always empty, but when I change SearchMode.Default to SearchMode.BestMatch it works. Can someone explain me why and how to solve it?

Thank you!


That is the expected behavior - Mood and Tempo are returned only when "Single Best Match" mode is used.

If you want to get Mood and Tempo for more than one match, what you can do is use Default mode, and get the GN_ID for each of the resulting albums. Then you can make a follow-up ALBUM_FETCH call for those GN_ID's ( Web API/ALBUM_FETCH.html#_Toc344907262), if you request Mood and Tempo, you should get them for all tracks in the response (where they exist in our database).

According to Jon's C# wrapper page (, ALBUM_FETCH should be supported.

Forum Discussions