Back to tools

AI Agent Tool

Spotify logo

Spotify

Audio streaming platform for music and podcasts with a self-serve advertising platform.

AdvertisingVerified

spotify.com

•

One-click Login

About Spotify

Spotify is the world's largest audio streaming service with over 600 million users and 100 million tracks. For businesses, Spotify Ads offers self-serve audio, video, and podcast advertising targeting listeners by demographic, genre, mood, and podcast consumption habits. Minimum campaign budgets start at $250. Note: In February 2026, Spotify significantly restricted its developer API, limiting third-party app integrations and removing several endpoints.

AI Agent Use Cases

- Audio ads (15-30 seconds) served between tracks to free-tier listeners

- Podcast ad placements in native host-read or dynamically inserted format

- Sponsored Sessions and playlist sponsorships for branded experiences

- Audience targeting by age, gender, genre, mood, and listening context

- Spotify Ad Studio self-serve campaign management dashboard

- Streaming Intelligence data for campaign performance analytics

Available Actions

These are the specific actions that AI agents can perform with this tool

Inputs

playlistId

Select an existing playlist or pass a custom expression to reference a specific [`playlist_id`](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `3cEYpjA9oz9GiPac4AsH4n`).

uris

Type to search for any tracks or episodes on Spotify, or enter a custom expression to reference specific [track or episode URIs](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:episode:512ojhOuo1ktJprKbVcKyQ`). A maximum of 100 items can be added in one request.

position

The position to insert the items, a zero-based index. For example, to insert the items in the first position: `0`; to insert the items in the third position: `2`. If omitted, the items will be appended to the end of the playlist. Items are added in the order they are listed in the query string or request body.

Inputs

user_id

The Spotify user ID for whom the playlist will be created.

name

The name for the new playlist, which does not need to be unique.

public

The public/private status of the playlist; true will make it public and added to the user's profile.

collaborative

If true, the playlist will be collaborative and require 'public' to be set to false.

description

The textual description for the playlist.

Inputs

name

The name for the new playlist, for example \

description

Value for playlist description as displayed in Spotify Clients and in the Web API.

isPublic

Defaults to `true`. If `true` the playlist will be public, if `false` it will be private.

isCollaborative

Defaults to `false`. If `true` the playlist will be collaborative. Note that to create a collaborative playlist you must also set **public** to `false`.

Inputs

albumId

Type to search for any album on Spotify or enter a custom expression to specify an album

Inputs

artistId

Type to search for any artist on Spotify or enter a custom expression to specify an artist

market

Type to search for a country or enter a custom expression to specify the [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

Inputs

trackId

Type to search for any track or artist on Spotify, or enter a custom expression to reference a specific [track ID](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `4iV5W9uYEdYUVa79Axb7Rh`).

Inputs

seedArtists

An array of Spotify IDs for seed artists. Type to search for any artist on Spotify. Up to 5 seed values may be provided in any combination of `seedArtists`, `seedTracks` and `seedGenres`.

seedGenres

An array of genres. Up to 5 seed values may be provided in any combination of `seedArtists`, `seedTracks` and `seedGenres`.

seedTracks

An array of Spotify IDs for a seed track. Type to search for any track on Spotify. Up to 5 seed values may be provided in any combination of `seedArtists`, `seedTracks` and `seedGenres`.

limit

The maximum number of items to return. The default is 100.

Inputs

categoryId

Type to search for a category or enter a custom expression to reference a specific [category ID](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `party`).

market

Type to search for a country or enter a custom expression to specify the [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

limit

The maximum number of items to return. Default: 20.

offset

The index of the first item to return. Default: 0 (the first object). Use with `limit` to get the next set of items.

Inputs

playlistId

Select an existing playlist or pass a custom expression to reference a specific [`playlist_id`](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `3cEYpjA9oz9GiPac4AsH4n`).

Inputs

playlistId

Select an existing playlist or pass a custom expression to reference a specific [`playlist_id`](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `3cEYpjA9oz9GiPac4AsH4n`).

fields

Filters for the query: a comma-separated list of the fields to return. If omitted, all fields are returned. For example, to get just the total number of items and the request limit: `total,limit`. [See the docs](https://developer.spotify.com/documentation/web-api/reference/#/operations/get-playlists-tracks) for more information.

limit

The maximum number of items to return. The default is 100.

offset

The index of the first item to return. Default: 0 (the first object). Use with `limit` to get the next set of items.

additionalTypes

A comma-separated list of item types that your client supports besides the default `track` type. Valid types are: `track` and `episode`. **Note**: This parameter was introduced to allow existing clients to maintain their current behaviour and might be deprecated in the future. In addition to providing this parameter, make sure that your client properly handles cases of new types in the future by checking against the `type` field of each object.

Inputs

trackId

Type to search for any track or artist on Spotify, or enter a custom expression to reference a specific [track ID](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `4iV5W9uYEdYUVa79Axb7Rh`).

market

Type to search for a country or enter a custom expression to specify the [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

Inputs

artistId

Type to search for any artist on Spotify or enter a custom expression to specify an artist

market

Type to search for a country or enter a custom expression to specify the [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

Inputs

market

Type to search for a country or enter a custom expression to specify the [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).

Inputs

playlistId

Select an existing playlist or pass a custom expression to reference a specific [`playlist_id`](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `3cEYpjA9oz9GiPac4AsH4n`).

playlistTracksUris

Select tracks or episodes to remove, or enter a custom expression to reference specific [Spotify URIs](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `spotify:track:4iV5W9uYEdYUVa79Axb7Rh, spotify:episode:512ojhOuo1ktJprKbVcKyQ`). A maximum of 100 URIs can be sent at once.

snapshotId

The playlist’s snapshot ID against which you want to make the changes. The API will validate that the specified items exist and in the specified positions and make the changes, even if more recent changes have been made to the playlist.

Inputs

savedUserTracksId

Search saved user tracks in \

Inputs

trackIds

Type to search for any tracks on Spotify or enter a custom expression to reference specific [Track IDs](https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids) (for example, `4iV5W9uYEdYUVa79Axb7Rh` or `4iV5W9uYEdYUVa79Axb7Rh, 0gplL1WMoJ6iYaPgMCL0gX`).