tamland / python-tidal

Python API for TIDAL music streaming service
GNU Lesser General Public License v3.0
402 stars 109 forks source link

"my activity" api #216

Open ardittristan opened 10 months ago

ardittristan commented 10 months ago

Looking at the traffic from the android tidal app I found the endpoints for the "my activity" page. Maybe this could be useful?

as far as I've figured out the locale parameter is required authentication is via bearer header all the requests are GET requests

image

example urls:

https://api.tidal.com/v2/my-activity/home?currentZonedDateTime=2023-12-02T21%3A50%3A08.886%2B01%3A00&deviceType=TABLET&locale=en_US&countryCode=NL

https://api.tidal.com/v2/my-activity/timeline?currentZonedDateTime=2023-12-02T21%3A50%3A14.534%2B01%3A00&deviceType=TABLET&locale=en_US&countryCode=NL

https://api.tidal.com/v2/my-activity/top-artists?currentZonedDateTime=2023-12-02T21%3A50%3A14.674%2B01%3A00&month=12&year=2023&deviceType=TABLET&locale=en_US&countryCode=NL

https://api.tidal.com/v2/my-activity/top-artists?currentZonedDateTime=2023-12-02T21%3A50%3A14.677%2B01%3A00&month=11&year=2023&deviceType=TABLET&locale=en_US&countryCode=NL

example response:

https://api.tidal.com/v2/my-activity/home?locale=en_US ```json { "activities": [ { "@class": "com.tidal.usercontent.houseofcards.application.bff.pages.activity.home.model.HomeActiviyPreviousPeriod", "images": [ { "id": "DEFAULT", "url": "https://images.tidal.com/1/CgE0Ei8KJDYyYmVlZjBiLTAxNDEtNDVjOS1iZTg1LThkZjcyZDJkZDVmNBIHI0Q3QTNCNRoFZW5fVVMoHw?token=24c58c72dbfd940480032be6b36d829e6a4c794c" }, { "id": "LANDSCAPE", "url": "https://images.tidal.com/1/CgE0Ei8KJDYyYmVlZjBiLTAxNDEtNDVjOS1iZTg1LThkZjcyZDJkZDVmNBIHI0Q3QTNCNRoFZW5fVVMgASgf?token=8e7cb93299a342d275edbaaa4d2e3fc14f4af549" }, { "id": "PORTRAIT", "url": "https://images.tidal.com/1/CgE0Ei8KJDYyYmVlZjBiLTAxNDEtNDVjOS1iZTg1LThkZjcyZDJkZDVmNBIHI0Q3QTNCNRoFZW5fVVMoHw?token=24c58c72dbfd940480032be6b36d829e6a4c794c" } ], "artists": [ { "id": 6332461, "name": "I Prevail", "nrOfStreams": 71 } ], "year": 2023, "month": 11, "activityType": "PREVIOUS_TOP_STREAMED_ARTIST", "title": "\\uD83C\\uDFC6 I Prevail was your top artist in November with 71 streams.", "header": "Previous Month" }, { "@class": "com.tidal.usercontent.houseofcards.application.bff.pages.activity.home.model.HomeActivityCurrentPeriod", "images": [ { "id": "DEFAULT", "url": "https://images.tidal.com/1/CgE1GgVlbl9VUygf?token=6aa32f621b5fb8585bd1996e0fb6ec1a4b11c7b2" }, { "id": "LANDSCAPE", "url": "https://images.tidal.com/1/CgE1GgVlbl9VUyABKB8?token=0ccadc5579862b6bd67a2b11a1e8d171bca0bce5" }, { "id": "PORTRAIT", "url": "https://images.tidal.com/1/CgE1GgVlbl9VUygf?token=6aa32f621b5fb8585bd1996e0fb6ec1a4b11c7b2" } ], "artists": [], "nrOfDaysLeft": 29, "activityType": "CURRENT_TOP_STREAMED_ARTIST_EMPTY", "year": 2023, "month": 12, "title": "Your most streamed artist will appear here.", "header": "Your Top Artists" } ], "educationals": [ { "title": "Your listening supports artists", "subtitle": "Your subscription helps fund TIDAL RISING, a program designed to support emerging talent.", "type": "LEARN_MORE_EDUCATIONAL_ENTRY" }, { "url": "https://support.tidal.com/hc/en-us/articles/4410418190609", "type": "LEARN_MORE_EDUCATIONAL_LINK_ENTRY" } ], "updateFrequency": "Updated once a day", "metadata": { "timeline": [ { "year": 2023, "month": 12, "title": "This Month" }, { "year": 2023, "month": 11, "title": "November ’23" }, { "year": 2023, "month": 10, "title": "October ’23" }, { "year": 2023, "month": 9, "title": "September ’23" }, { "year": 2023, "month": 8, "title": "August ’23" }, { "year": 2023, "month": 7, "title": "July ’23" }, { "year": 2023, "month": 6, "title": "June ’23" }, { "year": 2023, "month": 5, "title": "May ’23" }, { "year": 2023, "month": 4, "title": "April ’23" }, { "year": 2023, "month": 3, "title": "March ’23" }, { "year": 2023, "month": 2, "title": "February ’23" }, { "year": 2023, "month": 1, "title": "January ’23" }, { "year": 2022, "month": 12, "title": "December ’22" }, { "year": 2022, "month": 11, "title": "November ’22" }, { "year": 2022, "month": 10, "title": "October ’22" }, { "year": 2022, "month": 9, "title": "September ’22" }, { "year": 2022, "month": 8, "title": "August ’22" }, { "year": 2022, "month": 7, "title": "July ’22" }, { "year": 2022, "month": 6, "title": "June ’22" }, { "year": 2022, "month": 5, "title": "May ’22" }, { "year": 2022, "month": 4, "title": "April ’22" }, { "year": 2022, "month": 3, "title": "March ’22" }, { "year": 2022, "month": 2, "title": "February ’22" }, { "year": 2022, "month": 1, "title": "January ’22" }, { "year": 2021, "month": 12, "title": "December ’21" }, { "year": 2021, "month": 11, "title": "November ’21" } ] } } ```
https://api.tidal.com/v2/my-activity/timeline?locale=en_US ```json { "timeline": [ { "year": 2023, "month": 12, "title": "This Month" }, { "year": 2023, "month": 11, "title": "November ’23" }, { "year": 2023, "month": 10, "title": "October ’23" }, { "year": 2023, "month": 9, "title": "September ’23" }, { "year": 2023, "month": 8, "title": "August ’23" }, { "year": 2023, "month": 7, "title": "July ’23" }, { "year": 2023, "month": 6, "title": "June ’23" }, { "year": 2023, "month": 5, "title": "May ’23" }, { "year": 2023, "month": 4, "title": "April ’23" }, { "year": 2023, "month": 3, "title": "March ’23" }, { "year": 2023, "month": 2, "title": "February ’23" }, { "year": 2023, "month": 1, "title": "January ’23" }, { "year": 2022, "month": 12, "title": "December ’22" }, { "year": 2022, "month": 11, "title": "November ’22" }, { "year": 2022, "month": 10, "title": "October ’22" }, { "year": 2022, "month": 9, "title": "September ’22" }, { "year": 2022, "month": 8, "title": "August ’22" }, { "year": 2022, "month": 7, "title": "July ’22" }, { "year": 2022, "month": 6, "title": "June ’22" }, { "year": 2022, "month": 5, "title": "May ’22" }, { "year": 2022, "month": 4, "title": "April ’22" }, { "year": 2022, "month": 3, "title": "March ’22" }, { "year": 2022, "month": 2, "title": "February ’22" }, { "year": 2022, "month": 1, "title": "January ’22" }, { "year": 2021, "month": 12, "title": "December ’21" }, { "year": 2021, "month": 11, "title": "November ’21" } ] } ```
https://api.tidal.com/v2/my-activity/top-artists?locale=en_US&year=2023&month=10 ```json { "activity": { "@class": "com.tidal.usercontent.houseofcards.application.bff.pages.activity.detail.model.DetailActivityPreviousPeriod", "images": [ { "id": "DEFAULT", "url": "https://images.tidal.com/1/CgE0Ei8KJGMzNGZiMDc2LWZjMTMtNGI5Ni1hODlhLTBlODk3NTBjNzM3NxIHI0VGRTFDOBoFZW5fVVMoHw?token=d5ac76911e9c40f829f918bb807a16f55e82e5f4" }, { "id": "LANDSCAPE", "url": "https://images.tidal.com/1/CgE0Ei8KJGMzNGZiMDc2LWZjMTMtNGI5Ni1hODlhLTBlODk3NTBjNzM3NxIHI0VGRTFDOBoFZW5fVVMgASgf?token=98cc323ad0b8156f7d779e5e65ce5f37f51fa9d8" }, { "id": "PORTRAIT", "url": "https://images.tidal.com/1/CgE0Ei8KJGMzNGZiMDc2LWZjMTMtNGI5Ni1hODlhLTBlODk3NTBjNzM3NxIHI0VGRTFDOBoFZW5fVVMoHw?token=d5ac76911e9c40f829f918bb807a16f55e82e5f4" } ], "artists": [ { "id": 19137, "name": "Bring Me The Horizon", "nrOfStreams": 14 } ], "year": 2023, "month": 10, "activityType": "PREVIOUS_TOP_STREAMED_ARTIST" }, "artists": [ { "artist": { "id": 19137, "name": "Bring Me The Horizon", "picture": "c34fb076-fc13-4b96-a89a-0e89750c7377", "popularity": 0, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 1, "category": "Producer" } ], "mixes": { "ARTIST_MIX": "0000aaa6491d622f7a4bda6bc1a9cb" } }, "nrOfStreams": 14 }, { "artist": { "id": 5073699, "name": "AJR", "picture": "aa49e7ec-fc6d-4075-ac8a-d8b9014d042a", "popularity": 0, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 3, "category": "Engineer" }, { "categoryId": 2, "category": "Songwriter" } ], "mixes": { "ARTIST_MIX": "000cde35f36ccbb3116d1a8d313540" } }, "nrOfStreams": 13 }, { "artist": { "id": 22800205, "name": "BoyWithUke", "picture": "11b61b0f-2072-4ef7-a89a-b7a1e7c5ec07", "popularity": 63, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 3, "category": "Engineer" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 10, "category": "Production team" }, { "categoryId": 11, "category": "Performer" } ], "mixes": { "ARTIST_MIX": "00035a37db6c0f1ab06826bd08fcab" } }, "nrOfStreams": 10 }, { "artist": { "id": 3635103, "name": "Asking Alexandria", "picture": "7812bd03-5cf4-4b62-9adf-b66de08c2b02", "popularity": 0, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" } ], "mixes": { "ARTIST_MIX": "00099d6997d3768fa0ee9e243a3ae7" } }, "nrOfStreams": 9 }, { "artist": { "id": 9719199, "name": "JVKE", "picture": "24df3cde-8158-43c3-81d8-af526b318696", "popularity": 0, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 3, "category": "Engineer" }, { "categoryId": 10, "category": "Production team" } ], "mixes": { "ARTIST_MIX": "0007db34d295f219b3f1701ec3b15d" } }, "nrOfStreams": 7 }, { "artist": { "id": 37277, "name": "Slipknot", "picture": "c3672adf-ca16-4db3-a375-64904d1f7d39", "popularity": 76, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 1, "category": "Producer" } ], "mixes": { "ARTIST_MIX": "0007c336896b45cd701a51af39aac3" } }, "nrOfStreams": 7 }, { "artist": { "id": 3988097, "name": "Falling In Reverse", "picture": "57392e1d-b6d7-4cf3-be56-e801b4e6eb86", "popularity": 69, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 10, "category": "Production team" } ], "mixes": { "ARTIST_MIX": "000f1ad82597b797e80be7908278ce" } }, "nrOfStreams": 7 }, { "artist": { "id": 4394210, "name": "Imagine Dragons", "picture": "b5fc9952-f318-48ee-94f7-1d1f390f2871", "popularity": 83, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 3, "category": "Engineer" }, { "categoryId": 10, "category": "Production team" } ], "mixes": { "ARTIST_MIX": "000bb6d9fc046dc647c274456f4947" } }, "nrOfStreams": 6 }, { "artist": { "id": 6036350, "name": "AViVA", "picture": "4a9b30d9-0d22-4b9f-adac-95c919f5b14e", "popularity": 54, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 1, "category": "Producer" } ], "mixes": { "ARTIST_MIX": "00042b2d37af9d1754f146a3f6650c" } }, "nrOfStreams": 6 }, { "artist": { "id": 3802382, "name": "Pop Evil", "picture": "751bc98f-84a7-4423-9cc5-52054b8d787c", "popularity": 56, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" } ], "mixes": { "ARTIST_MIX": "000ea90b7d8b15541d0de0905e6b6f" } }, "nrOfStreams": 6 }, { "artist": { "id": 5265470, "name": "From Ashes To New", "picture": "12757329-3fa7-4f0f-9f6b-8bff152a8988", "popularity": 58, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" } ], "mixes": { "ARTIST_MIX": "000ca324c215ccd7bbd13643f13d98" } }, "nrOfStreams": 5 }, { "artist": { "id": 3564608, "name": "Architects", "picture": "29f45cb5-c3aa-4c1a-82df-fdb220910245", "popularity": 62, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 3, "category": "Engineer" } ], "mixes": { "ARTIST_MIX": "000e7dee5eec21bbc140e9a2f029c4" } }, "nrOfStreams": 5 }, { "artist": { "id": 4409634, "name": "Grandson", "picture": "592e5ed3-946f-4d57-8b09-37b48d207e1a", "popularity": 62, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 10, "category": "Production team" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 3, "category": "Engineer" } ], "mixes": { "ARTIST_MIX": "000f96fcd540134a1adf5802d7e6bf" } }, "nrOfStreams": 5 }, { "artist": { "id": 6332461, "name": "I Prevail", "picture": "62beef0b-0141-45c9-be85-8df72d2dd5f4", "popularity": 65, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 11, "category": "Performer" } ], "mixes": { "ARTIST_MIX": "000dc4985fd7747eaa448da32e66f9" } }, "nrOfStreams": 4 }, { "artist": { "id": 7135500, "name": "Gryffin", "picture": "c0326d6a-6e3c-48a5-acec-a5f21359e83b", "popularity": 0, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 10, "category": "Production team" }, { "categoryId": 3, "category": "Engineer" }, { "categoryId": 2, "category": "Songwriter" } ], "mixes": { "ARTIST_MIX": "000eebdca44aec0bae706a398a6c5b" } }, "nrOfStreams": 4 }, { "artist": { "id": 15420376, "name": "Crash Adams", "picture": "2924f89c-7183-49c1-86dd-a7b755943a75", "popularity": 46, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 1, "category": "Producer" } ], "mixes": { "ARTIST_MIX": "0008292b8e844fbdc8484219f94c99" } }, "nrOfStreams": 4 }, { "artist": { "id": 3542740, "name": "Motionless In White", "picture": "57ff5b87-ffc2-4e47-988e-71ae525b5d91", "popularity": 65, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 1, "category": "Producer" } ], "mixes": { "ARTIST_MIX": "0003daee51a4058882bca03820b81e" } }, "nrOfStreams": 4 }, { "artist": { "id": 4505007, "name": "Smokey Bastard", "picture": null, "popularity": 19, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" } ], "mixes": { "ARTIST_MIX": "000a167376f201fdb08aeff5dc5493" } }, "nrOfStreams": 4 }, { "artist": { "id": 8879459, "name": "Tetrarch", "picture": "2fee8240-2550-48d0-9a00-3f148fe0840f", "popularity": 33, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" } ], "mixes": { "ARTIST_MIX": "0000bf5ee096f75dcc557b12167885" } }, "nrOfStreams": 4 }, { "artist": { "id": 8977590, "name": "I DONT KNOW HOW BUT THEY FOUND ME", "picture": "9489b1b0-20cd-4096-a48b-a57bc7755dfd", "popularity": 0, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" } ], "mixes": { "ARTIST_MIX": "0004e215ba37f180ec41c41b965126" } }, "nrOfStreams": 4 }, { "artist": { "id": 3562199, "name": "Bo Burnham", "picture": "d9a9ddf9-f391-4d6f-9450-b0f4b963776b", "popularity": 59, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 1, "category": "Producer" } ], "mixes": { "ARTIST_MIX": "000d43c2ffbe89cb70ccf08e2d6c33" } }, "nrOfStreams": 4 }, { "artist": { "id": 721, "name": "System Of A Down", "picture": "b45f6499-0636-4874-9e41-796be9a8c2b8", "popularity": 77, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 1, "category": "Producer" } ], "mixes": { "ARTIST_MIX": "000e34768c802b4c075fb7d5cf9c27" } }, "nrOfStreams": 4 }, { "artist": { "id": 16757334, "name": "Zero 9:36", "picture": "e3c269f3-00e5-4bc0-b787-9ef727cfc411", "popularity": 48, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 11, "category": "Performer" }, { "categoryId": 2, "category": "Songwriter" } ], "mixes": { "ARTIST_MIX": "000054f15f7c16c8a75865df43ace5" } }, "nrOfStreams": 3 }, { "artist": { "id": 3564132, "name": "Hollywood Undead", "picture": "e520bcd7-e42f-4422-8275-8bd1a27eea82", "popularity": 0, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" }, { "categoryId": 1, "category": "Producer" }, { "categoryId": 10, "category": "Production team" } ], "mixes": { "ARTIST_MIX": "000129a8e560ee694956b5d5bca8ac" } }, "nrOfStreams": 3 }, { "artist": { "id": 4840038, "name": "Fit For A King", "picture": "18e41854-2051-4fe8-9a7d-6e868d60557b", "popularity": 51, "artistTypes": [ "ARTIST", "CONTRIBUTOR" ], "artistRoles": [ { "categoryId": -1, "category": "Artist" }, { "categoryId": 2, "category": "Songwriter" } ], "mixes": { "ARTIST_MIX": "000c0946c31a2ff929cb9c32f96ae6" } }, "nrOfStreams": 3 } ], "totalNrOfStreams": 348, "metadata": { "timeline": [ { "year": 2023, "month": 12, "title": "This Month" }, { "year": 2023, "month": 11, "title": "November ’23" }, { "year": 2023, "month": 10, "title": "October ’23" }, { "year": 2023, "month": 9, "title": "September ’23" }, { "year": 2023, "month": 8, "title": "August ’23" }, { "year": 2023, "month": 7, "title": "July ’23" }, { "year": 2023, "month": 6, "title": "June ’23" }, { "year": 2023, "month": 5, "title": "May ’23" }, { "year": 2023, "month": 4, "title": "April ’23" }, { "year": 2023, "month": 3, "title": "March ’23" }, { "year": 2023, "month": 2, "title": "February ’23" }, { "year": 2023, "month": 1, "title": "January ’23" }, { "year": 2022, "month": 12, "title": "December ’22" }, { "year": 2022, "month": 11, "title": "November ’22" }, { "year": 2022, "month": 10, "title": "October ’22" }, { "year": 2022, "month": 9, "title": "September ’22" }, { "year": 2022, "month": 8, "title": "August ’22" }, { "year": 2022, "month": 7, "title": "July ’22" }, { "year": 2022, "month": 6, "title": "June ’22" }, { "year": 2022, "month": 5, "title": "May ’22" }, { "year": 2022, "month": 4, "title": "April ’22" }, { "year": 2022, "month": 3, "title": "March ’22" }, { "year": 2022, "month": 2, "title": "February ’22" }, { "year": 2022, "month": 1, "title": "January ’22" }, { "year": 2021, "month": 12, "title": "December ’21" }, { "year": 2021, "month": 11, "title": "November ’21" } ] }, "disclaimers": [ { "text": "We do our best to calculate your listening activity.", "url": "https://support.tidal.com/hc/en-us/articles/4410310728977-My-Activity" } ] } ```
tehkillerbee commented 8 months ago

Thanks. I am aware of other tidal plugins that have added support for this as well ( TIDAL Addon for Kodi). Perhaps we could backport these features as it could indeed be useful to add to python-tidal.