By looking through the source code of this JS Tidal API library I found out how to use the TIdal API without authentication. The gist of it:
Get album
get_album() {
# The countryCode parameter is required
curl "https://api.tidal.com/v1/albums/$1?countryCode=$2" \
-H x-tidal-token:gsFXkJqGrUNoYMQPZe4k3WKwijnrp8iGSwn3bApe
}
get_album 62053271 AU
{
"id": 62053271,
"title": "You",
"duration": 1758,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"allowStreaming": true,
"premiumStreamingOnly": false,
"numberOfTracks": 8,
"numberOfVideos": 0,
"numberOfVolumes": 1,
"releaseDate": "2016-06-24",
"copyright": "2016 Young Culture",
"type": "ALBUM",
"version": null,
"url": "http://www.tidal.com/album/62053271",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null,
"explicit": false,
"upc": "190394605940",
"popularity": 0,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
]
}
Get album tracks
get_album_tracks() {
# Again the countryCode parameter is required
curl "https://api.tidal.com/v1/albums/$1/tracks?countryCode=$2" \
-H x-tidal-token:gsFXkJqGrUNoYMQPZe4k3WKwijnrp8iGSwn3bApe
}
get_album_tracks 62053272 AU
{
"limit": 8,
"offset": 0,
"totalNumberOfItems": 8,
"items": [
{
"id": 62053272,
"title": "Home to Me",
"duration": 187,
"replayGain": -12.28,
"peak": 0.974456,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 1,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053272",
"isrc": "USDY41658853",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
},
{
"id": 62053273,
"title": "Ready for You",
"duration": 236,
"replayGain": -12.28,
"peak": 0.974426,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 2,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053273",
"isrc": "USDY41658854",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
},
{
"id": 62053274,
"title": "Bedroom Floor (feat. Derek DiScanio)",
"duration": 221,
"replayGain": -12.28,
"peak": 0.974456,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 3,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053274",
"isrc": "USDY41658855",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
},
{
"id": 62053275,
"title": "By Your Side",
"duration": 204,
"replayGain": -12.28,
"peak": 0.974426,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 4,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053275",
"isrc": "USDY41658856",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
},
{
"id": 62053276,
"title": "Stupid Kid",
"duration": 222,
"replayGain": -12.28,
"peak": 0.974456,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 5,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053276",
"isrc": "USDY41658857",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
},
{
"id": 62053277,
"title": "Seattle",
"duration": 208,
"replayGain": -12.28,
"peak": 0.974456,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 6,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053277",
"isrc": "USDY41658858",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
},
{
"id": 62053278,
"title": "Fidelity",
"duration": 203,
"replayGain": -12.28,
"peak": 0.974456,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 7,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053278",
"isrc": "USDY41658859",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
},
{
"id": 62053279,
"title": "Every Night",
"duration": 277,
"replayGain": -12.28,
"peak": 0.974456,
"allowStreaming": true,
"streamReady": true,
"streamStartDate": "2016-06-24T00:00:00.000+0000",
"premiumStreamingOnly": false,
"trackNumber": 8,
"volumeNumber": 1,
"version": null,
"popularity": 0,
"copyright": "2016 Young Culture",
"url": "http://www.tidal.com/track/62053279",
"isrc": "USDY41658860",
"editable": false,
"explicit": false,
"audioQuality": "LOSSLESS",
"audioModes": [
"STEREO"
],
"artist": {
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
},
"artists": [
{
"id": 7923949,
"name": "Young Culture",
"type": "MAIN",
"picture": null
}
],
"album": {
"id": 62053271,
"title": "You",
"cover": "ab127c0a-5b92-4fab-8f18-4f2db6ff7bb7",
"vibrantColor": "#FFFFFF",
"videoCover": null
},
"mixes": {}
}
]
}
I’m not sure if there’s a way to search by UPC, but maybe support for seeding releases with a Tidal link/id could be doable as the API returns useful info like the UPC and ISRCs. It’s a bit of a shame a-tisket is closed source because I wouldn’t mind helping out implement things like these.
I’m still pretty new to MB so if there’s a tool that can already seed releases via Tidal please let me know!