openapi: 3.0.3 info: description: 'You can use Spotify''s Web API to discover music and podcasts, manage your Spotify library, control audio playback, and much more. Browse our available Web API endpoints using the sidebar at left, or via the navigation bar on top of this page on smaller screens. In order to make successful Web API requests your app will need a valid access token. One can be obtained through OAuth 2.0. The base URI for all Web API requests is `https://api.spotify.com/v1`. Need help? See our Web API guides for more information, or visit the Spotify for Developers community forum to ask questions and connect with other developers. ' version: 1.0.0 title: Spotify Web Albums Shows API termsOfService: https://developer.spotify.com/terms/ contact: name: Spotify for Developers Community url: https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer servers: - url: https://api.spotify.com/v1 tags: - name: Shows paths: /shows/{id}: get: tags: - Shows operationId: get-a-show x-spotify-policy-list: $ref: '#/components/x-spotify-policy/metadataPolicyList' summary: 'Get Show ' description: 'Get Spotify catalog information for a single show identified by its unique Spotify ID. ' parameters: - $ref: '#/components/parameters/QueryMarket' - $ref: '#/components/parameters/PathShowId' responses: '200': $ref: '#/components/responses/OneShow' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - oauth_2_0: - user-read-playback-position /shows: get: deprecated: true tags: - Shows operationId: get-multiple-shows x-spotify-policy-list: $ref: '#/components/x-spotify-policy/metadataPolicyList' summary: 'Get Several Shows ' description: 'Get Spotify catalog information for several shows based on their Spotify IDs. ' parameters: - $ref: '#/components/parameters/QueryMarket' - $ref: '#/components/parameters/QueryShowIds' responses: '200': $ref: '#/components/responses/ManySimplifiedShows' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - oauth_2_0: [] /shows/{id}/episodes: get: tags: - Shows operationId: get-a-shows-episodes x-spotify-policy-list: $ref: '#/components/x-spotify-policy/metadataPolicyList' summary: 'Get Show Episodes ' description: 'Get Spotify catalog information about an show’s episodes. Optional parameters can be used to limit the number of episodes returned. ' parameters: - $ref: '#/components/parameters/PathShowId' - $ref: '#/components/parameters/QueryMarket' - $ref: '#/components/parameters/QueryLimit' - $ref: '#/components/parameters/QueryOffset' responses: '200': $ref: '#/components/responses/PagingSimplifiedEpisodeObject' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - oauth_2_0: - user-read-playback-position /me/shows: get: tags: - Shows operationId: get-users-saved-shows summary: 'Get User''s Saved Shows ' description: 'Get a list of shows saved in the current Spotify user''s library. Optional parameters can be used to limit the number of shows returned. ' parameters: - $ref: '#/components/parameters/QueryLimit' - $ref: '#/components/parameters/QueryOffset' responses: '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' '200': $ref: '#/components/responses/PagingSavedShowObject' security: - oauth_2_0: - user-library-read put: deprecated: true tags: - Shows operationId: save-shows-user summary: 'Save Shows for Current User ' description: 'Save one or more shows to current Spotify user''s library. **Note:** This endpoint is deprecated. Use [Save Items to Library](/documentation/web-api/reference/save-library-items) instead. ' parameters: - $ref: '#/components/parameters/QueryShowIds' responses: '200': description: Show saved '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - oauth_2_0: - user-library-modify delete: deprecated: true tags: - Shows operationId: remove-shows-user summary: 'Remove User''s Saved Shows ' description: 'Delete one or more shows from current Spotify user''s library. **Note:** This endpoint is deprecated. Use [Remove Items from Library](/documentation/web-api/reference/remove-library-items) instead. ' parameters: - $ref: '#/components/parameters/QueryShowIds' - $ref: '#/components/parameters/QueryMarket' responses: '200': description: Show removed '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - oauth_2_0: - user-library-modify /me/shows/contains: get: tags: - Shows operationId: check-users-saved-shows summary: 'Check User''s Saved Shows ' deprecated: true description: 'Check if one or more shows is already saved in the current Spotify user''s library. **Note:** This endpoint is deprecated. Use [Check User''s Saved Items](/documentation/web-api/reference/check-library-contains) instead. ' parameters: - $ref: '#/components/parameters/QueryShowIds' responses: '200': $ref: '#/components/responses/ArrayOfBooleans' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '429': $ref: '#/components/responses/TooManyRequests' security: - oauth_2_0: - user-library-read components: x-spotify-policy: metadataPolicyList: - $ref: '#/components/x-spotify-policy/policies/Downloading' - $ref: '#/components/x-spotify-policy/policies/VisualAlteration' - $ref: '#/components/x-spotify-policy/policies/Attribution' schemas: EpisodeBase: type: object required: - audio_preview_url - description - html_description - duration_ms - explicit - external_urls - href - id - images - is_externally_hosted - is_playable - languages - name - release_date - release_date_precision - type - uri properties: audio_preview_url: deprecated: true type: string nullable: true example: https://p.scdn.co/mp3-preview/2f37da1d4221f40b9d1a98cd191f4d6f1646ad17 description: 'A URL to a 30 second preview (MP3 format) of the episode. `null` if not available. ' x-spotify-policy-list: - $ref: '#/components/x-spotify-policy/policies/StandalonePreview' description: type: string example: 'A Spotify podcast sharing fresh insights on important topics of the moment—in a way only Spotify can. You’ll hear from experts in the music, podcast and tech industries as we discover and uncover stories about our work and the world around us. ' description: 'A description of the episode. HTML tags are stripped away from this field, use `html_description` field in case HTML tags are needed. ' html_description: type: string example: '
A Spotify podcast sharing fresh insights on important topics of the moment—in a way only Spotify can. You’ll hear from experts in the music, podcast and tech industries as we discover and uncover stories about our work and the world around us.
' description: 'A description of the episode. This field may contain HTML tags. ' duration_ms: type: integer example: 1686230 description: 'The episode length in milliseconds. ' explicit: type: boolean description: 'Whether or not the episode has explicit content (true = yes it does; false = no it does not OR unknown). ' external_urls: allOf: - $ref: '#/components/schemas/ExternalUrlObject' description: 'External URLs for this episode. ' href: type: string example: https://api.spotify.com/v1/episodes/5Xt5DXGzch68nYYamXrNxZ description: 'A link to the Web API endpoint providing full details of the episode. ' id: type: string example: 5Xt5DXGzch68nYYamXrNxZ description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the episode. ' images: type: array items: $ref: '#/components/schemas/ImageObject' description: 'The cover art for the episode in various sizes, widest first. ' is_externally_hosted: type: boolean description: 'True if the episode is hosted outside of Spotify''s CDN. ' is_playable: type: boolean description: 'True if the episode is playable in the given market. Otherwise false. ' language: type: string deprecated: true example: en description: 'The language used in the episode, identified by a [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code. This field is deprecated and might be removed in the future. Please use the `languages` field instead. ' languages: type: array items: type: string example: - fr - en description: 'A list of the languages used in the episode, identified by their [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639) code. ' name: type: string example: 'Starting Your Own Podcast: Tips, Tricks, and Advice From Anchor Creators ' description: 'The name of the episode. ' release_date: type: string example: '1981-12-15' description: 'The date the episode was first released, for example `"1981-12-15"`. Depending on the precision, it might be shown as `"1981"` or `"1981-12"`. ' release_date_precision: type: string example: day enum: - year - month - day description: 'The precision with which `release_date` value is known. ' resume_point: allOf: - $ref: '#/components/schemas/ResumePointObject' description: 'The user''s most recent position in the episode. Set if the supplied access token is a user token and has the scope ''user-read-playback-position''. ' type: type: string enum: - episode description: 'The object type. ' uri: type: string example: spotify:episode:0zLhl3WsOCQHbe1BPTiHgr description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the episode. ' restrictions: allOf: - $ref: '#/components/schemas/EpisodeRestrictionObject' description: 'Included in the response when a content restriction is applied. ' SimplifiedEpisodeObject: x-spotify-docs-type: SimplifiedEpisodeObject type: object allOf: - $ref: '#/components/schemas/EpisodeBase' - type: object ExternalUrlObject: type: object x-spotify-docs-type: ExternalUrlObject properties: spotify: type: string description: 'The [Spotify URL](/documentation/web-api/concepts/spotify-uris-ids) for the object. ' PagingSimplifiedEpisodeObject: type: object x-spotify-docs-type: PagingEpisodeObject allOf: - $ref: '#/components/schemas/PagingObject' - type: object properties: items: type: array items: $ref: '#/components/schemas/SimplifiedEpisodeObject' SavedShowObject: type: object x-spotify-docs-type: SavedShowObject properties: added_at: type: string format: date-time x-spotify-docs-type: Timestamp description: 'The date and time the show was saved. Timestamps are returned in ISO 8601 format as Coordinated Universal Time (UTC) with a zero offset: YYYY-MM-DDTHH:MM:SSZ. If the time is imprecise (for example, the date/time of an album release), an additional field indicates the precision; see for example, release_date in an album object. ' show: allOf: - $ref: '#/components/schemas/SimplifiedShowObject' description: Information about the show. ErrorObject: type: object x-spotify-docs-type: ErrorObject required: - status - message properties: status: type: integer minimum: 400 maximum: 599 description: 'The HTTP status code (also returned in the response header; see [Response Status Codes](/documentation/web-api/concepts/api-calls#response-status-codes) for more information). ' message: type: string description: 'A short description of the cause of the error. ' ShowObject: x-spotify-docs-type: ShowObject allOf: - $ref: '#/components/schemas/ShowBase' - type: object required: - episodes properties: episodes: type: object allOf: - $ref: '#/components/schemas/PagingSimplifiedEpisodeObject' description: 'The episodes of the show. ' ImageObject: type: object x-spotify-docs-type: ImageObject required: - url - height - width properties: url: type: string example: 'https://i.scdn.co/image/ab67616d00001e02ff9ca10b55ce82ae553c8228 ' description: 'The source URL of the image. ' height: type: integer example: 300 nullable: true description: 'The image height in pixels. ' width: type: integer example: 300 nullable: true description: 'The image width in pixels. ' SimplifiedShowObject: x-spotify-docs-type: SimplifiedShowObject allOf: - $ref: '#/components/schemas/ShowBase' - type: object CopyrightObject: type: object x-spotify-docs-type: CopyrightObject properties: text: type: string description: 'The copyright text for this content. ' type: type: string description: 'The type of copyright: `C` = the copyright, `P` = the sound recording (performance) copyright. ' PagingSavedShowObject: type: object x-spotify-docs-type: PagingShowObject allOf: - $ref: '#/components/schemas/PagingObject' - type: object properties: items: type: array items: $ref: '#/components/schemas/SavedShowObject' PagingObject: type: object x-spotify-docs-type: PagingObject required: - href - items - limit - next - offset - previous - total properties: href: type: string example: 'https://api.spotify.com/v1/me/shows?offset=0&limit=20 ' description: 'A link to the Web API endpoint returning the full result of the request ' limit: type: integer example: 20 description: 'The maximum number of items in the response (as set in the query or by default). ' next: type: string example: https://api.spotify.com/v1/me/shows?offset=1&limit=1 nullable: true description: 'URL to the next page of items. ( `null` if none) ' offset: type: integer example: 0 description: 'The offset of the items returned (as set in the query or by default) ' previous: type: string example: https://api.spotify.com/v1/me/shows?offset=1&limit=1 nullable: true description: 'URL to the previous page of items. ( `null` if none) ' total: type: integer example: 4 description: 'The total number of items available to return. ' EpisodeRestrictionObject: type: object x-spotify-docs-type: EpisodeRestrictionObject properties: reason: type: string description: 'The reason for the restriction. Supported values: - `market` - The content item is not available in the given market. - `product` - The content item is not available for the user''s subscription type. - `explicit` - The content item is explicit and the user''s account is set to not play explicit content. Additional reasons may be added in the future. **Note**: If you use this field, make sure that your application safely handles unknown values. ' ResumePointObject: type: object x-spotify-docs-type: ResumePointObject properties: fully_played: type: boolean description: 'Whether or not the episode has been fully played by the user. ' resume_position_ms: type: integer description: 'The user''s most recent position in the episode in milliseconds. ' ShowBase: type: object required: - available_markets - copyrights - description - explicit - external_urls - href - html_description - id - images - is_externally_hosted - languages - media_type - name - publisher - total_episodes - type - uri properties: available_markets: deprecated: true type: array items: type: string description: 'A list of the countries in which the show can be played, identified by their [ISO 3166-1 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code. ' copyrights: type: array items: $ref: '#/components/schemas/CopyrightObject' description: 'The copyright statements of the show. ' description: type: string description: 'A description of the show. HTML tags are stripped away from this field, use `html_description` field in case HTML tags are needed. ' html_description: type: string description: 'A description of the show. This field may contain HTML tags. ' explicit: type: boolean description: 'Whether or not the show has explicit content (true = yes it does; false = no it does not OR unknown). ' external_urls: allOf: - $ref: '#/components/schemas/ExternalUrlObject' description: 'External URLs for this show. ' href: type: string description: 'A link to the Web API endpoint providing full details of the show. ' id: type: string description: 'The [Spotify ID](/documentation/web-api/concepts/spotify-uris-ids) for the show. ' images: type: array items: $ref: '#/components/schemas/ImageObject' description: 'The cover art for the show in various sizes, widest first. ' is_externally_hosted: type: boolean description: 'True if all of the shows episodes are hosted outside of Spotify''s CDN. This field might be `null` in some cases. ' languages: type: array items: type: string description: 'A list of the languages used in the show, identified by their [ISO 639](https://en.wikipedia.org/wiki/ISO_639) code. ' media_type: type: string description: 'The media type of the show. ' name: type: string description: 'The name of the episode. ' publisher: deprecated: true type: string description: 'The publisher of the show. ' type: type: string enum: - show description: 'The object type. ' uri: type: string description: 'The [Spotify URI](/documentation/web-api/concepts/spotify-uris-ids) for the show. ' total_episodes: type: integer description: 'The total number of episodes in the show. ' responses: Forbidden: description: 'Bad OAuth request (wrong consumer key, bad nonce, expired timestamp...). Unfortunately, re-authenticating the user won''t help here. ' content: application/json: schema: type: object required: - error properties: error: $ref: '#/components/schemas/ErrorObject' Unauthorized: description: 'Bad or expired token. This can happen if the user revoked a token or the access token has expired. You should re-authenticate the user. ' content: application/json: schema: type: object required: - error properties: error: $ref: '#/components/schemas/ErrorObject' OneShow: description: A show content: application/json: schema: $ref: '#/components/schemas/ShowObject' ArrayOfBooleans: description: Array of booleans content: application/json: schema: type: array example: - false - true items: type: boolean PagingSimplifiedEpisodeObject: description: Pages of episodes content: application/json: schema: $ref: '#/components/schemas/PagingSimplifiedEpisodeObject' ManySimplifiedShows: description: A set of shows content: application/json: schema: type: object required: - shows properties: shows: type: array items: $ref: '#/components/schemas/SimplifiedShowObject' TooManyRequests: description: 'The app has exceeded its rate limits. ' content: application/json: schema: type: object required: - error properties: error: $ref: '#/components/schemas/ErrorObject' PagingSavedShowObject: description: Pages of shows content: application/json: schema: $ref: '#/components/schemas/PagingSavedShowObject' parameters: QueryShowIds: name: ids required: true in: query schema: title: Ids description: 'A comma-separated list of the [Spotify IDs](/documentation/web-api/concepts/spotify-uris-ids) for the shows. Maximum: 50 IDs. ' example: 5CfCWKI5pZ28U0uOzXkDHe,5as3aKmN2k11yfDDDSrvaZ type: string QueryMarket: name: market required: false in: query schema: title: Market description: "An [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).\n If a country code is specified, only content that is available in that market will be returned.