Feature
Playlists: imports that reuse what you already have
Flows build playlists on a schedule. Static playlists hold a fixed tracklist, or follow a playlist from another service. Both live here, and both pull only the tracks you are actually missing.
Aurral treats a static playlist as a list of references to library tracks, not as a separate pile of files. That distinction is why importing a 500-track playlist you already half own costs you nothing for the half you have.
Flows compared with static playlists
| Behaviour | Flows | Static playlists |
|---|---|---|
| Tracklist | Rebuilt on a schedule | Fixed at import, or follows a provider |
| Failed downloads | Replaced with a reserve candidate | Stay failed until you search again |
| Settings | Schedule, source mix, Focus, Deep Dive | Import, sync and file retention |
| Files | Temporary under _flows | Permanent in Artist/Album folders |
Flow and static playlist names must be unique across both kinds, so a Flow called Late Night cannot collide with a playlist called Late Night imported from somewhere else.
Five ways in
Spotify
Connect your account, pick a playlist, set a name and a sync schedule, then start the import. Spotify returns items in pages of up to 50 and Aurral reads every page, so a very large playlist simply takes longer. If Spotify reports more items than Aurral received, the sync fails and keeps your saved tracklist rather than silently truncating it.
Spotify only returns full item details for playlists you own or collaborate on. Each user stores one Spotify connection. If the connection expires or gets revoked, Aurral disconnects it, pauses your synced Spotify playlists and shows a reconnect message rather than quietly serving stale lists.
YouTube Music
Paste an HTTPS playlist URL from youtube.com or music.youtube.com. No Google account, no API key. Aurral loads every page before showing the preview or changing a synced playlist, so an incomplete or repeated page from YouTube leaves your tracks untouched. If YouTube rate-limits the requests, Aurral pauses for a short period and continues.
The preview tells you how many tracks can be imported and how many are skipped. Skipped entries are unavailable ones, podcasts, rows missing an artist or title, and duplicates. For a music video, Aurral uses the first author as the artist, and the track may have no album.
Last.fm
Three stations: Library, Mix and Recommended. Aurral saves your username with the playlist so future syncs do not need it again, and a synced station follows Last.fm as the station changes underneath it.
ListenBrainz
Link ListenBrainz once in playback settings and the import reuses the same user token. You see the playlists you own plus the two generated ones, Weekly Jams and Weekly Exploration. Aurral always resolves those two to the newest generated playlist rather than a dated snapshot.
A JSON file, with no account at all
The route that always works. Export the playlist with Exportify, convert the CSV with the converter on this site, then import the JSON. Aurral accepts several shapes:
- An exported Aurral playlist file
- One playlist object with a tracks array
- A bare array of tracks, read as one playlist
- An object with a playlists array, read as several playlists
- An object with a playlist property holding one playlist
Each track needs an artist and a track name. Accepted keys are forgiving, because they have to survive whatever a third-party exporter produced:
| Field | Accepted keys |
|---|---|
| Artist | artistName, artist, artist_name, Artist Name(s) |
| Track | trackName, title, name, track, Track Name |
| Album (optional) | albumName, album, Album Name |
| Artist ID (optional) | artistMbid, artistId, mbid |
The smallest valid track needs two fields:
{
"artistName": "Burial",
"trackName": "Archangel"
}Sync schedules and removed tracks
Every provider import has a sync schedule. Choose None for a fixed tracklist, change it later with Auto-sync, or force a read with Sync now. A sync re-reads the provider playlist, removes what is gone and queues what is new.
The default for a removed track is that it leaves your playlist while its file stays in the library, because you may have added it deliberately at some point. Turn off Keep removed tracks in library to have Aurral delete the file instead, provided no other playlist uses it. It never deletes Lidarr files or files it did not download.
Reusing files instead of re-downloading
On import, Aurral checks each track against the library first. Anything already present, whether Aurral downloaded it or Lidarr owns the file, is reused. Only genuinely missing tracks are searched. This is the single biggest reason an import of a familiar playlist is fast and quiet.
Retry logic follows the same principle. A file or release that already failed a check, or that failed to download, is not offered again on the next search.
Stopping plays from polluting recommendations
Both kinds of playlist have a Scrobble tracks setting. Turning it off stops plays from that playlist being recorded in your listening history, your recommendations or your scrobbling services. The setting is per playlist, and plays already recorded before the change remain.
Showing which tracks actually have files
Static playlists have a Show track availability setting, off by default. On, each track carries a coloured mark for available, downloading, queued, missing or waiting for review. Pointer or keyboard focus on the mark reads the state out loud, and the playlist header shows how many tracks are ready. Missing tracks can be re-searched from their own menu.
What deletion actually does
Removing a playlist or a track cancels its downloads first, then clears the job. The removal can stay queued while Aurral tidies up playback playlists and files.
- If a download client finishes a request after the removal, the result is not imported. The client may still show the work until it reports it as cancelled or finished.
- If a download client is no longer configured but still holds work for the playlist, the removal fails and both are kept. Configure the client again, then retry.
- Usenet or deemix files Aurral cannot prove it owns are never deleted.
- When Aurral cleans up on its own, such as a Flow rotating out or a synced playlist dropping a track, it first asks the connected playback servers which files their playlists still use, and keeps anything still referenced. If a server is unreachable it waits and retries later.
Where the files go
Permanent tracks live in Artist/Album folders inside the Downloads Folder. When Aurral knows a track's position on the album it names the file 07 - Title, so the folder lists in album order. Flow files are temporary and stay under _flows.
Playlist names differ per server, which matters if you run more than one. Navidrome defaults to username - playlist nameand you can turn that prefix off in settings. Plex uses the bare name inside the playlist owner's Plex account. Jellyfin uses the bare name as a private playlist under the Jellyfin user with the same name.
Frequently asked questions
Which services can I import a playlist from?
Spotify, YouTube Music, Last.fm, ListenBrainz and plain JSON files. Spotify uses its own OAuth connection, YouTube Music only needs a pasted playlist URL, and the JSON route needs no account at all.
Do imported playlists re-download tracks I already have?
No. Aurral reuses finished library tracks and existing Lidarr files where it can, and only searches for what is genuinely missing.
What happens when the provider removes a track?
By default the track leaves your playlist but its file stays in the library. Turn off Keep removed tracks in library to delete the file instead, as long as no other playlist uses it.
Can I import a Spotify playlist without connecting Spotify?
Yes. Export the playlist with Exportify, convert the CSV with the free converter on this site, then import the JSON file. Everything happens in your browser.
Why can I only import public YouTube Music playlists?
Reading a private playlist, your Liked Music or your personal library requires a Google sign-in that Aurral does not perform. Public playlists work without any credential.
Can a Flow become a normal playlist later?
Yes. Save as playlist in the Flow menu creates a static playlist from everything the Flow has finished, with Static appended to the name.
Related pages
Scheduled Flows
Playlists that rebuild themselves and replace failed downloads.
Spotify CSV to JSON converter
Free, runs in your browser, nothing is uploaded.
Importing playlists from other services
What to expect from each provider before you start.
Moving off Spotify
What breaks, and what genuinely cannot be self-hosted.
Bring your playlists across
Pick an import route that fits your account situation. Most people start with one Spotify playlist and a JSON import for everything they cannot connect.