---
name: spotify-web-api-with-fixes-and-improvements-from-sonallux
description: "Spotify Web API with fixes and improvements from sonallux API skill. Use when working with Spotify Web API with fixes and improvements from sonallux for albums, artists, shows. Covers 97 endpoints."
version: 1.0.0
generator: lapsh
---

# Spotify Web API with fixes and improvements from sonallux
API version: 2025.5.18

## Auth
OAuth2

## Base URL
https://api.spotify.com/v1

## Setup
1. Configure auth: OAuth2
2. GET /albums -- get several albums
3. POST /playlists/{playlist_id}/tracks -- create first track

## Endpoints
97 endpoints across 16 groups. See references/api-spec.lap for full details.

### Albums
| Method | Path | Description |
|--------|------|-------------|
| GET | /albums/{id} | Get Album |
| GET | /albums | Get Several Albums |
| GET | /albums/{id}/tracks | Get Album Tracks |

### Artists
| Method | Path | Description |
|--------|------|-------------|
| GET | /artists/{id} | Get Artist |
| GET | /artists | Get Several Artists |
| GET | /artists/{id}/albums | Get Artist's Albums |
| GET | /artists/{id}/top-tracks | Get Artist's Top Tracks |
| GET | /artists/{id}/related-artists | Get Artist's Related Artists |

### Shows
| Method | Path | Description |
|--------|------|-------------|
| GET | /shows/{id} | Get Show |
| GET | /shows | Get Several Shows |
| GET | /shows/{id}/episodes | Get Show Episodes |

### Episodes
| Method | Path | Description |
|--------|------|-------------|
| GET | /episodes/{id} | Get Episode |
| GET | /episodes | Get Several Episodes |

### Audiobooks
| Method | Path | Description |
|--------|------|-------------|
| GET | /audiobooks/{id} | Get an Audiobook |
| GET | /audiobooks | Get Several Audiobooks |
| GET | /audiobooks/{id}/chapters | Get Audiobook Chapters |

### Me
| Method | Path | Description |
|--------|------|-------------|
| GET | /me/audiobooks | Get User's Saved Audiobooks |
| PUT | /me/audiobooks | Save Audiobooks for Current User |
| DELETE | /me/audiobooks | Remove User's Saved Audiobooks |
| GET | /me/audiobooks/contains | Check User's Saved Audiobooks |
| GET | /me | Get Current User's Profile |
| GET | /me/playlists | Get Current User's Playlists |
| POST | /me/playlists | Create Playlist |
| PUT | /me/library | Save Items to Library |
| DELETE | /me/library | Remove Items from Library |
| GET | /me/library/contains | Check User's Saved Items |
| GET | /me/albums | Get User's Saved Albums |
| PUT | /me/albums | Save Albums for Current User |
| DELETE | /me/albums | Remove Users' Saved Albums |
| GET | /me/albums/contains | Check User's Saved Albums |
| GET | /me/tracks | Get User's Saved Tracks |
| PUT | /me/tracks | Save Tracks for Current User |
| DELETE | /me/tracks | Remove User's Saved Tracks |
| GET | /me/tracks/contains | Check User's Saved Tracks |
| GET | /me/episodes | Get User's Saved Episodes |
| PUT | /me/episodes | Save Episodes for Current User |
| DELETE | /me/episodes | Remove User's Saved Episodes |
| GET | /me/episodes/contains | Check User's Saved Episodes |
| GET | /me/shows | Get User's Saved Shows |
| PUT | /me/shows | Save Shows for Current User |
| DELETE | /me/shows | Remove User's Saved Shows |
| GET | /me/shows/contains | Check User's Saved Shows |
| GET | /me/following | Get Followed Artists |
| PUT | /me/following | Follow Artists or Users |
| DELETE | /me/following | Unfollow Artists or Users |
| GET | /me/following/contains | Check If User Follows Artists or Users |
| GET | /me/player | Get Playback State |
| PUT | /me/player | Transfer Playback |
| GET | /me/player/devices | Get Available Devices |
| GET | /me/player/currently-playing | Get Currently Playing Track |
| PUT | /me/player/play | Start/Resume Playback |
| PUT | /me/player/pause | Pause Playback |
| POST | /me/player/next | Skip To Next |
| POST | /me/player/previous | Skip To Previous |
| PUT | /me/player/seek | Seek To Position |
| PUT | /me/player/repeat | Set Repeat Mode |
| PUT | /me/player/volume | Set Playback Volume |
| PUT | /me/player/shuffle | Toggle Playback Shuffle |
| GET | /me/player/recently-played | Get Recently Played Tracks |
| GET | /me/player/queue | Get the User's Queue |
| POST | /me/player/queue | Add Item to Playback Queue |
| GET | /me/top/artists | Get User's Top Artists |
| GET | /me/top/tracks | Get User's Top Tracks |

### Chapters
| Method | Path | Description |
|--------|------|-------------|
| GET | /chapters/{id} | Get a Chapter |
| GET | /chapters | Get Several Chapters |

### Tracks
| Method | Path | Description |
|--------|------|-------------|
| GET | /tracks/{id} | Get Track |
| GET | /tracks | Get Several Tracks |

### Search
| Method | Path | Description |
|--------|------|-------------|
| GET | /search | Search for Item |

### Playlists
| Method | Path | Description |
|--------|------|-------------|
| GET | /playlists/{playlist_id} | Get Playlist |
| PUT | /playlists/{playlist_id} | Change Playlist Details |
| GET | /playlists/{playlist_id}/tracks | Get Playlist Items [DEPRECATED] |
| POST | /playlists/{playlist_id}/tracks | Add Items to Playlist [DEPRECATED] |
| PUT | /playlists/{playlist_id}/tracks | Update Playlist Items [DEPRECATED] |
| DELETE | /playlists/{playlist_id}/tracks | Remove Playlist Items [DEPRECATED] |
| GET | /playlists/{playlist_id}/items | Get Playlist Items |
| POST | /playlists/{playlist_id}/items | Add Items to Playlist |
| PUT | /playlists/{playlist_id}/items | Update Playlist Items |
| DELETE | /playlists/{playlist_id}/items | Remove Playlist Items |
| PUT | /playlists/{playlist_id}/followers | Follow Playlist |
| DELETE | /playlists/{playlist_id}/followers | Unfollow Playlist |
| GET | /playlists/{playlist_id}/images | Get Playlist Cover Image |
| PUT | /playlists/{playlist_id}/images | Add Custom Playlist Cover Image |
| GET | /playlists/{playlist_id}/followers/contains | Check if Current User Follows Playlist |

### Users
| Method | Path | Description |
|--------|------|-------------|
| GET | /users/{user_id} | Get User's Profile |
| GET | /users/{user_id}/playlists | Get User's Playlists |
| POST | /users/{user_id}/playlists | Create Playlist for user |

### Browse
| Method | Path | Description |
|--------|------|-------------|
| GET | /browse/featured-playlists | Get Featured Playlists |
| GET | /browse/categories | Get Several Browse Categories |
| GET | /browse/categories/{category_id} | Get Single Browse Category |
| GET | /browse/categories/{category_id}/playlists | Get Category's Playlists |
| GET | /browse/new-releases | Get New Releases |

### Audio-features
| Method | Path | Description |
|--------|------|-------------|
| GET | /audio-features | Get Several Tracks' Audio Features |
| GET | /audio-features/{id} | Get Track's Audio Features |

### Audio-analysis
| Method | Path | Description |
|--------|------|-------------|
| GET | /audio-analysis/{id} | Get Track's Audio Analysis |

### Recommendations
| Method | Path | Description |
|--------|------|-------------|
| GET | /recommendations | Get Recommendations |
| GET | /recommendations/available-genre-seeds | Get Available Genre Seeds |

### Markets
| Method | Path | Description |
|--------|------|-------------|
| GET | /markets | Get Available Markets |

## Common Questions
Match user requests to endpoints in references/api-spec.lap. Key patterns:
- "Get album details?" -> GET /albums/{id}
- "List all albums?" -> GET /albums
- "List all tracks?" -> GET /albums/{id}/tracks
- "Get artist details?" -> GET /artists/{id}
- "List all artists?" -> GET /artists
- "List all top-tracks?" -> GET /artists/{id}/top-tracks
- "List all related-artists?" -> GET /artists/{id}/related-artists
- "Get show details?" -> GET /shows/{id}
- "List all shows?" -> GET /shows
- "List all episodes?" -> GET /shows/{id}/episodes
- "Get episode details?" -> GET /episodes/{id}
- "Get audiobook details?" -> GET /audiobooks/{id}
- "List all audiobooks?" -> GET /audiobooks
- "List all chapters?" -> GET /audiobooks/{id}/chapters
- "List all contains?" -> GET /me/audiobooks/contains
- "Get chapter details?" -> GET /chapters/{id}
- "Get track details?" -> GET /tracks/{id}
- "Search search?" -> GET /search
- "List all me?" -> GET /me
- "Get playlist details?" -> GET /playlists/{playlist_id}
- "Update a playlist?" -> PUT /playlists/{playlist_id}
- "Create a track?" -> POST /playlists/{playlist_id}/tracks
- "List all items?" -> GET /playlists/{playlist_id}/items
- "Create a item?" -> POST /playlists/{playlist_id}/items
- "List all playlists?" -> GET /me/playlists
- "Create a playlist?" -> POST /me/playlists
- "Get user details?" -> GET /users/{user_id}
- "List all featured-playlists?" -> GET /browse/featured-playlists
- "List all categories?" -> GET /browse/categories
- "Get category details?" -> GET /browse/categories/{category_id}
- "List all images?" -> GET /playlists/{playlist_id}/images
- "List all new-releases?" -> GET /browse/new-releases
- "List all following?" -> GET /me/following
- "List all audio-features?" -> GET /audio-features
- "Get audio-feature details?" -> GET /audio-features/{id}
- "Get audio-analysis details?" -> GET /audio-analysis/{id}
- "List all recommendations?" -> GET /recommendations
- "List all available-genre-seeds?" -> GET /recommendations/available-genre-seeds
- "List all player?" -> GET /me/player
- "List all devices?" -> GET /me/player/devices
- "List all currently-playing?" -> GET /me/player/currently-playing
- "Create a next?" -> POST /me/player/next
- "Create a previous?" -> POST /me/player/previous
- "List all recently-played?" -> GET /me/player/recently-played
- "List all queue?" -> GET /me/player/queue
- "Create a queue?" -> POST /me/player/queue
- "List all markets?" -> GET /markets
- "How to authenticate?" -> See Auth section above

## Response Tips
- Check response schemas in references/api-spec.lap for field details
- Paginated endpoints accept limit/offset or cursor parameters
- Create/update endpoints return the modified resource on success
- Error responses include status codes and descriptions in the spec

## References
- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas

> Generated from the official API spec by [LAP](https://lap.sh)
