Scrape attempt for some Smule user's app data. Favorite
playlist only.
The code will give you a csv file and this is what will get printed out:
The number of records (101 in this case) should match with # of recordings shown on the app:
Voila! 🥳
📌 You used to be able to get a list of full-on user's data. As of 2023, Smule team seems to have truncated the data you can get from the 'data source' url: https://www.smule.com/s/profile/performance/username
The information on the recordings are now only limited to the user's favorite playlist as opposed to all recordings a user has in their account ( including geo-location... Maybe that's why they updated it👀)
Everything you need is in the Resources
folder, including instructions.
You will not be able to access Smule app for a while after running this program:
You may also not be able to request
the data after 1-2 runs.
As a workaround, I use ProtonVPN to use a different IP address to get the data (it's free!).
It is a little cumbersome to having to disconnect and reconnect to get a different IP address each time if you want to get multiple sets of data, but it is better than waiting for 7-30 days just to get the data... and unable to use your app 😒
Read full history blog(ish) here
Smule is a social singing app you can use to sing either on your own or with others. I was obssessed with trying to get my user's data because I have favorite people that I sing with, so I created this program to do that.
Unfortunately, Smule does not have any sort of API endpoints where you can get your data easily. After a bunch of googling, I came across a URL (mentioned above) where you can put anyone's username for the user's parameter and you will get a json data. Nope! Not secure at all.
Have I tried emailed Smule team about this? Yes! They basically wish me luck using what I have and that was it.
Why do I care? Because I have some dashboards created using these data. Since I still have the data from 2021, I was able to produce something out of that full data. Though the dashboards will never be current as there is no updated data I can grab anymore.