Stations

A station is a collection of one or more user-supplied seeds. Artists or tracks can be used as seed. Based on the seeds Pandora decides which music to play.

Retrieve station list

Method:user.getStationList
Name Type Description
includeStationArtUrl boolean Includes “artUrl” field in result (optional)
stationArtSize string “W130H130” (optional)
includeAdAttributes boolean (optional)
includeStationSeeds boolean (optional)
includeShuffleInsteadOfQuickMix boolean (optional)
includeRecommendations boolean (optional)
includeExplanations boolean (optional)
{
   "userAuthToken": "XXX",
   "syncTime": XXX
}

Currently stationId and stationToken are the same.

QuickMix stations additionally include a list of station ids (quickMixStationIds) that are currently selected for the mix.

Name Type Description
stations.stationId string  
stations.stationName string  
stations.dateCreated.time int Number of milliseconds since Unix epoch
checksum string  
{
        "stat":"ok",
        "result":{
           "stations":[
              {
                 "suppressVideoAds":true,
                 "isQuickMix":true,
                 "stationId":"3914377363925265",
                 "stationDetailUrl":"https://www.pandora.com/login?target=%2Fstations%2Fa61985110ea3d6c6c8d8a9c038588b26425ba2910f7abf8b",
                 "isShared":false,
                 "dateCreated":{
                    "date":8,
                    "day":4,
                    "hours":22,
                    "minutes":44,
                    "month":10,
                    "nanos":241000000,
                    "seconds":46,
                    "time":1194590686241,
                    "timezoneOffset":480,
                    "year":107
                 },
                 "stationToken":"3914377363925265",
                 "stationName":"QuickMix",
                 "stationSharingUrl":"https://www.pandora.com/login?target=%2Fshare%2Fstation%2Fa61985110ea3d6c6c8d8a9c038588b26425ba2910f7abf8b",
                 "requiresCleanAds":true,
                 "allowRename":false,
                 "allowAddMusic":false,
                 "quickMixStationIds":[
                    "339646069607180561",
                    "339644480469281041"
                 ],
                 "allowDelete":false,
                 "allowEditDescription":false
              }
           ],
           "checksum":"99776ddd31ad798895578593e78e3691"
        }
     }

Check station list for modifications

Method:user.getStationListChecksum

To check if the station list was modified by another client the checksum can be fetched. No parameters are required for this request.

The response contains the new checksum.

Name Type Description
checksum string  
{
    "stat":"ok",
     "result":{
          "checksum":"99776ddd31ad798895578593e78e3691"
     }
 }

Add new station

New stations can be created by searching for an artist/song or using a track from a playlist.

Create

Method:station.createStation

Stations can either be created with a musicToken obtained by Search or trackToken from playlists (Retrieve playlist). The latter needs a musicType to specify whether the track itself or its artist should be used as seed.

Name Type Description
trackToken string See Retrieve playlist
musicType string “song” or “artist” (“song” for genre stations)
musicToken string See Search

Add seed

Method:station.addMusic

Search results can be used to add new seeds to an existing station.

Name Type Description
stationToken string Existing station, see Retrieve station list
musicToken string See Search
{
    "musicToken": "R1119",
    "stationToken": "1181753543028256237",
    "userAuthToken": "XXX",
    "syncTime": 1404912202
}
Name Type Description
seedId string Can be used to remove seed with Remove seed
{
    "stat": "ok",
    "result": {
        "artistName": "Foo Fighters",
        "musicToken": "3bcf3f314419f974",
        "seedId": "2123197691273031149",
        "artUrl": "http://cont-dc6-1.pandora.com/images/public/amg/portrait/pic200/drP900/P972/P97242B3S6P.jpg"
    }
}

Remove seed

Method:station.deleteMusic

Seeds can be removed from a station, except for the last one.

Name Type Description
seedId string See Retrieve extended station information and Add seed
{
    "seedId": "1230715903914683885",
    "userAuthToken": "XXX",
    "syncTime": 1404912023
}

This method does not return data.

Code Description
1032 Last seed cannot be removed

Rename station

Method:station.renameStation
Name Type Description
stationToken string Existing station, see Retrieve station list
stationName string New station name

Delete station

Method:station.deleteStation
Name Type Description
stationToken string Existing station, see Retrieve station list
{
    "stationToken": "374145764047334893",
    "userAuthToken": "XXX",
    "syncTime": 1404911699
}

No data is returned in response.

Retrieve extended station information

Method:station.getStation

Extended station information includes seeds and feedback.

Name Type Description
stationToken string  
includeExtendedAttributes bool  
{
    "stationToken": "374145764047334893",
    "includeExtendedAttributes": true,
    "userAuthToken": "XXX",
    "syncTime": 1404910732
}
Name Type Description
music object Station seeds, see Add seed
music.songs list Song seeds
music.artists list Artist seeds
feedback object Feedback added by Rate track
feedback.thumbsUp list  
feedback.thumbsDown list  
{
    "stat": "ok",
    "result": {
        "suppressVideoAds": false,
        "stationId": "374145764047334893",
        "allowAddMusic": true,
        "dateCreated": {
            "date": 15,
            "day": 6,
            "hours": 7,
            "minutes": 34,
            "month": 0,
            "nanos": 874000000,
            "seconds": 21,
            "time": 1295105661874,
            "timezoneOffset": 480,
            "year": 111
        },
        "stationDetailUrl": "https://www.pandora.com/login?target=%2Fstations%2Fc644756145fc3f5df1916901125ee697495159685ae39575",
        "artUrl": "http://cont-1.p-cdn.com/images/public/amz/5/2/8/5/075678235825_500W_498H.jpg",
        "requiresCleanAds": false,
        "stationToken": "374145764047334893",
        "stationName": "Winter Radio",
        "music": {
            "songs": [{
                "seedId": "428301990230109677",
                "artistName": "Tori Amos",
                "artUrl": "http://cont-sjl-1.pandora.com/images/public/amz/5/2/8/5/075678235825_130W_130H.jpg",
                "songName": "Winter",
                "musicToken": "87ef9db1c3f04330"
            }],
            "artists": [{
                "artistName": "Jason Derulo",
                "musicToken": "563f577e00d837a5",
                "seedId": "31525199612287328",
                "artUrl": "http://mediaserver-cont-sv5-1-v4v6.pandora.com/images/public/amg/portrait/pic200/drQ300/Q366/Q36675SDAPJ.jpg"
            }],
            "genres": [{
                "musicToken": "cc021b31a48b8acf",
                "genreName": "Today's Hits",
                "seedId": "31525199599467854"
            }]
        },
        "isShared": false,
        "allowDelete": true,
        "genre": ["Rock"],
        "isQuickMix": false,
        "allowRename": true,
        "stationSharingUrl": "https://www.pandora.com/login?target=%2Fshare%2Fstation%2Fc644756145fc3f5df1916901125ee697495159685ae39575",
        "allowEditDescription": true,
        "feedback": {
            "thumbsUp": [{
                "dateCreated": {
                    "date": 28,
                    "day": 5,
                    "hours": 13,
                    "minutes": 57,
                    "month": 2,
                    "nanos": 760000000,
                    "seconds": 49,
                    "time": 1396040269760,
                    "timezoneOffset": 420,
                    "year": 114
                },
                "albumArtUrl": "http://cont-1.p-cdn.com/images/public/amz/9/7/1/4/900004179_130W_130H.jpg",
                "musicToken": "d33dd0c199ebaf28425ba2910f7abf8b",
                "songName": "Hey Lover",
                "artistName": "Keri Noble",
                "feedbackId": "-7239441039566426643",
                "isPositive": true
            }],
            "totalThumbsUp": 20,
            "totalThumbsDown": 5,
            "thumbsDown": [{
                "dateCreated": {
                    "date": 28,
                    "day": 5,
                    "hours": 10,
                    "minutes": 43,
                    "month": 2,
                    "nanos": 637000000,
                    "seconds": 30,
                    "time": 1396028610637,
                    "timezoneOffset": 420,
                    "year": 114
                },
                "albumArtUrl": "http://cont-ch1-1.pandora.com/images/public/amz/9/0/5/1/724383771509_130W_130H.jpg",
                "musicToken": "5a0018da7876f6e7",
                "songName": "Talk Show Host",
                "artistName": "Radiohead",
                "feedbackId": "-7241622182873125395",
                "isPositive": false
            }]
        }
    }
}

Remove feedback

Method:station.deleteFeedback

Feedback added by Rate track can be removed from the station.

Name Type Description
feedbackId string See Retrieve extended station information
{
    "feedbackId": "3738252050522320365",
    "userAuthToken": "XXX",
    "syncTime": 1404910760
}

This method has does not return data.

Predefined stations

Method:station.getGenreStations

Pandora provides a list of predefined stations (“genre stations”). The request has no parameters.

Each station belongs to one category, usually a genre name. stationToken can be used as musicToken to create a new station with Create.

Name Type Description
categories array List of categories
categories.stations array List of stations in category
categories.stations.stationToken string Actually a musicToken, see Create
catogories.categoryName string Category name
{
    "stat": "ok",
    "result": {
        "categories": [{
            "stations": [{
                "stationToken": "G165",
                "stationName": "90s Alternative ",
                "stationId": "G165"
            }],
            "categoryName": "Alternative"
        }]
    }
}

Checksum

Method:station.getGenreStationsChecksum

See Check station list for modifications.

Name Type Description
includeGenreCategoryAdUrl bool (optional)
Name Type Description
checksum string  

Share Station

Method:station.shareStation

Shares a station with the specified email addresses. that emails is a string array

Name Type Description
stationId string See Retrieve station list
stationToken string See Retrieve station list
emails string[] A list of emails to share the station with

Transform shared station

Method:station.transformSharedStation

Stations created by other users are added as reference to the user’s station list. These stations cannot be modified (i.e. rate tracks) unless transformed.

Name Type Description
stationToken string See Retrieve station list

Modify QuickMix

Method:user.setQuickMix
Name Type Description
quickMixStationIds array List of station id’s (strings) (see Retrieve station list)
{
    "quickMixStationIds": ["404958383414849005", "403387202773593581"],
    "userAuthToken": "XXX",
    "syncTime": 1338211186
}

The response contains no data.