Skip to content

Instantly share code, notes, and snippets.

@nlowe
Created August 27, 2020 08:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nlowe/f4e221120dcb10965536b3d6a2c0653e to your computer and use it in GitHub Desktop.
Save nlowe/f4e221120dcb10965536b3d6a2c0653e to your computer and use it in GitHub Desktop.
Pandora: /api/v4/catalog/getDetails
{
"pandoraId":"AR:175180"
}
{
"annotations":{
"TR:376307":{
"name":"The Templar Flame",
"sortableName":"Templar Flame, The",
"duration":221,
"trackNumber":7,
"icon":{
"dominantColor":"18366c",
"artId":"images/public/int/6/2/5/7/727361137526",
"artUrl":"images/public/int/6/2/5/7/727361137526_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:28078",
"albumName":"Chapter V: Unbent, Unbowed, Unbroken",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/chapter-5-unbent-unbowed-unbroken/the-templar-flame/TRr3Zm4XPrxwmn2",
"hasRadio":true,
"modificationTime":1598456148585,
"slugPlusPandoraId":"/hammerfall/chapter-5-unbent-unbowed-unbroken/the-templar-flame/TR:376307",
"pandoraId":"TR:376307",
"type":"TR",
"scope":"core"
},
"TR:376309":{
"name":"Take The Black",
"sortableName":"Take The Black",
"duration":286,
"trackNumber":9,
"icon":{
"dominantColor":"18366c",
"artId":"images/public/int/6/2/5/7/727361137526",
"artUrl":"images/public/int/6/2/5/7/727361137526_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:28078",
"albumName":"Chapter V: Unbent, Unbowed, Unbroken",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/chapter-5-unbent-unbowed-unbroken/take-the-black/TR6mV5Kk36hdKp9",
"hasRadio":true,
"modificationTime":1597964066653,
"slugPlusPandoraId":"/hammerfall/chapter-5-unbent-unbowed-unbroken/take-the-black/TR:376309",
"pandoraId":"TR:376309",
"type":"TR",
"scope":"core"
},
"AR:175180":{
"name":"Hammerfall",
"sortableName":"Hammerfall",
"trackCount":207,
"albumCount":39,
"icon":{
"dominantColor":"48515a",
"artId":"images/0e/87/ad/94/4ede4fb3a4a7fd4053fabf13/",
"artUrl":"images/0e/87/ad/94/4ede4fb3a4a7fd4053fabf13/_500W_500H.jpg"
},
"shareableUrlPath":"/artist/hammerfall/ARxJqrfnKbkfrd9",
"twitterHandle":"HammerFall",
"hasRadio":true,
"modificationTime":1598511435466,
"stationFactoryId":"SF:16722:175180",
"slugPlusPandoraId":"/hammerfall/AR:175180",
"collaboration":false,
"primaryArtists":[
],
"variousArtist":false,
"megastar":false,
"hasTakeoverModes":false,
"pandoraId":"AR:175180",
"type":"AR",
"scope":"core"
},
"AR:731":{
"name":"Primal Fear",
"sortableName":"Primal Fear",
"trackCount":201,
"albumCount":31,
"icon":{
"dominantColor":"4e4542",
"artId":"images/3a/96/7e/b3/585f4f5bb2e80acc008f2727/",
"artUrl":"images/3a/96/7e/b3/585f4f5bb2e80acc008f2727/_500W_500H.jpg"
},
"shareableUrlPath":"/artist/primal-fear/ARcK6fjrp95kcrJ",
"hasRadio":true,
"modificationTime":1598513628355,
"stationFactoryId":"SF:16722:731",
"slugPlusPandoraId":"/primal-fear/AR:731",
"collaboration":false,
"primaryArtists":[
],
"variousArtist":false,
"megastar":false,
"hasTakeoverModes":false,
"pandoraId":"AR:731",
"type":"AR",
"scope":"core"
},
"AL:28023":{
"name":"Crimson Thunder",
"sortableName":"Crimson Thunder",
"releaseDate":"2019-03-20T00:00:00.000-07:00",
"duration":3085,
"trackCount":12,
"isCompilation":false,
"icon":{
"dominantColor":"de964b",
"artId":"images/60/28/f9/b4/864c4b369b517af76d346ea5/",
"artUrl":"images/60/28/f9/b4/864c4b369b517af76d346ea5/_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:375505",
"TR:375506",
"TR:375507",
"TR:375508",
"TR:375509",
"TR:375510",
"TR:375511",
"TR:375512",
"TR:375513",
"TR:375514",
"TR:375515",
"TR:375516"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/crimson-thunder/AL5z2nXrk396Jzc",
"modificationTime":1597186561398,
"slugPlusPandoraId":"/hammerfall/crimson-thunder/AL:28023",
"hasRadio":true,
"releaseType":"OriginalAlbum",
"listenerReleaseType":"Album",
"pandoraId":"AL:28023",
"type":"AL",
"scope":"core"
},
"AL:102917":{
"name":"Masterpieces",
"sortableName":"Masterpieces",
"releaseDate":"2008-06-27T00:00:00.000-07:00",
"duration":4019,
"trackCount":18,
"isCompilation":false,
"icon":{
"dominantColor":"4e1b09",
"artId":"images/public/int/7/2/4/2/727361182427",
"artUrl":"images/public/int/7/2/4/2/727361182427_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:1176196",
"TR:1176197",
"TR:1176198",
"TR:1176199",
"TR:1176200",
"TR:1176201",
"TR:1176202",
"TR:1176203",
"TR:1176204",
"TR:1176205",
"TR:1176206",
"TR:1176207",
"TR:1176208",
"TR:1176209",
"TR:1176210",
"TR:1176211",
"TR:1176212",
"TR:1176213"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/masterpieces/ALKKddkqJPw56dm",
"modificationTime":1586797640143,
"slugPlusPandoraId":"/hammerfall/masterpieces/AL:102917",
"hasRadio":true,
"releaseType":"OriginalAlbum",
"listenerReleaseType":"Album",
"pandoraId":"AL:102917",
"type":"AL",
"scope":"core"
},
"AR:202308":{
"name":"Iron Savior",
"sortableName":"Iron Savior",
"trackCount":149,
"albumCount":19,
"icon":{
"dominantColor":"5a2103",
"artId":"images/07/ca/b6/a1/d9ce432198aff10c0f43c9d1/",
"artUrl":"images/07/ca/b6/a1/d9ce432198aff10c0f43c9d1/_500W_500H.jpg"
},
"shareableUrlPath":"/artist/iron-savior/ARgXtckf55bVx24",
"hasRadio":true,
"modificationTime":1598470010653,
"stationFactoryId":"SF:16722:202308",
"slugPlusPandoraId":"/iron-savior/AR:202308",
"collaboration":false,
"primaryArtists":[
],
"variousArtist":false,
"megastar":false,
"hasTakeoverModes":false,
"pandoraId":"AR:202308",
"type":"AR",
"scope":"core"
},
"AL:1190131":{
"name":"Glory to the Brave 20 Year Anniversary Edition",
"sortableName":"Glory to the Brave 20 Year Anniversary Edition",
"releaseDate":"2019-03-20T00:00:00.000-07:00",
"duration":5668,
"trackCount":18,
"isCompilation":false,
"icon":{
"dominantColor":"b74b03",
"artId":"images/public/int/0/6/5/3/727361403560",
"artUrl":"images/public/int/0/6/5/3/727361403560_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:11090201",
"TR:11090215",
"TR:11090193",
"TR:11090213",
"TR:11090207",
"TR:11090199",
"TR:11090217",
"TR:11090197",
"TR:11090214",
"TR:11090195",
"TR:11090205",
"TR:11090191",
"TR:11090203",
"TR:11090220",
"TR:11090218",
"TR:11090211",
"TR:11090184",
"TR:11090209"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/glory-to-the-brave-20-year-anniversary-edition/ALgdg4JvbKrKZvq",
"modificationTime":1587470804926,
"slugPlusPandoraId":"/hammerfall/glory-to-the-brave-20-year-anniversary-edition/AL:1190131",
"hasRadio":true,
"releaseType":"Deluxe",
"listenerReleaseType":"Album",
"pandoraId":"AL:1190131",
"type":"AL",
"scope":"core"
},
"AR:172792":{
"name":"DragonForce",
"sortableName":"DragonForce",
"trackCount":117,
"albumCount":19,
"icon":{
"dominantColor":"ab42a2",
"artId":"images/4d/23/47/48/82e647bba97d0481db3ba7d0/",
"artUrl":"images/4d/23/47/48/82e647bba97d0481db3ba7d0/_500W_500H.jpg"
},
"shareableUrlPath":"/artist/dragonforce/ARkcfhghq3hPqrk",
"twitterHandle":"DragonForce",
"hasRadio":true,
"modificationTime":1598472721191,
"stationFactoryId":"SF:16722:172792",
"slugPlusPandoraId":"/dragonforce/AR:172792",
"collaboration":false,
"primaryArtists":[
],
"variousArtist":false,
"megastar":false,
"hasTakeoverModes":false,
"pandoraId":"AR:172792",
"type":"AR",
"scope":"core"
},
"AR:354591":{
"name":"Powerwolf",
"sortableName":"Powerwolf",
"trackCount":192,
"albumCount":27,
"icon":{
"dominantColor":"7b2d00",
"artId":"images/77/c1/a9/5f/219648cbaa1f48342966f561/",
"artUrl":"images/77/c1/a9/5f/219648cbaa1f48342966f561/_500W_500H.jpg"
},
"shareableUrlPath":"/artist/powerwolf/ARqkxwVv7kdvw9g",
"hasRadio":true,
"modificationTime":1598513621953,
"stationFactoryId":"SF:16722:354591",
"slugPlusPandoraId":"/powerwolf/AR:354591",
"collaboration":false,
"primaryArtists":[
],
"variousArtist":false,
"megastar":false,
"hasTakeoverModes":false,
"pandoraId":"AR:354591",
"type":"AR",
"scope":"core"
},
"AL:115939":{
"name":"No Sacrifice, No Victory",
"sortableName":"No Sacrifice, No Victory",
"releaseDate":"2019-03-20T00:00:00.000-07:00",
"duration":2979,
"trackCount":11,
"isCompilation":false,
"icon":{
"dominantColor":"6f3012",
"artId":"images/public/int/6/2/6/6/727361226626",
"artUrl":"images/public/int/6/2/6/6/727361226626_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:1329498",
"TR:1329499",
"TR:1329500",
"TR:1329501",
"TR:1329502",
"TR:1329503",
"TR:1329504",
"TR:1329505",
"TR:1329506",
"TR:1329507",
"TR:1329508"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/no-sacrifice-no-victory/ALmq6KPmm9539J2",
"modificationTime":1586807582046,
"slugPlusPandoraId":"/hammerfall/no-sacrifice-no-victory/AL:115939",
"hasRadio":true,
"releaseType":"OriginalAlbum",
"listenerReleaseType":"Album",
"pandoraId":"AL:115939",
"type":"AL",
"scope":"core"
},
"AL:6307975":{
"name":"Never Forgive, Never Forget (Live) (Single)",
"sortableName":"Never Forgive, Never Forget (Live) (Single)",
"releaseDate":"2020-08-11T00:00:00.000-07:00",
"duration":332,
"trackCount":1,
"isCompilation":false,
"icon":{
"dominantColor":"751e15",
"artId":"images/b2/64/43/89/3d0e4a1888b356d4b24bb96a/",
"artUrl":"images/b2/64/43/89/3d0e4a1888b356d4b24bb96a/_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:34717431"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/never-forgive-never-forget-live-single/ALllc7tKwPgKdZw",
"modificationTime":1597118476649,
"slugPlusPandoraId":"/hammerfall/never-forgive-never-forget-live-single/AL:6307975",
"hasRadio":true,
"releaseType":"Single",
"listenerReleaseType":"Single",
"pandoraId":"AL:6307975",
"type":"AL",
"scope":"core"
},
"AR:244660":{
"name":"Dreamland",
"sortableName":"Dreamland",
"trackCount":91,
"albumCount":25,
"icon":{
"dominantColor":"f0e400",
"artId":"images/f0/ad/67/69/cfd54c1eb67ae3bf25d512d1/",
"artUrl":"images/f0/ad/67/69/cfd54c1eb67ae3bf25d512d1/_500W_500H.jpg"
},
"shareableUrlPath":"/artist/dreamland/ARXPZwnk7Kqwhtq",
"hasRadio":true,
"modificationTime":1598471808300,
"stationFactoryId":"SF:16722:244660",
"slugPlusPandoraId":"/dreamland/AR:244660",
"collaboration":false,
"primaryArtists":[
],
"variousArtist":false,
"megastar":false,
"hasTakeoverModes":false,
"pandoraId":"AR:244660",
"type":"AR",
"scope":"core"
},
"AL:1930436":{
"name":"Legacy of Kings (20 Year Anniversary Edition)",
"sortableName":"Legacy of Kings (20 Year Anniversary Edition)",
"releaseDate":"2019-03-20T00:00:00.000-07:00",
"duration":6868,
"trackCount":25,
"isCompilation":false,
"icon":{
"artId":"images/public/int/6/6/9/8/727361458966",
"artUrl":"images/public/int/6/6/9/8/727361458966_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:15730910",
"TR:15730913",
"TR:15730921",
"TR:15730897",
"TR:15730909",
"TR:15730914",
"TR:15730911",
"TR:15730907",
"TR:15730898",
"TR:15730901",
"TR:15730918",
"TR:15730906",
"TR:15730905",
"TR:15730900",
"TR:15730917",
"TR:15730916",
"TR:15730912",
"TR:15730919",
"TR:15730908",
"TR:15730915",
"TR:15730920",
"TR:15730903",
"TR:15730904",
"TR:15730899",
"TR:15730902"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/legacy-of-kings-20-year-anniversary-edition/ALm2KPgvr6mj63q",
"modificationTime":1588259190929,
"slugPlusPandoraId":"/hammerfall/legacy-of-kings-20-year-anniversary-edition/AL:1930436",
"hasRadio":true,
"releaseType":"Deluxe",
"listenerReleaseType":"Album",
"pandoraId":"AL:1930436",
"type":"AL",
"scope":"core"
},
"TR:15730907":{
"name":"Stronger Than All (Remastered 2018)",
"sortableName":"Stronger Than All (Remastered 2018)",
"duration":268,
"trackNumber":8,
"icon":{
"artId":"images/public/int/6/6/9/8/727361458966",
"artUrl":"images/public/int/6/6/9/8/727361458966_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:1930436",
"albumName":"Legacy of Kings (20 Year Anniversary Edition)",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/legacy-of-kings-20-year-anniversary-edition/stronger-than-all-remastered-2018/TRXbJfbmv6grZdq",
"hasRadio":true,
"modificationTime":1598484363885,
"slugPlusPandoraId":"/hammerfall/legacy-of-kings-20-year-anniversary-edition/stronger-than-all-remastered-2018/TR:15730907",
"pandoraId":"TR:15730907",
"type":"TR",
"scope":"core"
},
"TR:375505":{
"name":"Riders of the Storm",
"sortableName":"Riders of the Storm",
"duration":274,
"trackNumber":1,
"icon":{
"dominantColor":"de964b",
"artId":"images/60/28/f9/b4/864c4b369b517af76d346ea5/",
"artUrl":"images/60/28/f9/b4/864c4b369b517af76d346ea5/_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:28023",
"albumName":"Crimson Thunder",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/crimson-thunder/riders-of-the-storm/TR4vl3VjhKlcwKK",
"hasRadio":true,
"modificationTime":1598088604826,
"slugPlusPandoraId":"/hammerfall/crimson-thunder/riders-of-the-storm/TR:375505",
"pandoraId":"TR:375505",
"type":"TR",
"scope":"core"
},
"AL:28053":{
"name":"Renegade",
"sortableName":"Renegade",
"releaseDate":"2000-10-09T00:00:00.000-07:00",
"duration":2798,
"trackCount":10,
"isCompilation":false,
"icon":{
"dominantColor":"f0b700",
"artId":"images/public/int/1/2/1/1/727361651121",
"artUrl":"images/public/int/1/2/1/1/727361651121_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:375983",
"TR:375984",
"TR:375985",
"TR:375986",
"TR:375987",
"TR:375988",
"TR:375989",
"TR:375990",
"TR:375991",
"TR:375992"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/renegade/ALlKX9Vd4gtk5nq",
"modificationTime":1586465067310,
"slugPlusPandoraId":"/hammerfall/renegade/AL:28053",
"hasRadio":true,
"releaseType":"OriginalAlbum",
"listenerReleaseType":"Album",
"pandoraId":"AL:28053",
"type":"AL",
"scope":"core"
},
"TR:375988":{
"name":"The Way Of The Warrior",
"sortableName":"Way Of The Warrior, The",
"duration":246,
"trackNumber":6,
"icon":{
"dominantColor":"f0b700",
"artId":"images/public/int/1/2/1/1/727361651121",
"artUrl":"images/public/int/1/2/1/1/727361651121_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:28053",
"albumName":"Renegade",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/renegade/the-way-of-the-warrior/TRk544vvqc6kxmk",
"hasRadio":true,
"modificationTime":1598510584920,
"slugPlusPandoraId":"/hammerfall/renegade/the-way-of-the-warrior/TR:375988",
"pandoraId":"TR:375988",
"type":"TR",
"scope":"core"
},
"TR:375506":{
"name":"Hearts on Fire",
"sortableName":"Hearts on Fire",
"duration":231,
"trackNumber":2,
"icon":{
"dominantColor":"de964b",
"artId":"images/60/28/f9/b4/864c4b369b517af76d346ea5/",
"artUrl":"images/60/28/f9/b4/864c4b369b517af76d346ea5/_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:28023",
"albumName":"Crimson Thunder",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/crimson-thunder/hearts-on-fire/TRptn4jm2b4j4bw",
"hasRadio":true,
"modificationTime":1598232490122,
"slugPlusPandoraId":"/hammerfall/crimson-thunder/hearts-on-fire/TR:375506",
"pandoraId":"TR:375506",
"type":"TR",
"scope":"core"
},
"AL:51295":{
"name":"Threshold",
"sortableName":"Threshold",
"releaseDate":"2006-10-20T00:00:00.000-07:00",
"duration":3029,
"trackCount":11,
"isCompilation":false,
"icon":{
"dominantColor":"a8211b",
"artId":"images/public/int/1/2/2/5/727361175221",
"artUrl":"images/public/int/1/2/2/5/727361175221_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:668770",
"TR:668771",
"TR:668772",
"TR:668773",
"TR:668774",
"TR:668775",
"TR:668776",
"TR:668777",
"TR:668778",
"TR:668779",
"TR:668780"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/threshold/AL49Jnh23phxzkw",
"modificationTime":1586557866933,
"slugPlusPandoraId":"/hammerfall/threshold/AL:51295",
"hasRadio":true,
"releaseType":"OriginalAlbum",
"listenerReleaseType":"Album",
"pandoraId":"AL:51295",
"type":"AL",
"scope":"core"
},
"AL:28078":{
"name":"Chapter V: Unbent, Unbowed, Unbroken",
"sortableName":"Chapter V: Unbent, Unbowed, Unbroken",
"releaseDate":"2019-03-20T00:00:00.000-07:00",
"duration":3043,
"trackCount":10,
"isCompilation":false,
"icon":{
"dominantColor":"18366c",
"artId":"images/public/int/6/2/5/7/727361137526",
"artUrl":"images/public/int/6/2/5/7/727361137526_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642585
},
"tracks":[
"TR:376301",
"TR:376302",
"TR:376303",
"TR:376304",
"TR:376305",
"TR:376306",
"TR:376307",
"TR:376308",
"TR:376309",
"TR:376310"
],
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/chapter-5-unbent-unbowed-unbroken/AL9J4xgv52qnxXc",
"modificationTime":1586465573258,
"slugPlusPandoraId":"/hammerfall/chapter-5-unbent-unbowed-unbroken/AL:28078",
"hasRadio":true,
"releaseType":"OriginalAlbum",
"listenerReleaseType":"Album",
"pandoraId":"AL:28078",
"type":"AL",
"scope":"core"
},
"TR:15730911":{
"name":"Back to Back (Remastered 2018)",
"sortableName":"Back to Back (Remastered 2018)",
"duration":218,
"trackNumber":7,
"icon":{
"artId":"images/public/int/6/6/9/8/727361458966",
"artUrl":"images/public/int/6/6/9/8/727361458966_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":false,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:1930436",
"albumName":"Legacy of Kings (20 Year Anniversary Edition)",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/legacy-of-kings-20-year-anniversary-edition/back-to-back-remastered-2018/TR5qKtcZvwt2p4K",
"hasRadio":true,
"modificationTime":1598134531299,
"slugPlusPandoraId":"/hammerfall/legacy-of-kings-20-year-anniversary-edition/back-to-back-remastered-2018/TR:15730911",
"pandoraId":"TR:15730911",
"type":"TR",
"scope":"core"
},
"TR:15730910":{
"name":"Heeding the Call (Remastered 2018)",
"sortableName":"Heeding the Call (Remastered 2018)",
"duration":269,
"trackNumber":1,
"icon":{
"artId":"images/public/int/6/6/9/8/727361458966",
"artUrl":"images/public/int/6/6/9/8/727361458966_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:1930436",
"albumName":"Legacy of Kings (20 Year Anniversary Edition)",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/legacy-of-kings-20-year-anniversary-edition/heeding-the-call-remastered-2018/TRl55gbPkvwnZk4",
"hasRadio":true,
"modificationTime":1598060579287,
"slugPlusPandoraId":"/hammerfall/legacy-of-kings-20-year-anniversary-edition/heeding-the-call-remastered-2018/TR:15730910",
"pandoraId":"TR:15730910",
"type":"TR",
"scope":"core"
},
"TR:15730913":{
"name":"Legacy of Kings (Remastered 2018)",
"sortableName":"Legacy of Kings (Remastered 2018)",
"duration":253,
"trackNumber":2,
"icon":{
"artId":"images/public/int/6/6/9/8/727361458966",
"artUrl":"images/public/int/6/6/9/8/727361458966_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:1930436",
"albumName":"Legacy of Kings (20 Year Anniversary Edition)",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/legacy-of-kings-20-year-anniversary-edition/legacy-of-kings-remastered-2018/TR54cpwjcfVkqwK",
"hasRadio":true,
"modificationTime":1598484363375,
"slugPlusPandoraId":"/hammerfall/legacy-of-kings-20-year-anniversary-edition/legacy-of-kings-remastered-2018/TR:15730913",
"pandoraId":"TR:15730913",
"type":"TR",
"scope":"core"
},
"AR:190279":{
"name":"Dream Evil",
"sortableName":"Dream Evil",
"trackCount":112,
"albumCount":13,
"icon":{
"dominantColor":"60210f",
"artId":"images/aa/9c/ee/c2/a5d04665a102df9cb9906a4b/",
"artUrl":"images/aa/9c/ee/c2/a5d04665a102df9cb9906a4b/_500W_500H.jpg"
},
"shareableUrlPath":"/artist/dream-evil/ARxvlzVZZ4b76hq",
"twitterHandle":"dreamevilmetal",
"hasRadio":true,
"modificationTime":1598473706465,
"stationFactoryId":"SF:16722:190279",
"slugPlusPandoraId":"/dream-evil/AR:190279",
"collaboration":false,
"primaryArtists":[
],
"variousArtist":false,
"megastar":false,
"hasTakeoverModes":false,
"pandoraId":"AR:190279",
"type":"AR",
"scope":"core"
},
"TR:376302":{
"name":"Blood Bound",
"sortableName":"Blood Bound",
"duration":229,
"trackNumber":2,
"icon":{
"dominantColor":"18366c",
"artId":"images/public/int/6/2/5/7/727361137526",
"artUrl":"images/public/int/6/2/5/7/727361137526_500W_500H.jpg"
},
"rightsInfo":{
"hasInteractive":true,
"hasOffline":false,
"hasNonInteractive":true,
"hasStatutory":true,
"hasRadioRights":true,
"expirationTime":1598529642583
},
"albumId":"AL:28078",
"albumName":"Chapter V: Unbent, Unbowed, Unbroken",
"artistId":"AR:175180",
"artistName":"Hammerfall",
"explicitness":"NONE",
"shareableUrlPath":"/artist/hammerfall/chapter-5-unbent-unbowed-unbroken/blood-bound/TRpddntrgXwrpdX",
"hasRadio":true,
"modificationTime":1598456243462,
"slugPlusPandoraId":"/hammerfall/chapter-5-unbent-unbowed-unbroken/blood-bound/TR:376302",
"pandoraId":"TR:376302",
"type":"TR",
"scope":"core"
}
},
"artistDetails":{
"bio":"One of the leading lights of the European metal resurgence in the mid- to late<span class=\"push-single\"></span> <span class=\"pull-single\">’</span>90s, Sweden’s Hammerfall helped bring melodic power metal back to the forefront of a scene that was struggling to find its footing amidst the alt-rock/grunge boom. Emerging in 1997 with the Swedish Grammy-winning Glory to the Brave, subsequent outings like Renegade (2000), Threshold (2006), (r)Evolution (2014), and Dominion (2019) proved to be just as popular throughout Europe and the Americas as they were at home, with multiple releases going gold. \nFounded in Gothenburg in 1993 by ex-<a data-pandora-id=\"AR:280575\" data-shareable-url=\"/artist/ceremonial-oath/ARk743XVr2mlrjZ\" href=\"pandorav4:/backstage/artist?pandoraId=AR:280575\">Ceremonial Oath</a> guitarist Oscar Dronjak — the dissolution of that band would also help launch another influential group, <a data-pandora-id=\"AR:7854\" data-shareable-url=\"/artist/in-flames/ARKd9tmjvcmlfjm\" href=\"pandorav4:/backstage/artist?pandoraId=AR:7854\">In Flames</a> — Hammerfall took some time getting off the ground. Many of its then-members were doing double duty with more established bands — drummer Jesper Strömblad and guitarist Glenn Ljungstrom were both in <a data-pandora-id=\"AR:7854\" data-shareable-url=\"/artist/in-flames/ARKd9tmjvcmlfjm\" href=\"pandorav4:/backstage/artist?pandoraId=AR:7854\">In Flames</a> and vocalist Mikael Stanne was fronting melodic death metal giants <a data-pandora-id=\"AR:176643\" data-shareable-url=\"/artist/dark-tranquillity/AR36x5hq45lczlX\" href=\"pandorav4:/backstage/artist?pandoraId=AR:176643\">Dark Tranquillity</a> — and their set lists leaned hard on covers. However, by the time of the release of their acclaimed 1997 debut, Hammerfall was an almost completely different band. \nAfter inking a deal with Dutch label Vic Records in 1996, the group decamped to the studio with Dronjak, Ljungström, session drummer Patrik Räfling, and new vocalist Joacim Cans, and began laying down tracks for what would become Glory to the Brave. Despite being released only in the Netherlands, the <span class=\"small-caps\">LP</span> caught the ear of Nuclear Blast, who quickly secured the rights and re-released the album in June 1997. Glory to the Brave would be the first of a string of successful albums, including Legacy of Kings (1998), Renegade (2000), and Crimson Thunder (2002), that would go gold regionally, with the band’s popularity reaching a fevered pitch in power metal-hungry Germany, as well as beginning to penetrate the market overseas. \nAfter the release of Crimson Thunder, the band underwent some personnel changes, as well as some personal traumas, with Dronjak sustaining major injuries from a motorcycle accident and Cans undergoing plastic surgery after being attacked with a broken beer glass at a club. A 2003 live outing, One Crimson Night, helped fill the void during the band’s forced hiatus from the studio. Hammerfall returned triumphantly in 2005 with their aptly named fifth long-player, Chapter V: Unbent, Unbowed, Unbroken, which featured songs that were inspired by author George R.R. Martin’s popular A Song of Ice and Fire fantasy series. 2006′s Threshold sought inspiration from the land of Westeros as well, and 2009′s No Sacrifice, No Victory would be the first time out for new guitarist Pontus Norgren, who replaced outgoing axe slinger Stefan Elmgren. 2011′s Infected rose to top of the Swedish charts via the zombie infection-inspired single<span class=\"push-double\"></span> <span class=\"pull-double\">“</span>One More Time,” and 2014′s (r)Evolution, their ninth full-length <span class=\"small-caps\">LP</span>, would be the group’s last outing with drummer <a data-pandora-id=\"AR:2553382\" data-shareable-url=\"/artist/anders-johansson-jens-johansson-and-allan-holdsworth/ARX5ncd4lbPtVh9\" href=\"pandorav4:/backstage/artist?pandoraId=AR:2553382\">Anders Johansson</a>, who had been behind the kit since 2000. In early 2016, the band announced that they had signed with Napalm Records, which issued their tenth studio album Built to Last later that winter. Summer 2019 saw the group issue the single<span class=\"push-double\"></span> <span class=\"pull-double\">“</span>(We Make) Sweden Rock,” which was a tribute to power metal influences like <a data-pandora-id=\"AR:117757\" data-shareable-url=\"/artist/judas-priest/ARVb4l3whxP4tqm\" href=\"pandorav4:/backstage/artist?pandoraId=AR:117757\">Judas Priest</a> and <a data-pandora-id=\"AR:151676\" data-shareable-url=\"/artist/yngwie-malmsteen/ARvwnKVZc44mpZX\" href=\"pandorav4:/backstage/artist?pandoraId=AR:151676\">Yngwie Malmsteen</a>. That song and 11 others appeared on the band’s 11th full-length effort Dominion, which arrived later that August. ~ James Christopher Monger",
"similarArtists":[
"AR:190279",
"AR:731",
"AR:354591",
"AR:244660",
"AR:202308",
"AR:172792"
],
"latestRelease":"AL:6307975",
"topTracks":[
"TR:376302",
"TR:376307",
"TR:375506",
"TR:375988",
"TR:15730910",
"TR:15730911",
"TR:375505",
"TR:15730907",
"TR:376309",
"TR:15730913"
],
"topAlbums":[
"AL:115939",
"AL:28078",
"AL:1930436",
"AL:28023",
"AL:28053",
"AL:51295",
"AL:1190131",
"AL:102917"
],
"albumCount":33,
"trackCount":203,
"artistPlayId":"AP:16722:175180",
"artistTracksId":"AT:16722:175180",
"twitterUrl":"https://twitter.com/intent/user?screen_name=HammerFall",
"stationListenerCount":46140,
"modificationTime":1598511435466,
"heroImage":{
"dominantColor":"751e15",
"artId":"images/b2/64/43/89/3d0e4a1888b356d4b24bb96a/",
"artUrl":"images/b2/64/43/89/3d0e4a1888b356d4b24bb96a/_500W_500H.jpg"
},
"focusTraits":[
{
"name":"minor key tonality",
"focusTraitSet":"EXPLANATION",
"focusTraitSetType":"MATCHING"
},
{
"name":"heavy electric rhythm guitars",
"focusTraitSet":"EXPLANATION",
"focusTraitSetType":"MATCHING"
},
{
"name":"hard rock roots",
"focusTraitSet":"EXPLANATION",
"focusTraitSetType":"MATCHING"
},
{
"name":"and many other similarities identified in the Music Genome Project",
"focusTraitSet":"EXPLANATION",
"focusTraitSetType":"MATCHING"
},
{
"name":"alternative",
"focusTraitSet":"AD_GENRE",
"focusTraitSetType":"MATCHING"
},
{
"name":"a subtle use of vocal harmony",
"focusTraitSet":"EXPLANATION",
"focusTraitSetType":"MATCHING"
},
{
"name":"Rock",
"focusTraitSet":"RADIO_GENRE",
"focusTraitSetType":"MATCHING"
},
{
"name":"F8466",
"focusTraitSet":"RADIO_FILTER",
"focusTraitSetType":"MATCHING"
},
{
"name":"F8437",
"focusTraitSet":"RADIO_FILTER",
"focusTraitSetType":"MATCHING"
},
{
"name":"F8426",
"focusTraitSet":"RADIO_FILTER",
"focusTraitSetType":"MATCHING"
}
],
"collaborationArtists":[
"AR:1054285"
],
"featuredBy":[
],
"largeHeaderImage":{
},
"pandoraId":"AR:175180",
"type":"AR",
"scope":"details"
}
}
@nlowe
Copy link
Author

nlowe commented Jan 10, 2022

Yeah, the REST api requires a CSRF token for some requests: https://6xq.net/pandora-apidoc/rest/#csrf-token-cookie

For mousiki I just grabbed it from the home page and that seemed to work: https://github.com/nlowe/mousiki/blob/33edafcc14b04df33620a6a383b0d964ff585816/pandora/api/client.go#L57-L71

@nlowe
Copy link
Author

nlowe commented Jan 10, 2022

The TR... at the end of the URL looks like a track token that might work as the pandoraId in some places (so it would likely be TR:ddpp5JJ2hqnVV. If you need the artist instead you'd probably have to call /v1/music/track on it (I'm betting it has a similar form to /v1/music/artist )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment