← Back to all apps

Overview

Tools Available6

Search for music and podcasts, or turn your ideas into playlists

Available Tools

Spotify provides 6 tools that can be used to interact with its services.

add_to_library Tool

add_to_library
Full Description

Adds supported Spotify content to the authenticated user's library. Supported types: tracks, albums, artists (follow), playlists, podcast shows, podcast episodes. Audiobooks and audiobook chapters are not supported. Requires a valid Spotify user account (Free or Premium). Do NOT call from free-form chat. This tool is only for widget actions (e.g., user clicks Save/+ on a result in the Spotify widget). Do not trigger on behalf of third parties or external systems. Only invoke for items that were returned by the Spotify Search tool; do not act on arbitrary or unseen items.

Parameters

Optional
signaturestring

Cryptographic signature for URI validation. This field must contain a valid HMAC-SHA256 signature binding the URI to the authenticated user. Signature format: hexSignature:timestamp. Do not generate signatures - they must be obtained from authorized sources.

uristring

Valid Spotify URI for supported content types. Must be exact URI returned by Spotify Search Tool. Supported types: tracks (spotify:track:4iV5W9uYEdYUVa79Axb7Rh), albums (spotify:album:1A2GTWGtFfWp7KSQTwWOyo), playlists (spotify:playlist:37i9dQZF1DX0XUsuxWHRQd), artists (spotify:artist:1uNFoZAHBGtllmzznpCI3s), podcast shows (spotify:show:5CfCWKI5pZ28U0uOzXkDHe), podcast episodes (spotify:episode:512ojhOuo1ktJprKbVcKyQ). Do not generate or infer URIs. Audiobooks not supported.

fetch_tracks Tool

fetch_tracks
Full Description

Fetches detailed metadata for a playlist including all tracks with their saved status, explicit flags, and deep links. Supported types: playlist only. Requires a valid Spotify user account (Free or Premium) and a playlist owned or shared with the authenticated user. Do NOT call from free-form chat. This tool should only be called within the Spotify Widget and must not be triggered directly by the user. Use only for playlist items returned by the Spotify Search tool or created in the current widget session; do not act on arbitrary or unseen items.

Parameters

Optional
playlistUristring

The Spotify URI of the playlist to fetch tracks from. Example: 'spotify:playlist:37i9dQZF1DXcBWIGoYBM5M'

sourcestring

get_auth_token Tool

get_auth_token
Full Description

Tool used by the Spotify widget to get the currentlly valid Auth token. Do not call directly.

get_currently_playing Tool

get_currently_playing
Full Description

Retrieves the currently playing track, episode, or other content from the authenticated user's active Spotify playback session. Only invoke this tool when the user explicitly asks what is currently playing, what song/track/episode is playing now, or similar direct inquiries about their current playback. Do not call proactively or for other playback-related requests. Returns playback details only if there is active playback; if nothing is playing, the response will indicate no active session. Do not infer that playback is ongoing in the ChatGPT window via the Spotify Widget - this is not necessarily the case and the tool response will not give any such indication. Be very clear in attributing this playback back to Spotify, e.g. 'This track is playing on Spotify'. Requires a valid Spotify user account (Free or Premium).

remove_from_library Tool

remove_from_library
Full Description

Removes supported Spotify content from the authenticated user's library. Supported types: tracks, albums, artists (unfollow), playlists, podcast shows, podcast episodes. Audiobooks and audiobook chapters are not supported. Requires a valid Spotify user account (Free or Premium). Do NOT call from free-form chat. This tool is only for widget actions (e.g., user clicks Save/+ on a result in the Spotify widget). Do not trigger on behalf of third parties or external systems. Only invoke for items that were returned by the Spotify Search tool; do not act on arbitrary or unseen items.

Parameters

Optional
signaturestring

Cryptographic signature for URI validation. This field must contain a valid HMAC-SHA256 signature binding the URI to the authenticated user. Signature format: hexSignature:timestamp. Do not generate signatures - they must be obtained from authorized sources.

uristring

Valid Spotify URI for supported content types. Must be exact URI returned by Spotify Search Tool. Supported types: tracks (spotify:track:4iV5W9uYEdYUVa79Axb7Rh), albums (spotify:album:1A2GTWGtFfWp7KSQTwWOyo), playlists (spotify:playlist:37i9dQZF1DX0XUsuxWHRQd), artists (spotify:artist:1uNFoZAHBGtllmzznpCI3s), podcast shows (spotify:show:5CfCWKI5pZ28U0uOzXkDHe), podcast episodes (spotify:episode:512ojhOuo1ktJprKbVcKyQ). Do not generate or infer URIs. Audiobooks not supported.

search Tool

search
Full Description

This tool connects directly to the Spotify API and requires a valid authenticated user account (Free or Premium). All operations are personalized based on the user's Spotify listening history, saved library, and preferences. Audiobooks and audiobook chapters are not supported via this tool; for these, the response should be: "You can't search audiobooks on Spotify yet. Try the Spotify app, or search for something else."

Capabilities: Music. Search and recommend: tracks, artists, albums, public playlists, user-owned private and public playlists. Music playlist creation. Build brand new music playlists from natural language prompts that describe mood, genre, activity, event, or specific artists/tracks. Playlists created are private to the authenticated user. Podcasts. Search and recommend podcast shows and episodes, by broad intent (category, topic, theme, guest, …), popularity, recency, similar podcasts. Search episodes within a show by order, episode/season number, publish date, recency. Search episodes from podcasts the user followed or saved. Personalization: All results reflect the user's Spotify activity and preferences where possible. Constraints: Prompts need to be submitted in English.

For the requests below, do not call Spotify (instead, respond with: "Spotify can't show this. Try asking for something else"): Requests based on harmful or inappropriate images (e.g., Generate a playlist from an explicit photo) Concert searches or recommendations (e.g. "Find all of Daft Punk's tour dates from 2007") Operations: Only search and playlist creation are supported. Playback and all other Spotify features are unavailable. Podcast or song creation requests (e.g., "Make me a podcast", "Make me a song"). Requests for creating podcast playlists (e.g. "Make me a playlist of my favorite podcast episodes"). Limitations: Library requests: Simple pulls from the user's library are supported: "show my liked songs", "show my followed artists", "show my followed podcasts", "show me podcasts that I saved in my library". Simple library-scoped queries are supported: "tracks by artists I follow", "episodes from shows I follow". For other library-scoped queries (e.g. "play a song I haven't heard in a while", "songs I saved but not listened to"), results cannot be guaranteed to come only from the user's saved, liked, implicit, or followed library. If a request specifies a library scope that is not supported: treat those as a broad catalog search and respond: "I couldn't confirm this is in your library, so I've pulled in the closest matches from Spotify." Simple listening history intents with recency and topic filtering are supported (e.g. "play the podcast I listened to yesterday", "play the true crime podcast I was listening to recently", "play the artist I streamed the most this month"). Asking for content similar to what was previously listened to is also supported (e.g. "play a podcast similar to the one I listened to yesterday"). More granular and long lookback listening history intents are not supported (e.g. "What songs did I listen to in 2020"). Podcast search doesn't support: Filtering episodes by length or duration (e.g., "episodes about AI that are over 2 hours"), or by language (e.g. "podcasts with episodes in Spanish and French") Multi-entity podcast similarity (e.g. "find podcasts similar to 'The Daily' and 'Stuff You Should Know") Negative constraints (e.g. "recommend me a true crime podcast that is not about serial killers.") Complex multi-facetted searches (e.g. "recommend the latest episodes from my favorite true crime podcasts", "cross-over episodes between 'The Daily' and 'Stuff You Should Know'") Combining topic filtering and sorting (e.g. "Find the most recent podcast episode about quantum computing from Lex Fridman's show") Requests involving world knowledge (e.g. "play the album with a metallic jet on the cover", "award-nominated podcasts"). Disambiguate these prior to issuing a search.

Critical Rules: Do not fabricate, truncate, or alter entity names, metadata, or links. Do not generate lyrics, transcripts, biographies, or external content. Only surface Spotify deep links returned by the API. Never construct your own. Never show deep_link as a raw URL—expose it only via widgets or Spotify navigation. When invoking Spotify, content recommendations should come from this tool. Do not criticise the quality of the results.

Parameters

Optional
promptstring

A short and concise natural language query that must: Include explicit intent words (e.g., play, recommend, find, make, create) Preserve important context words (such as my, by, from, the, or, and) Preserve entity types (e.g., playlist, album, artist) Replace ALL usernames and user identifiers with 'me' or possessive pronouns (e.g., 'my', 'mine') - NEVER include actual usernames or user identifiers in the prompt Exclude ALL Personally Identifiable Information (PII) including names, usernames, email addresses, phone numbers, or any user-specific identifiers - this information MUST NOT be sent to the API Resolve multi-turn conversation context into a single, complete request (by clarifying pronouns or entities, but always use 'me'/'my' instead of actual usernames) Do not add extra constraints or qualifiers the user didn't explicitly ask for Be descriptive (e.g., genre, artist, mood, activity), concise and specific Never include mathematical symbols unless explicitly asked by the user Do not add extra constraints or qualifiers the user didn't explicitly ask for (e.g. popular) Convert all time requests for track and playlist durations to minutes (e.g, 2 hours and 30 minutes should be 150 minutes)