Shows
Show operations live under client.shows.
Methods
| Method | Returns | Description |
|---|---|---|
get(id, market=None) |
Show |
Fetch a single show by Spotify ID |
get_episodes(id, market=None, limit=20, offset=0) |
Page[SimplifiedEpisode] |
Fetch episodes for a show |
get_saved(limit=20, offset=0) |
Page[SavedShow] |
Fetch current user's saved shows |
Required scopes
Spotify requires a user-scoped access token for get_saved.
Ensure your auth flow requests user-library-read.
Examples
import asyncio
from spotify_sdk import AsyncSpotifyClient
async def main() -> None:
async with AsyncSpotifyClient(access_token="your-access-token") as client:
show = await client.shows.get("show_id_123")
episodes = await client.shows.get_episodes(show.id, limit=10)
saved_shows = await client.shows.get_saved(limit=10)
asyncio.run(main())
API details
The sync client mirrors these methods, minus the await keywords.
Bases: AsyncBaseService
Operations for Spotify shows and episodes.
get(id, market=None)
async
Get a show by ID.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The Spotify ID for the show. |
required |
market
|
str | None
|
An ISO 3166-1 alpha-2 country code for availability. |
None
|
Returns:
| Type | Description |
|---|---|
Show
|
The requested show. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If id is empty. |
get_episodes(id, market=None, limit=20, offset=0)
async
Get a show's episodes.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id
|
str
|
The Spotify ID for the show. |
required |
market
|
str | None
|
An ISO 3166-1 alpha-2 country code for availability. |
None
|
limit
|
int
|
Maximum number of episodes to return (1-50, default 20). |
20
|
offset
|
int
|
Index of the first episode to return. |
0
|
Returns:
| Type | Description |
|---|---|
Page[SimplifiedEpisode]
|
Paginated list of episodes. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If id is empty. |