Spotify ACTION
Get a Playlist's Items
Get full details of the items of a playlist owned by a Spotify user. See the docs here.
- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Spotify account once, then configure and run Get a Playlist's Items from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "spotify-get-playlist-items",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
spotify: { authProvisionId: "apn_xxxxxxx" },
playlistId: "Playlist ID",
fields: "Fields",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "spotify-get-playlist-items",
"configured_props": {
"spotify": { "authProvisionId": "apn_xxxxxxx" },
"playlistId": "Playlist ID",
"fields": "Fields"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "spotify",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "spotify-get-playlist-items",
arguments: {
playlistId: "Playlist ID",
fields: "Fields",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
playlistId Playlist ID | string | Select an existing playlist or pass a custom expression to reference a specific playlist_id (for example, 3cEYpjA9oz9GiPac4AsH4n). Required Dynamic |
fields Fields | string | 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 for more information. Optional |
limit Limit | integer | The maximum number of items to return. The default is 100. Optional |
offset Offset | integer | The index of the first item to return. Default: 0 (the first object). Use with limit to get the next set of items. Optional |
additionalTypes Additional Types | string[] | 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. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- spotify-get-playlist-items
- Version
- 0.1.7
- App
- Spotify
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗