Spotify
Arcade.dev LLM tools for Spotify
The Arcade toolkit for Spotify empowers developers to integrate with Spotify's music streaming services seamlessly. It enables a variety of playback functionalities and retrieval of music data.
Capabilities
- Control playback by adjusting position, pausing, and resuming tracks.
- Access information on available devices and currently playing tracks.
- Search the Spotify catalog with advanced filtering options.
- Queue and play tracks or albums based on artist, name, or ID.
OAuth
- Auth is via OAuth2 with provider Spotify.
- Required scopes include
user-modify-playback-state,user-read-currently-playing, anduser-read-playback-state.
Available tools(13)
| Tool name | Description | Secrets | |
|---|---|---|---|
Adjust the playback position within the currently playing track.
Knowledge of the current playback state is NOT needed to use this tool as it handles
clamping the position to valid start/end boundaries to prevent overshooting or negative values.
This tool allows you to seek to a specific position within the currently playing track.
You can either provide an absolute position in milliseconds or a relative position from
the current playback position in milliseconds.
Note:
Either absolute_position_ms or relative_position_ms must be provided, but not both. | |||
Get the available devices | |||
Get information about the user's currently playing track | |||
Get information about the user's current playback state,
including track or episode, and active device.
This tool does not perform any actions. Use other tools to control playback. | |||
Get information about a track | |||
Pause the currently playing track, if any | |||
Plays a song by an artist and queues four more songs by the same artist | |||
Plays a song by name | |||
Resume the currently playing track, if any | |||
Search Spotify catalog information
Explanation of the q parameter:
You can narrow down your search using field filters.
Available filters are album, artist, track, year, upc, tag:hipster, tag:new, isrc, and
genre. Each field filter only applies to certain result types.
The artist and year filters can be used while searching albums, artists and tracks.
You can filter on a single year or a range (e.g. 1955-1960).
The album filter can be used while searching albums and tracks.
The genre filter can be used while searching artists and tracks.
The isrc and track filters can be used while searching tracks.
The upc, tag:new and tag:hipster filters can only be used while searching albums.
The tag:new filter will return albums released in the past two weeks and tag:hipster
can be used to return only albums with the lowest 10% popularity.
Example: q="remaster track:Doxy artist:Miles Davis" | |||
Skip to the next track in the user's queue, if any | |||
Skip to the previous track in the user's queue, if any | |||
Start playback of a list of tracks (songs) |
Selected tools
No tools selected.
Click "Show all tools" to add tools.
Requirements
Select tools to see requirements
Spotify.AdjustPlaybackPosition
Adjust the playback position within the currently playing track. Knowledge of the current playback state is NOT needed to use this tool as it handles clamping the position to valid start/end boundaries to prevent overshooting or negative values. This tool allows you to seek to a specific position within the currently playing track. You can either provide an absolute position in milliseconds or a relative position from the current playback position in milliseconds. Note: Either absolute_position_ms or relative_position_ms must be provided, but not both.
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
absolute_position_ms | integer | Optional | The absolute position in milliseconds to seek to |
relative_position_ms | integer | Optional | The relative position from the current playback position in milliseconds to seek to |
Requirements
Output
string— Success/failure messageSpotify.GetAvailableDevices
Get the available devices
Parameters
No parameters required.
Requirements
Output
json— The available devicesSpotify.GetCurrentlyPlaying
Get information about the user's currently playing track
Parameters
No parameters required.
Requirements
Output
json— Information about the user's currently playing trackSpotify.GetPlaybackState
Get information about the user's current playback state, including track or episode, and active device. This tool does not perform any actions. Use other tools to control playback.
Parameters
No parameters required.
Requirements
Output
json— Information about the user's current playback stateSpotify.GetTrackFromId
Get information about a track
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
track_id | string | Required | The Spotify ID of the track |
Requirements
Output
json— Information about the trackSpotify.PausePlayback
Pause the currently playing track, if any
Parameters
No parameters required.
Requirements
Output
string— Success/failure messageSpotify.PlayArtistByName
Plays a song by an artist and queues four more songs by the same artist
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
name | string | Required | The name of the artist to play |
Requirements
Output
string— Success/failure messageSpotify.PlayTrackByName
Plays a song by name
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
track_name | string | Required | The name of the track to play |
artist_name | string | Optional | The name of the artist of the track |
Requirements
Output
string— Success/failure messageSpotify.ResumePlayback
Resume the currently playing track, if any
Parameters
No parameters required.
Requirements
Output
string— Success/failure messageSpotify.Search
Search Spotify catalog information Explanation of the q parameter: You can narrow down your search using field filters. Available filters are album, artist, track, year, upc, tag:hipster, tag:new, isrc, and genre. Each field filter only applies to certain result types. The artist and year filters can be used while searching albums, artists and tracks. You can filter on a single year or a range (e.g. 1955-1960). The album filter can be used while searching albums and tracks. The genre filter can be used while searching artists and tracks. The isrc and track filters can be used while searching tracks. The upc, tag:new and tag:hipster filters can only be used while searching albums. The tag:new filter will return albums released in the past two weeks and tag:hipster can be used to return only albums with the lowest 10% popularity. Example: q="remaster track:Doxy artist:Miles Davis"
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
q | string | Required | The search query |
types | array<string> | Required | The types of results to returnalbumartistplaylisttrackshowepisodeaudiobook |
limit | integer | Optional | The maximum number of results to return |
Requirements
Output
json— A list of artists matching the search querySpotify.SkipToNextTrack
Skip to the next track in the user's queue, if any
Parameters
No parameters required.
Requirements
Output
string— Success/failure messageSpotify.SkipToPreviousTrack
Skip to the previous track in the user's queue, if any
Parameters
No parameters required.
Requirements
Output
string— Success/failure messageSpotify.StartTracksPlaybackById
Start playback of a list of tracks (songs)
Parameters
| Parameter | Type | Req. | Description |
|---|---|---|---|
track_ids | array<string> | Required | A list of Spotify track (song) IDs to play. Order of execution is not guarenteed. |
position_ms | integer | Optional | The position in milliseconds to start the first track from |
Requirements
Output
string— Success/failure message