The Musicshake API has been discontinued. API calls, new developer keys and the demo widgets are no longer available. This documentation is kept for reference.

categories

Get the complete list of song filters - this method returns all available genres, tempos, and moods.

Parameters

  • api_key - developer key
  • callback (optional) - callback function name for a JSONP request

Request Example

https://developers.musicshake.com/api/categories?api_key=YOUR_API_KEY

Response Example

{
	"genres":[
		{"genre_id":"1","genre_name":"Pop"},
		{"genre_id":"2","genre_name":"New Age"},
		{"genre_id":"3","genre_name":"Rock"},
		{"genre_id":"4","genre_name":"Latin"},
		{"genre_id":"5","genre_name":"Electronic"},
		{"genre_id":"6","genre_name":"Jazz"},
		{"genre_id":"7","genre_name":"Hiphop"},
		{"genre_id":"8","genre_name":"Ballad"},
		{"genre_id":"9","genre_name":"R&B"},
		{"genre_id":"10","genre_name":"Dance"},
		{"genre_id":"11","genre_name":"Trance"},
		{"genre_id":"12","genre_name":"Instrumental"}
	],
	"tempos":[
		"90",
		"110",
		"120",
		"140"
	],
	"moods":[
		{"mood_id":"1","mood_name":"Cloudy"},
		{"mood_id":"2","mood_name":"Hopeful"},
		{"mood_id":"3","mood_name":"Fresh"},
		{"mood_id":"4","mood_name":"Dramatic"},
		{"mood_id":"5","mood_name":"Anticipation"},
		{"mood_id":"6","mood_name":"Calm"},
		{"mood_id":"7","mood_name":"Comfort"},
		{"mood_id":"8","mood_name":"Romantic"},
		{"mood_id":"9","mood_name":"Holiday"},
		{"mood_id":"10","mood_name":"Melancholy"},
		{"mood_id":"11","mood_name":"Warm"},
		{"mood_id":"12","mood_name":"Gentle"},
		{"mood_id":"13","mood_name":"Energetic"},
		{"mood_id":"14","mood_name":"Freedom"},
		{"mood_id":"15","mood_name":"Leisurely"},
		{"mood_id":"16","mood_name":"Lonesome"},
		{"mood_id":"17","mood_name":"Wedding"},
		{"mood_id":"18","mood_name":"Sad"},
		{"mood_id":"19","mood_name":"Passionate"}
	]
}

ActionScript Example

import com.adobe.serialization.json.JSON;
import flash.net.URLLoader;
import flash.events.Event;
import flash.events.IOErrorEvent;

private function loadCategories():void
{
	var requestURL:String = "https://developers.musicshake.com/api/categories?api_key=YOUR_API_KEY";
	
	var ul:URLLoader = new URLLoader();
	ul.addEventListener(IOErrorEvent.IO_ERROR, onURLLoaderError);
	ul.addEventListener(Event.COMPLETE, onURLLoaderComplete);
	
	try {
		ul.load(new URLRequest(requestURL));
	} catch (error:SecurityError) {
	}
}

private function onURLLoaderError(error:Error):void
{
}

private function onURLLoaderComplete(event:Event):void
{
	var o:Object = JSON.decode(event.target.data);
	
	for each (var genre:Object in o.genres) {
		trace("id=" + genre.genre_id + ", name="+genre.genre_name);
	}
	
	for each (var tempo:Object in o.tempos) {
		trace(tempo);
	}
	
	for each (var mood:Object in o.moods) {
		trace("id="+mood.mood_id + ", name="+mood.mood_name);
	}
}