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 an upstream issue while resolving the show. A resolution exceeding the 25-second upstream budget returns 504 with "Show resolution timed out upstream, retry later". Retry transient failures with backoff.

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. 1,024 resolved lookups = 1 GiB (1,073,741,824 bytes); billing GB uses 1,000,000,000 bytes. Cache hits are free. Successful results are written to a shared 24-hour cache per show. A cache hit avoids resolution and billing. Cache availability/eviction can cause a later request to resolve again.

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 lists the show’s episodes upstream and has a 25-second resolution budget; latency is source-dependent. Cache hits report 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.