Skip to main content
GET
Spotify Show Has Video

Overview

Return whether a Spotify show (podcast) has any video episode. No download is performed — the answer is read from Spotify’s episode metadata (mediaTypes), so it works even though the audio tracks are DRM-protected. Each episode advertises a mediaTypes list: an episode with a video variant is ["VIDEO", "AUDIO"], an audio-only episode is ["AUDIO"]. The show has_video when at least one episode contains VIDEO.

Path Parameters

string
required
The Spotify show id — the base62 id from a show URL, e.g. 11VjrLJfoiNvgjjqov4RWh in https://open.spotify.com/show/11VjrLJfoiNvgjjqov4RWh.

Header Parameters

string
required
Your API key for authentication.

Response

string
The Spotify show id you queried.
boolean
true when at least one episode exposes a video variant.
integer
How many episodes were inspected to reach the answer. When answered from the episode list (the normal path) this equals total_episodes.
integer
Total number of episodes the show lists.
boolean
true when the answer is authoritative (every episode was inspected, or a video episode was found). When false, a has_video: false only means “no video episode was seen in the portion inspected” — not a guarantee the whole show is audio-only.
boolean
true when the response was served from the 24-hour server-side cache. Cached responses are not billed.

Examples

Success Response

Error Responses

The 502 response means a transient upstream issue while resolving the show (Spotify hiccup, token capture, or proxy). Retry after a short delay.

Billing

Each resolved lookup (a cache miss) is billed as a flat 1 MiB of data transfer — the same unit as downloads, so it appears on your usage dashboard and invoice with no separate line item. Roughly 1,024 lookups = 1 GB. Cache hits are free. Results are cached server-side for 24 hours per show; repeat lookups for the same show within that window are served instantly and are not billed.

Use Cases

Catalog pre-filtering

Before ingesting a show, decide whether to route it to a video or audio pipeline.

UI hints

Badge a show as “Video” in your front-end as soon as a user pastes a Spotify show link.

Notes

  • First lookup latency: a cache miss takes a few seconds (it lists the show’s episodes upstream). Subsequent lookups within 24 hours are instant (cached: true).
  • Mixed shows: has_video is true if any episode has video, even when most episodes are audio-only.
  • Authoritative negatives: a has_video: false with determinate: true means the whole show was inspected and no video episode exists.