Grooveshark Methods

This page describes each of the known Grooveshark methods supported. This list is incomplete, please help by adding to it any methods you find.

Please Note: ''These methods are for the internal API only, and will NOT work on the offical api.grooveshark.com domain. They do NOT have any prefixes like the official API.''

addSongsToQueue
URL: http://cowbell.grooveshark.com/service.php?addSongsToQueue

(depreciated from: http://cowbell.grooveshark.com/service.php?addSongsToQueueExt)

This method adds songs to the queue of songs to be played.
 * Parameters:
 * songQueueID: unknown, integer number specifying the queue to add to
 * songIDsArtistIDs': an array of objects, specified below which determine which songs to add to the queue
 * artistID: the artist ID of the song
 * songQueueSongID: the position of the song in the queue (integer, starting at 1)
 * source: the source of this request, usually set to string "user" but may be set to "sponsored" when using Grooveshark Radio.
 * songID: the song ID
 * Response :
 * true or false

artistGetSongs
URL: http://cowbell.grooveshark.com/more.php?artistGetSongs

This method fetches the info for all the songs by the artist
 * Parameters:
 * offset: offset for the search result
 * artistID: the artist ID to get songs for
 * isVerified: unknown. set to 1 for some artists, 0 for others.

artistGetSongsEx
URL: http://grooveshark.com/more.php?artistGetSongsEx

This method fetches the info for all the songs by the artist
 * Parameters:
 * artistID: the artist ID to get songs for

artistGetFans
URL: http://cowbell.grooveshark.com/more.php?artistGetFans

This method fetches Grooveshark users that are 'fans' of the artist specified
 * Parameters:
 * offset: offset for the search result
 * artistID: the artist ID to get songs for

artistGetSimilarArtists
URL: http://cowbell.grooveshark.com/more.php?artistGetSimilarArtists

This method retrieves artist ids, names and pictures that Grooveshark consider to be similar to the artist specified by the given ID.
 * Parameters:
 * artistID: the ID of the artist to lookup

albumGetAllSongs
This method fetches all the songs in given album
 * Parameters:
 * albumID: the album ID to get songs from

authenticateUserEx
URL: https://cowbell.grooveshark.com/service.php?authenticateUserEx

This method logs in a user (with specified username and password) to the Grooveshark service.
 * Parameters:
 * password: the password of the user (cleartext)
 * username: the username of the user


 * The response of this method contains:
 * userID: the user ID number of the user
 * username: the username
 * isPremium: a 0/1 integer representing if the user is a premium user or not.
 * autoAutoplay: unknown, boolean parameter.
 * authRealm: unknown, integer parameter.
 * favouriteLimit: unknown, typically 500 for normal users
 * librarySizeLimit: unknown, typically 5000 for normal users
 * uploadsEnabled: a 0/1 integer representing if uploads are enabled for this user.
 * themeID: theme for the user, string (may be empty).

autoplayGetSong
URL: http://cowbell.grooveshark.com/more.php?autoplayGetSong

This method gets information for a single song based on supplied recommendations, and is used in Grooveshark Radio.
 * Parameters:
 * frowns: array of songIDs the user has frowned
 * recentArtists: array of recent artistIDs
 * seedArtistWeightRange
 * songIDsAlreadySeen
 * secondaryArtistWeightModifier
 * frowns
 * maxDuration
 * minDuration
 * country
 * weightModifierRange
 * songQueueID
 * seedArtists
 * Response:
 * SongID
 * AlbumID
 * ArtistID
 * ArtistName
 * AlbumName
 * CoverArtUrl
 * EstimateDuration
 * SponseredAutoplayID
 * Flags
 * SongName
 * source

autoplayVoteDownEx
URL: http://cowbell.grooveshark.com/service.php?autoplayVoteDownEx

This method votes "Frown" in Grooveshark Radio. It doesn't really do anything other than stop the current song so it should probably be removed.
 * Parameters:
 * songQueueID: the ID of the song queue
 * songQueueSongID: the position of the song in the queue
 * Response: null

autoplayVoteUpEx
URL: http://cowbell.grooveshark.com/service.php?autoplayVoteUpEx

This method votes "Smile" in Grooveshark Radio
 * Parameters:
 * songQueueID: the ID of the song queue
 * songQueueSongID: the position of the song in the queue
 * Response: null

autoplayRemoveVoteDownEx
URL: http://cowbell.grooveshark.com/service.php?autoplayRemoveVoteDownEx

This method removes the "Frown" vote in Grooveshark Radio
 * Parameters:
 * songQueueID: the ID of the song queue
 * songQueueSongID: the position of the song in the queue
 * Response: null

autoplayRemoveVoteUpEx
URL: http://cowbell.grooveshark.com/service.php?autoplayRemoveVoteUpEx

This method removes the "Smile" vote in Grooveshark Radio
 * Parameters:
 * songQueueID: the ID of the song queue
 * songQueueSongID: the position of the song in the queue
 * Response: null

broadcastSong
URL: https://cowbell.grooveshark.com/service.php?broadcastSong

This method shares a song to twitter or other sites.
 * Parameters:
 * message: Twitter message
 * link: tinysong url
 * username
 * password (cleartext)
 * songID
 * service: "twitter"
 * saveCredentials: true/false
 * Response: result true/false

createPlaylistEx
URL: http://cowbell.grooveshark.com/service.php?createPlaylistEx

This method creates a new Playlist.
 * Parameters:
 * playlistAbout: playlist description
 * playlistName: playlist name
 * songIDs: array of initial song IDs to add to the playlist, may be blank
 * Response: ID number of created playlist

createWidgetIDFromSongIDs
URL: http://cowbell.grooveshark.com/service.php?createWidgetIDFromSongIDs

This method creates a widget from specified song IDs.
 * Parameters:
 * songIDs: array of song IDs to add to the widget.
 * Response:
 * widgetID

deletePlaylist
URL: http://cowbell.grooveshark.com/service.php?deletePlaylist

Deletes a playlist
 * Parameters:
 * playlistID
 * Response:
 * true or false

favorite
URL: http://cowbell.grooveshark.com/service.php?favorite

This method adds a specified song to the logged in user's favourites.
 * Parameters:
 * id: the ID you are favouring
 * what: what you are favouring (e.g. "Song", "Album", "Artist")
 * The inverse function of this is unFavorite

forgotPassword
URL: http://cowbell.grooveshark.com/service.php?forgotPassword

This method resets the logged in user's password in the case of a forgotten password.

getAutoCoolPlaylistName
URL: http://cowbell.grooveshark.com/service.php?getAutoCoolPlaylistName

Unknown.

getAffiliateDownloadURLs
URL: http://cowbell.grooveshark.com/service.php?getAffiliateDownloadURLs

This method retrieves the "Buy from iTunes" and "Buy from Amazon.com" links for a specified song.
 * Parameters:
 * songName: the song name (text, not ID)
 * artistName: the artist name (text, not ID)
 * Response:
 * iTunes
 * url: the iTunes store URL
 * amazon
 * url: the Amazon.com store URL

getArtistAutocomplete
URL: http://cowbell.grooveshark.com/service.php?getArtistAutocomplete

Unknown.

getArtistByID
URL: http://cowbell.grooveshark.com/service.php?getArtistByID

This method fetches the name and picture (if available) of the artist specified by ID
 * Parameters:
 * artistID: the ID of the artist to lookup

getArtistsForTag [VIP]
URL: http://cowbell.grooveshark.com/service.php?getArtistsForTag 

This method fetches artists that match a specified "tag", and is used in Grooveshark VIP Tag Radio
 * Parameters:
 * tagID: the ID of the tag

The following tag IDs are known: 3 - Rap 4 - R&B 12 - Rock 13 - Alternative 17 - Metal 29 - Hip Hop 43 - Jazz 56 - Pop 67 - Electronica 69 - Trance 75 - Ambient 80 - Country 96 - Bluegrass 102 - Oldies 111 - Punk 122 - Folk 136 - Indie 160 - Reggae 191 - Experimental 230 - Blues 528 - Latin 750 - Classical 3529 - Classic Rock


 * The Response is an array of objects containing the artist ID and name for each.

getCombinedFeedData
URL: http://cowbell.grooveshark.com/more.php?getCombinedFeedData

Gets information on recent events by specfied users, displayed in the offical client Community tab.
 * Parameters:** loggedInUserID


 * day: the date in yyyymmdd format
 * userIDs: an array of user IDs to get feed data for (this is usually the people you are following or the most recently active)

getCommunicationToken
URL: https://cowbell.grooveshark.com/service.php

This method retrieves the local token for the session which is used to generate tokens for each request.
 * Official client uses HTTPS.
 * Uses 'session' in JSON header rather than token.
 * Parameters:
 * secretKey: an MD5 hash of the session ID

getContactInfoForFollowedUsers
URL: http://cowbell.grooveshark.com/service.php?getArtistByID

Unknown.
 * Parameters:
 * null

getCountryFromRequestIP
URL: http://cowbell.grooveshark.com/more.php?getCountryFromRequestIP

Unknown.
 * Parameters: null
 * Response:
 * country (however sometimes may be simply "-", indicating this method is not in use)

getEmailAddress
URL: http://cowbell.grooveshark.com/more.php?getEmailAddress

Unknown.

getFavorites
URL: http://cowbell.grooveshark.com/more.php?getFavourites

This method gets the user's favourite songs (or artists, etc. as specified by ofWhat)
 * Parameters:
 * userID: grooveshark user ID of user to get favourites of
 * ofWhat: what type of favourites to get (e.g. "Songs")

getDetailsForBroadcast
URL: http://cowbell.grooveshark.com/service.php?getDetailsForBroadcast

This method retrieves some information such as the tinysong URL in preparation for sharing it with Twitter or Facebook.
 * Parameters:
 * songID
 * Response:
 * tinySongURL
 * facebookShareURL
 * stumbleuponURL
 * savedLogins
 * twitter
 * username
 * password - yes they store your password, and even send it back in cleartext!
 * defaultMessages
 * twitter: "listening to __SONG_NAME__ by __ARTIST__ on Grooveshark"

getFavouriteIDs
URL: http://cowbell.grooveshark.com/more.php?getFavouriteIDs

This method gets the IDs of the user's favourite songs (or artists, etc. as specified by ofWhat)
 * Parameters:
 * userID: grooveshark user ID of user to get favourites of
 * ofWhat: what type of favourites to get (e.g. "Songs", "Artists", "Albums", "Playlists", "Users")

getPlaylistByID
URL: http://cowbell.grooveshark.com/service.php?getPlaylistByID

Unknown.

getQueueSongListFromSongIDs
URL: http://cowbell.grooveshark.com/service.php?getQueueSongListFromSongIDs


 * Unknown.
 * Parameters:
 * songIDs: an array of Song IDs.

getRecentlyActiveUsers
URL: http://cowbell.grooveshark.com/more.php?getRecentlyActiveUsers

This method gets an array of recently active logged-in users in the Grooveshark community.


 * Parameters: empty object
 * Response contains the day, and an array of user objects.

getSimilarUsers
URL: http://cowbell.grooveshark.com/more.php?getSimilarUsers

Unknown.

getSearchResults
URL: http://cowbell.grooveshark.com/more.php?getSearchResults

Theres another method, called getSearchResultsEx, which is used in FF (catched with live http headers).

Seems that now (19.04.12) the method to search for songs is called getResultsFromSearch. There are also two additional parameters, guts - which is set to 0 all the time - and ppOverride - which is set to false all the time.

Sample Request:

{"header":{"clientRevision":"20100412.13","token":"xxx","uuid":"xxx","client":"gslite","session":"xxx","country":{"CC2":"0","CC1":"18014398509481984","ID":"55","CC4":"0","CC3":"0"}},"parameters":{"query":"someArtist","type":"Songs"},"method":"getSearchResultsEx"}

This method searches for a song using a provided search term
 * Parameters:
 * query: the search query
 * type: the search type (types are 'Songs', 'Artists', 'Albums' or 'Playlists')

getSongForAutoplayExt
URL: http://cowbell.grooveshark.com/service.php?getSongForAutoplayExt

Unknown, used by Grooveshark Radio. This is the first method called by the official client when the "Radio" button is clicked.
 * Parameters:
 * maxDuration: unknown, integer
 * secondaryArtistWeightModifier: unknown, 1-digit decimal between 0 and 1.
 * frowns: unknown, array
 * seedArtistWeightRange: array of two items, lower and upper bound.
 * seeds: object, with name-key pairs (Unknown)
 * songQueueID: the song queue ID
 * minDuration: unknown, integer
 * recentArtists: an array of recent Artist IDs
 * weightModifierRange: array of two items, lower and upper bound.
 * recentSongs: an array of recent Song IDs
 * Response: (Returns a single song)
 * SongID
 * AlbumID
 * ArtistID
 * ArtistName
 * AlbumName
 * CoverArtUrl: a \ escaped string of the absolute URL to the cover art.
 * EstimateDuration
 * SponseredAutoplayID
 * Flags
 * SongName
 * source: set to "sponsored"

getStationByID
URL: http://cowbell.grooveshark.com/more.php?getStationByID

Unknown.

getStreamKeyFromSongID
URL: http://cowbell.grooveshark.com/more.php?getStreamKeyFromSongId

'''NOTE: This method has been replaced by getStreamKeyFromSongIDEx. This method no longer works in the current form, use getStreamKeyFromSongIDEx instead.'''

This method gets the streamKey needed to request the download link to the MP3.
 * Parameters:
 * mobile: whether you are using a mobile client or desktop client (true/false). official client sets this to false but will still work if omitted entirely. Unknown if a different quality MP3 is retrieved or not.
 * prefetch: whether or not the song is being pre-fetched (i.e. downloaded before needed). usually safe to set this to false
 * songID: the songID of the song you want to download.
 * Response:
 * streamKey: a 20-character hex string to POST to the server specified in streamServer
 * streamServer: the server to POST to.
 * streamServerID: unknown, integer.

POSTing to the streamServer uses regular application/x-www-form-urlencoded NOT json, and is simply the string "streamKey=" followed by the streamKey.

getStreamKeyFromSongIDEx
URL: http://cowbell.grooveshark.com/more.php?getStreamKeyFromSongIdEx

This method gets the streamKey needed to request the download link to the MP3. POSTing to the streamServer uses regular application/x-www-form-urlencoded NOT json, and is therefore simply the string "streamKey=" followed by the streamKey.
 * Parameters:
 * mobile: whether you are using a mobile client or desktop client (true/false). official client sets this to false but will still work if omitted entirely. Unknown if a different quality MP3 is retrieved or not.
 * prefetch: whether or not the song is being pre-fetched (i.e. downloaded before needed). usually safe to set this to false
 * songID: the songID of the song you want to download.
 * country: the value given on the listen.grooveshark.com page for country (must be urldecoded to an assocative array)
 * Response:
 * streamKey: a 20-character hex string to POST to the server specified in streamServer
 * ip: the server to POST to. (this used to be called streamServer)
 * streamServerID: unknown, integer.
 * uSecs: the time, in microseconds, which the streamkey will be active for.
 * filetoken: same as getTokenForSong

Sample Request: (HTTP headers included, linebreaks and indents/whitespace added to body for readability) POST http://cowbell.grooveshark.com/more.php?getStreamKeyFromSongIDEx HTTP/1.1 Host: cowbell.grooveshark.com Connection: keep-alive User-Agent: GroovesharkExampleClient/0.1 Referer: http://listen.grooveshark.com/main.swf?cowbell=9acaa7e25f58c200e80d8ac9c35bdc38 Content-Length: 442 Content-Type: application/json Cookie: PHPSESSID=6f87ece76f3d64f11c08e709abb3dac1 { "method":"getStreamKeyFromSongIDEx", "header":{ "clientRevision":"20100412.09", "country":{"CC1":"16384","CC3":"0","ID":"15","CC2":"0","CC4":"0"}, "uuid":"89102AE8-7CCB-B84D-5ACC-78A0085A2E83", "token":"3cf9fc809d537633e36ff9d1d337baab18f46b3a01e37e", "session":"6f87ece76f3d64f11c08e709abb3dac1", "client":"gslite" }, "parameters":{ "country":{"CC1":"16384","CC3":"0","ID":"15","CC2":"0","CC4":"0"}, "mobile":false, "songID":23559465, "prefetch":false } }

Sample Response: (GZIP-decoded, linebreaks and indents/whitespace added to body for readability) {  "header":{ "session":"6f87ece76f3d64f11c08e709abb3dac1", "serviceVersion":"201001261", "prefetchEnabled":true },  "result":{ "uSecs":"223000000", "FileToken":"2sbggh", "streamKey":"40b1020c3a0643eaaca2", "streamServerID":512, "ip":"stream29akm.grooveshark.com" } }

getTokenForSong
URL: http://cowbell.grooveshark.com/more.php?getTokenForSong

This method is called when you try to "share" a song in the offical player, it is not known the exact functionality of this method.


 * Parameters:
 * songID: the songID
 * Response:
 * token: a 6 character token response, used in the direct URL

getUserByID
URL: http://cowbell.grooveshark.com/more.php?getUserByID

Parameters: userID

Response


 * User


 * UserID


 * Username


 * Picture


 * TSAdded


 * City


 * State


 * Country


 * IsPremium


 * Sex

getUserSettings
URL: http://cowbell.grooveshark.com/more.php?getUserSettings

This method retrieve's the currently logged in user's settings.
 * Parameters: null
 * Response:
 * userInfo
 * FName: first name
 * LName: last name
 * Email: email address
 * Country: two-letter country code
 * Zip: zip/post code
 * Sex: M/F
 * NotificationEmailPrefs: 0 or 1
 * TSDOB: Date of birth in YYYY-MM-DD format
 * FeedsDisabled: null?

getUserSidebar
URL: http://cowbell.grooveshark.com/more.php?getUserSidebar

This method retrieve's a user's customisations for their sidebar (used on VIP Grooveshark Preview)
 * Parameters:
 * None. Use an empty JSON array {}
 * Response :
 * playlists: an array (in order) of the playlists to display in the sidebar
 * stations: an array of the stations to display in the sidebar
 * subscribedPlaylists: an array of the subscribed playlists to display in the sidebar

initiateQueueEx
URL: http://cowbell.grooveshark.com/service.php?initiateQueueEx

returns the queue ID used in other methods in the official client.
 * Parameters:
 * NONE. Use null.

initiateSession
used by tinysong player to get session parameter but can be used by other clients (it's much easier than parsing the html for the session parameter)

logoutUser
URL: https://cowbell.grooveshark.com/service.php?logoutUser

Parameters set to the string "service.php"

logTargetedThemeImpression
URL: http://cowbell.grooveshark.com/more.php?logTargetedThemeImpression

This method logs when the user is forced into a targeted Theme (e.g. Theme Advertisement)


 * Parameters:
 * themeID

markSongAsDownloaded
URL: http://cowbell.grooveshark.com/more.php?markSongAsDownloaded

'''Note: There is also a method markSongAsDownloadedEx which may replace this function. They seem to be identical at the moment, except the new method returns simply null (as of 2010/5/9)'''

This method is used in the offical client to tell Grooveshark that the client is downloading the MP3. It does NOT mean that the user has started playing it, as this method is still called even if the song has been prefetched.

This method is not required, however it may consist of the heuristics Grooveshark may use to find unauthorised clients.


 * Parameters:
 * streamServerID: the streamServerID specified by Grooveshark_Methods
 * streamKey: the streamKey, previously specified
 * songID: the original song ID sent to Grooveshark_Methods
 * Response:
 * Return: set to true

markSongComplete
URL: http://cowbell.grooveshark.com/more.php?markSongComplete

This method is used in the offical client to tell Grooveshark that the client is downloading the MP3. It does NOT mean that the user has started playing it, as this method is still called even if the song has been prefetched.

This method is not required, however it may consist of the heuristics Grooveshark may use to find unauthorised clients.

Sample JSON request dumped from browser client: { 	"method" : "markSongComplete", "header" : { "country" : { "DMA" : 0, "CC2" : 0, "ID" : 22, "CC3" : 0, "IPR" : 0, "CC1" : 2097152, "CC4" : 0 }, 		"clientRevision" : "20120830", "privacy" : 0, "token" : "TOKEN HERE", "session" : "SESSION HERE", "client" : "jsqueue", }, 	"parameters" : { "songID" : 7285078, "streamKey" : "STREAMKEY HERE", "song" : { "artistName" : "Vampire Weekend", "tagIDs" : [3773, 7216], "albumName" : "Vampire Weekend", "songName" : "A-Punk", "token" : "1MV5yR", "songID" : 7285078, "albumID" : 233477, "artistID" : 7587, "artFilename" : "233477.jpg" }, 		"streamServerID" : "stream54-he.grooveshark.com", "user" : { "picture" : null, "isPremium" : false, "userID" : -1, "username" : null }, 		"context" : { "type" : "unknown", "data" : { "client" : "jsqueue" } 		} 	} }
 * Parameters:
 * streamServerID: the streamServerID specified by Grooveshark_Methods
 * streamKey: the streamKey, previously specified
 * songID: the original song ID sent to Grooveshark_Methods
 * Response:
 * Return: set to null

markSongQueueSongPlayed
URL: http://cowbell.grooveshark.com/more.php?markSongQueueSongPlayed

This method is used in the offical client to tell Grooveshark that the client has finished playing a song in the queue.

This method is not required, however it may consist of the heuristics Grooveshark may use to find unauthorised clients.


 * Parameters:
 * songQueueID: unknown
 * songQueueSongID: integer of the position in the queue, starting from 1.
 * streamServerID: the streamServerID specified by Grooveshark_Methods
 * streamKey: the streamKey, previously specified
 * songID: the original song ID sent to Grooveshark_Methods
 * Response:
 * Return: set to null

markSongSkipped
URL: http://cowbell.grooveshark.com/more.php?markSongSkipped

This method is used in the offical client to tell Grooveshark that the client clicked "skip" to skip the song.

This method is not required, however it may consist of the heuristics Grooveshark may use to find unauthorised clients.


 * Parameters:
 * songQueueID: the ID of the song queue
 * songQueueSongID: the position of the song in the queue
 * Response: null

markStreamKeyOver30Seconds
URL: http://cowbell.grooveshark.com/service.php?markStreamKeyOver30Seconds

This method is used in the offical client to tell Grooveshark that the client has played at least 30 seconds of the song.

This method is not required, however it may consist of the heuristics Grooveshark may use to find unauthorised clients.


 * Parameters:
 * songQueueID: unknown
 * songQueueSongID: integer of the position in the queue, starting from 1.
 * streamServerID: the streamServerID specified by Grooveshark_Methods
 * streamKey: the streamKey, previously specified
 * songID: the original song ID sent to Grooveshark_Methods
 * Response:
 * true or false

overwriteExistingPlaylist
URL: http://cowbell.grooveshark.com/service.php?overwriteExistingPlaylist

Changes a playlist's songs
 * Parameters:
 * playlistID: the ID of the playlist to change
 * songIDs: the new array of all song IDs in the playlist
 * Response:
 * true or false

playlistGetFans
URL: http://cowbell.grooveshark.com/more.php?playlistGetFans

Gets fans of a playlist.


 * Parameters:
 * playlistID

playlistGetSongs
URL: http://cowbell.grooveshark.com/more.php?playlistGetSongs

Gets songs of a playlist.


 * Parameters:
 * playlistID

popularGetSongs
URL: http://cowbell.grooveshark.com/more.php?popularGetSongs

This method gets the information on the most popular songs (usually Top 500)
 * Parameters:
 * type: (OPTIONAL) set to 'monthly' for top monthly songs, otherwise omit to get top daily songs.

registerUserEx
URL: http://cowbell.grooveshark.com/service.php?registerUserEx

This method registers a new user to Grooveshark. The parameters are yet to be documented.

removeSongsFromQueueExte
URL: http://cowbell.grooveshark.com/service.php?removeSongsFromQueueExte

This method removes specified songs from the song queue
 * Parameters:
 * userRemoved: set to true (unless using Grooveshark radio)
 * songQueueSongIDs: an array of where the songs to remove are in the queue (starting from 1)
 * songQueueID: the song queue ID

renamePlaylist
URL: http://cowbell.grooveshark.com/service.php?renamePlaylist

Renames a playlist.
 * Parameters:
 * playlistID
 * playlistName

reportBroadcast
URL: http://cowbell.grooveshark.com/service.php?reportBroadcast

Unknown.

setPlaylistAbout
URL: http://cowbell.grooveshark.com/service.php?setPlaylistAbout

Changes a playlist's description
 * Parameters:
 * playlistID
 * about: the new description

updateStreamKeyLength
URL: http://cowbell.grooveshark.com/service.php?updateStreamKeyLength

Unknown, but very interesting =)
 * Parameters:
 * streamServerID
 * songID
 * streamKey
 * length a float value with lots of decimals
 * Response:
 * true or false

userAddSongToLibrary
URL: http://cowbell.grooveshark.com/more.php?userAddSongToLibrary

Unknown.

userGetFans
URL: http://cowbell.grooveshark.com/more.php?userGetFans

Unknown.

userGetSongsInLibrary
URL: http://cowbell.grooveshark.com/more.php?userGetSongsInLibrary

This method gets a Grooveshark user's Library of music
 * Parameters:
 * page: unknown. assumed for pagination of results
 * userID: the numerical User ID for the Grooveshark user in question.

userGetPlaylists
URL: http://cowbell.grooveshark.com/more.php?userGetPlaylists

This method gets a Grooveshark user's playlists
 * Parameters:
 * userID: the numerical User ID for the Grooveshark user in question.

userGetLibraryTSModified
URL: http://cowbell.grooveshark.com/more.php?userGetLibraryTSModified

Unknown.
 * Parameters:
 * userID: the numerical User ID for the Grooveshark user in question.

unFavorite
URL: http://cowbell.grooveshark.com/service.php?unFavorite

This method removes a specified song from the logged in user's favourites.
 * Parameters:
 * id: the ID you are favouring
 * what: what you are favouring (e.g. "Song", "Album", "Artist")
 * The inverse function of this is favorite

updateLastfmService
URL: http://cowbell.grooveshark.com/more.php?updateLastfmService

This method updates the token used to comminicate with Last.fm just after Grooveshark has been authorised to use your Last.fm account
 * Parameters:
 * token: the Last.fm auth token
 * flagsRemove: integer/boolean, unknown
 * username: text, unknown which username is used
 * session: the Last.fm session key
 * flagsAdd: integer/boolean, unknown
 * Response:
 * success, boolean true/false.