Monthly
Email yourself a monthly backup of your Liked Songs
On the 1st of each month you get a CSV listing every liked song, artist and album.
- Runs
- Monthly
- Apps
- Spotify
- AI
- Not needed
- Access
- user-library-read
Send this to your assistant
Create a ClickRuntime automation: on the 1st of every month, email me a CSV of all my Spotify liked songs with track, artist and album.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Years of tapping the heart icon in Spotify add up to a personal record of your taste: thousands of Liked Songs. All of it sits inside one service. If an account is hacked, closed after a billing problem, or you decide to switch to another streaming service, there is no simple export, and rebuilding the list from memory is impossible. Songs also disappear from Spotify when licenses expire, and you only notice when a track turns grey.
On the first of each month, ClickRuntime pages through your saved tracks, builds a CSV with track name, artist, album and the date you added it, and emails the file to you. The result is a plain text copy that you can keep in your inbox, open in a spreadsheet or import into another service.
People who treat their library as something worth keeping, and those who might switch services, tend to want it.
What you get out of it
Your library survives account problems
A hacked or suspended account no longer means the end of years of curation. The latest CSV in your mailbox preserves what you had liked. Few people think about this until a login stops working, and by then it is too late to make a copy.
Switching services stays possible
Importers for other platforms accept lists of tracks and artists, so a CSV makes it far easier to move to another service, or to run both, without starting over. Lock-in matters less when your history can be exported on your own schedule.
Unavailable songs are documented
When Spotify removes a song from its catalog, it vanishes from your playlist without notice. Monthly files show which tracks used to be there, so you can find them elsewhere. Over several years, that list can become surprisingly long.
Taste over time is recorded
The added date lets you see what you liked in which month, so you can build a playlist of the songs that defined a particular summer or year. It makes a good starting point for playlists that mark seasons or events.
No manual export is ever needed
Spotify's own data export is slow and generic. A monthly copy to your inbox means there is always a recent version, even when you forget about it for a year.
How it works
What happens, step by step
On the 1st of each month, ClickRuntime goes through every song in your Spotify Liked Songs.
It builds a spreadsheet-style CSV with the track name, artist, album and the date you liked it.
The CSV arrives in your inbox with the total number of songs in the subject line, so you always have a copy of your library.
Before it runs live
- Connect Spotify
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Spotify steps into one automation
Under the hood
The code that runs this automation
import csv, io
from clickruntime import on_trigger, credentials, http, notify
@on_trigger
def run(event):
h = {"Authorization": f"Bearer {credentials.connection('spotify', 'personal')}"}
buf = io.StringIO()
writer = csv.writer(buf)
writer.writerow(["track", "artist", "album", "added_at"])
url, count = "https://api.spotify.com/v1/me/tracks?limit=50", 0
while url:
page = http.get(url, headers=h).json()
for item in page["items"]:
t = item["track"]
writer.writerow([t["name"], ", ".join(a["name"] for a in t["artists"]), t["album"]["name"], item["added_at"][:10]])
count += 1
url = page["next"]
notify.email_me(f"Spotify liked songs backup ({count} tracks)", buf.getvalue())
return {"tracks": count}FAQ
Common questions
How many songs can the backup handle?
What columns are in the CSV file?
Can I restore the songs to Spotify from the file?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Save Discover Weekly to a permanent playlist each Monday
Each week's Discover Weekly tracks land in an archive playlist, with no duplicates.
See how it worksReorder a playlist by popularity every week
The best-known tracks move to the top of the playlist each Sunday.
See how it worksQueue, skip or pause Spotify from a link
Calling a link adds a track to your queue, skips to the next song or pauses playback.
See how it worksKeep exploring
Set up “Email yourself a monthly backup of your Liked Songs” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.