Resources · n8n integration

Spotify n8n integrationAutomate Spotify with n8n.

Every Spotify n8n integration starts with one question: which operation does what? The node ships 30 operations across 7 resources, from album lookups to player controls. No Spotify trigger node exists, so the workflow starts on a Schedule Trigger or a Webhook.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Spotify n8n integration actually do?

The Spotify node ships with n8n and talks to the Spotify Web API on your behalf. It gives a workflow 30 operations spread over 7 resources: Album, Artist, Library, My Data, Player, Playlist and Track. Reads cover public catalog data, the music saved on the account and recent listening history. Writes cover playlists and playback on whatever device is currently active.

Scenario one, the monthly recap. A Schedule Trigger fires on the first of the month, library.getLikedTracks pulls everything saved on the account with Return All switched on, and the tracks land in a fresh playlist. Same run, the list gets appended to a spreadsheet through Google Sheets so the history survives outside Spotify.

Scenario two, the office soundtrack. player.startMusic takes a playlist, artist or album URI and starts it on the active device, player.volume drops the level when a meeting begins, and player.pause ends it. Hook the same workflow to a physical button through Home Assistant, or match the room lighting with Philipshue.

Scenario three, artist watch. artist.getAlbums and album.getNewReleases run on a schedule, a Code node compares the result with last week's, and anything new gets posted to a channel with Slack.

What the node does not expose, HTTP Request does. Any Spotify Web API endpoint missing from the 30 operations is one HTTP Request node away, reusing the same credential through predefined authentication.

Three limits are worth knowing before you plan anything. Every Player operation targets the device currently active on the account, so nothing happens when nothing is playing anywhere. Lists are paginated: with Return All off, you get at most what Limit allows. And there is no Spotify trigger node, which is why each example above starts on a Schedule Trigger or on the Webhook node, a URL n8n exposes so another service can call the workflow.

Still choosing a platform? The n8n review covers hosting and cost, and the n8n training walks through building a first workflow end to end.

Connect

How do you connect Spotify to n8n?

  1. 01

    Create a Spotify app

    The Spotify credential in n8n supports one authentication method, OAuth2. If you self-host n8n, you need a Spotify Developer account to issue the keys. Open the Spotify developer dashboard, select Create an app, fill in an App name such as n8n integration and an App description, then check the box agreeing to the Spotify Terms of Service and Branding Guidelines.

  2. 02

    Register the redirect URL

    Open a new Spotify credential in n8n, from the Credentials menu, and copy the OAuth Redirect URL it displays. Paste that value into the Redirect URI field of the Spotify app, then select Create in the dashboard. The App overview page opens, and that is where the keys live. Skip this and the authorization step later will bounce.

  3. 03

    Authorize the account

    Copy the Client ID from the App overview page into the n8n credential, do the same with the Client Secret, then select Connect my account and follow the on-screen prompts. A credential is created once and reused everywhere: every Spotify node in every workflow picks it from a dropdown, so you never paste those keys into a node again.

Actions

What can the Spotify node do?

The Spotify node exposes 30 operations across 7 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Resources × operations matrix
ResourceCreate a PlaylistGetRemove an ItemAdd an ItemAdd Song to QueueCurrently PlayingGet AlbumsGet Audio FeaturesGet Following ArtistsGet Liked TracksGet New ReleasesGet Related ArtistsGet Top TracksGet TracksGet the User's PlaylistsNext SongPausePrevious SongRecently PlayedResumeSearchStart MusicSet Volume
Album✓✓✓✓
Artist✓✓✓✓✓
Library✓
My Data✓
Player✓✓✓✓✓✓✓✓✓
Playlist✓✓✓✓✓✓✓
Track✓✓✓

Album

4 operations
01

Get an album

album.get

What you see in n8n

Notes & use cases

Point this at one album and Spotify returns its record: title, release information, cover art and the artists credited on it.

Key parameters

  • Album ID: the album's Spotify URI or ID, in the spotify:album:1YZ3k65Mqw3G8FzYlW1mmp form. When the value arrives from an earlier node, an expression like {{ $json.id }} reads it off the incoming item, and n8n blocks the run if the field ends up empty.
Use cases
enriching a bare album ID collected somewhere else, so a catalog row carries the real title instead of a string of characters.
02

Get new album releases

album.getNewReleases

What you see in n8n

Notes & use cases

Spotify keeps a rolling list of albums that just came out, and this operation reads it without any ID to supply.

Key parameters

  • Return All: on, n8n walks the pages of the release feed until it runs out; off, it stops at Limit.
  • Limit: how many albums come back when Return All is off.
  • Country: optional, under Filters, to read the releases of one country rather than the default feed.
Use cases
a Friday digest of new records, filtered to one market, sent to the team channel.
03

Get an album's tracks by URI or ID

album.getTracks

What you see in n8n

Notes & use cases

Here the album stays in the background and its track listing comes out, one item per song.

Key parameters

  • Album ID: the same URI or ID as the album lookup, often {{ $json.id }} chained from a search.
  • Return All: on for a complete listing, which matters on long compilations.
  • Limit: the ceiling when Return All is off, so a short result usually means this value, not a missing track.
Use cases
feeding a queue song by song, or exporting a tracklist next to its album row.

Artist

5 operations
05

Get an artist

artist.get

What you see in n8n

Notes & use cases

One artist in, one record out, with the name, genres and images Spotify holds for them.

Key parameters

  • Artist ID: the artist's Spotify URI or ID, shaped like spotify:artist:4LLpKhyESsyAXpc4laK94U. The plain ID works too, and the field is required, so an empty expression stops the node.
Use cases
a booking sheet where each name gets checked against the real artist page before anyone sends an email, so two artists with similar names never get confused.
06

Get an artist's albums by URI or ID

artist.getAlbums

What you see in n8n

Notes & use cases

A discography in one call: every album credited to the artist comes back as a separate item.

Key parameters

  • Artist ID: the artist's URI or ID, the same value the artist lookup takes.
  • Return All: on, n8n keeps requesting pages until the discography is complete.
  • Limit: the cap when Return All is off, handy when only the recent output matters.
Use cases
a release watch that stores album IDs on each run and flags whatever was not there the week before.
07

Get an artist's related artists by URI or ID

artist.getRelatedArtists

What you see in n8n

Notes & use cases

Spotify maintains its own list of artists close to a given one, and this operation hands that list to the workflow.

Key parameters

  • Artist ID: the URI or ID of the artist you want neighbours for, commonly {{ $json.id }} from an artist search that ran just before.
Use cases
growing a discovery playlist without picking anything by hand, by chaining this into a top tracks call and keeping the first result of each related artist.
08

Get an artist's top tracks by URI or ID

artist.getTopTracks

What you see in n8n

Notes & use cases

Popularity is local, so this operation asks which country you mean before returning an artist's most played songs.

Key parameters

  • Artist ID: the artist's Spotify URI or ID.
  • Country: required here, and it is free text rather than a dropdown. Enter the postal abbreviation, US for instance, and expect a different ranking per market.
Use cases
a playlist built for one office, where the same artists are seeded from the country the team actually listens in.

Library

1 operation
10

Get liked tracks

library.getLikedTracks

What you see in n8n

Notes & use cases

The Library resource has a single operation, and it reads the songs saved on the authorized account.

Key parameters

  • Return All: on for the whole library, which is the only setting that makes sense for a backup.
  • Limit: with Return All off, the number of saved tracks to bring back, newest first.
Use cases
the monthly playlist habit, where a schedule collects what was liked since the last run and drops it into a dated playlist.

My Data

1 operation
11

Get your followed artists

myData.getFollowingArtists

What you see in n8n

Notes & use cases

Following an artist is not the same as playing one, and this operation lists everyone the authorized account follows.

Key parameters

  • Return All: on, every followed artist comes back page after page.
  • Limit: the ceiling when Return All is off.
Use cases
a weekly sweep that takes each followed artist, checks their albums, and reports the ones that released something. The IDs returned here feed the artist operations directly, no search needed.

Player

9 operations
12

Add a song to a queue

player.addSongToQueue

What you see in n8n

Notes & use cases

Rather than interrupting what plays, this operation slots a track behind it in the queue.

Key parameters

  • Track ID: a track URI or ID, written like spotify:track:0xE4LEFzSNGsz1F6kvXsHU, often {{ $json.id }} from a track search.
Use cases
a request channel where each message queues a song on the shared speaker. Nothing is queued if no device is active on the account, so pair it with the currently playing check.
13

Get the currently playing track

player.currentlyPlaying

What you see in n8n

Notes & use cases

This one takes no fields at all. n8n asks the account what is playing right now and returns the track, with nothing to configure beyond the credential.

Use cases
a status line that answers what is on, or the guard in front of every other Player operation. Because playback commands act on the active device, running this first tells the workflow whether anything is listening. An IF node on the result decides between sending a pause and doing nothing at all.
14

Skip to the next track

player.nextSong

What you see in n8n

Notes & use cases

The workflow equivalent of pressing skip: playback moves to whatever sits next in the queue, and no parameter is needed.

Use cases
a veto button in a shared office, wired to a chat command or a smart switch, so anyone can move past a song without opening the app. Keep in mind that the command lands on the device currently active on the account, so it does nothing when playback is stopped everywhere.
15

Pause the player

player.pause

What you see in n8n

Notes & use cases

Silence, in one node and zero fields. Playback stops on the active device and the position is kept, which is what makes the resume operation useful afterwards.

Use cases
a calendar-driven workflow that cuts the music when a meeting starts, or a doorbell event that clears the room noise. Since there is no Spotify trigger, the event that calls it comes from a Schedule Trigger or from a Webhook fired by another tool.
16

Skip to the previous song

player.previousSong

What you see in n8n

Notes & use cases

Going backwards works the same way as skipping forward, without any field to fill in.

Use cases
the second half of a physical remote, where one button moves forward and another goes back to the track that just finished. Useful too in a demo workflow, since replaying the last song is a quick way to check that the credential really controls the right account. Nothing happens if no device is active.
17

Get the recently played tracks

player.recentlyPlayed

What you see in n8n

Notes & use cases

Listening history, freshest first, is what comes out of this operation.

Key parameters

  • Return All: on, n8n pages through the history Spotify keeps.
  • Limit: the number of past tracks to return when Return All is off, which is usually enough for a daily run.
Use cases
a listening log written to a sheet every evening, or a workflow that spots songs played several times and adds them to a shortlist playlist.
18

Resume the player

player.resume

What you see in n8n

Notes & use cases

Playback picks up on the current active device, from where it stopped, and again there is nothing to configure.

Use cases
the closing step of a meeting workflow that paused the music earlier, so the room comes back to life on its own once the calendar slot ends. Pair it with the currently playing check when several people share a speaker, otherwise the workflow restarts a session someone else had deliberately stopped.
19

Set volume on the player

player.volume

What you see in n8n

Notes & use cases

Loudness becomes a workflow variable here, applied to the current active device.

Key parameters

  • Volume: the volume percentage to set, a number rather than a step up or down, so the workflow decides the exact level instead of nudging it.
Use cases
an evening ramp-down that lowers the office speaker as people leave, or a smart home routine that sets one level for focus hours and another for the end of the day.
20

Start music on the player

player.startMusic

What you see in n8n

Notes & use cases

Playback begins from a container rather than a single song: a playlist, an artist or an album, whichever URI you hand over.

Key parameters

  • Resource ID: a playlist, artist or album URI or ID, for example spotify:album:1YZ3k65Mqw3G8FzYlW1mmp. One field covers the three types, so the same node can start any of them.
Use cases
an opening routine that launches the morning playlist when the office alarm is switched off.

Playlist

7 operations
21

Add an Item to a playlist

playlist.add

What you see in n8n

Notes & use cases

This operation pushes a track into a playlist that already exists on the connected account, so a workflow can fill a playlist track by track instead of someone dragging songs in the app.

Key parameters

  • Playlist ID: the playlist's Spotify URI or its ID, in the form spotify:playlist:37i9dQZF1DWUhI3iC1khPH.
  • Track ID: the track's Spotify URI or ID, the track to add to the playlist, often {{ $json.id }} from a search step.
  • Position: an optional field that sets where the new track lands in the playlist.
Use cases
an indie label queues each new release into its "Fresh cuts" playlist the day it ships, with Position set to 0 so the newest track sits on top.
22

Create a playlist

playlist.create

What you see in n8n

Notes & use cases

Here the node creates a brand new playlist on the connected account and hands back its ID, which every later playlist operation needs as input.

Key parameters

  • Name: the name of the playlist to create, such as Favorite Songs. Build it with an expression when the name carries a date or a campaign label.
  • Description: optional free text shown under the playlist title.
  • Public: optional switch that decides whether the playlist is publicly accessible.
Use cases
a monthly workflow spins up a dated playlist, keeps the returned ID in memory, then feeds it with Add an Item for the rest of the month.
23

Get a playlist

playlist.get

What you see in n8n

Notes & use cases

Point the node at one playlist and it returns that playlist's own data, without its track list. Useful when a workflow needs to confirm a playlist still exists before writing to it.

Key parameters

  • Playlist ID: the playlist's Spotify URI or its ID. Both forms work, so spotify:playlist:37i9dQZF1DWUhI3iC1khPH and the bare ID behind it lead to the same result.
Use cases
a radio show reads its playlist before each broadcast, then branches: if the call fails, the workflow creates a replacement playlist instead of writing into nothing.
24

Get a user's playlists

playlist.getUserPlaylists

What you see in n8n

Notes & use cases

Rather than one playlist, this operation lists the playlists tied to the connected account, one item per playlist, which gives a workflow something to loop over.

Key parameters

  • Return All: turned on, n8n walks through the API pages and brings back every playlist; turned off, it stops at Limit.
  • Limit: the maximum number of playlists returned when Return All stays off.
Use cases
a weekly audit pulls all playlists, sends the names to a spreadsheet, and flags the ones nobody has touched since the last run.
25

Get a playlist's tracks by URI or ID

playlist.getTracks

What you see in n8n

Notes & use cases

Reading the contents of a playlist happens here: n8n returns the tracks it holds, one n8n item per track, ready for a filter, a loop or an export node.

Key parameters

  • Playlist ID: the playlist's Spotify URI or its ID, the playlist to read.
  • Return All: on for a full export of a long playlist, since the API sends tracks page by page.
  • Limit: caps the number of tracks when Return All is off.
Use cases
a running club dumps its shared playlist to a sheet every Monday to see which tracks were added during the week.
26

Remove an item from a playlist

playlist.delete

What you see in n8n

Notes & use cases

Cleanup is the mirror of Add an Item: the node takes a track out of a playlist and leaves the rest untouched.

Key parameters

  • Playlist ID: the playlist's Spotify URI or its ID, the playlist being edited.
  • Track ID: the track's Spotify URI or ID, the track to delete from the playlist, such as spotify:track:0xE4LEFzSNGsz1F6kvXsHU.
Use cases
a rolling playlist keeps a fixed length: Get a playlist's tracks feeds the list, a Code node picks the oldest entries, and this operation drops them one by one.

Track

3 operations
28

Get a track

track.get

What you see in n8n

Notes & use cases

One track in, that track's Spotify data out. This is the operation a workflow calls when it holds an identifier and needs the readable details behind it.

Key parameters

  • Track ID: the track's Spotify URI or ID. A URI like spotify:track:0xE4LEFzSNGsz1F6kvXsHU works, and so does the ID alone, which matters when the value arrives from another node as {{ $json.trackId }}.
Use cases
a logging workflow stores raw track IDs during the day, then resolves each one at night so the archive holds names instead of identifiers.
29

Get audio features of a track

track.getAudioFeatures

What you see in n8n

Notes & use cases

Spotify computes a set of audio features for each track, and this operation returns them for the track you name. It answers questions about how a track sounds, not about who released it.

Key parameters

  • Track ID: the track's Spotify URI or ID, the track whose features get pulled. Chain it after a search step so the identifier comes from the previous node.
Use cases
a playlist curator scores candidate tracks on their audio features before deciding which ones join the workout playlist and which ones go to the evening one.
Need help

Need help automating Spotify with n8n?

A person reads every message.

FAQ

Spotify and n8n, the common questions

01Is the Spotify n8n integration free?
Yes on the n8n side. The Spotify node ships with n8n, so there is nothing to install and nothing extra to pay, whether you run n8n Cloud or a self-hosted Community Edition instance under the Sustainable Use license. A workflow behaves the same way in both places, so you can prototype on one and move it to the other without rewriting anything. What Spotify itself charges for an account is a separate question and this page does not cover it. The one thing self-hosting adds is a Spotify Developer account, needed to create the app that issues your Client ID and Client Secret.
02Which credentials does the Spotify node need?
One OAuth2 credential, the only authentication method the Spotify credential supports. Self-hosting means opening the Spotify developer dashboard, selecting Create an app, filling in App name and App description, and agreeing to the Spotify Terms of Service and Branding Guidelines. Copy the OAuth Redirect URL from n8n into the Redirect URI field of the app, paste the Client ID and Client Secret back into the n8n credential, then finish the authorization from that credential screen. A credential is created once from the Credentials menu, and every Spotify node in every workflow picks it from a dropdown instead of storing the keys again.
03What are the limits of the Spotify node in n8n?
It covers 30 operations across 7 resources, which is a lot, though not the whole Spotify Web API. Anything missing goes through the HTTP Request node, which calls any endpoint while reusing the same credential through predefined authentication. Two behaviors catch people out. Lists are paginated: with Return All off you get at most what Limit allows, so an export that looks short is usually a Limit problem rather than missing data. And every Player operation targets the device currently active on the account, so pause, resume, volume and queue do nothing when nothing is playing anywhere.
04Does the Spotify node react in real time?
No, because there is no Spotify trigger node in n8n. Nothing watches the account and pushes an event the moment a track starts. A workflow that involves Spotify has to start somewhere else: a Schedule Trigger running on a fixed interval, the n8n Webhook node, which exposes a URL another service can call, or the trigger of another tool sitting in the same workflow. A schedule is enough for library and catalog work, since liked tracks and new releases do not need a reaction within the second. For a button press, a webhook from a smart home hub gets you close to instant.
05n8n or Make for Spotify?
It depends on where you want the workflow to live. Make is hosted only, billed per operation, and its visual editor is quick to pick up. n8n runs on n8n Cloud or on your own server through Docker or npm, with the same workflow in both cases, so the data path and the credentials stay under your control when that matters. Cost behaves differently too: per-operation billing is predictable at low volume and much less so when a library sync loops over a whole saved collection. Both reach Spotify through OAuth2, so the real deciding factors are hosting, data control and how you prefer to build.