Spotify Podcast Episodes Scraper avatar

Spotify Podcast Episodes Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Spotify Podcast Episodes Scraper

Spotify Podcast Episodes Scraper

Extract every episode from any public Spotify podcast. Get title, description, publish date, duration, audio preview URL, and cover art with pagination across runs.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Andrew

Andrew

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract every episode from any public Spotify podcast. Get title, description, publish date, duration, audio preview URL, and cover art with pagination across runs.

What you get

For every episode on the show, one dataset row with:

  • episodeId, url — Spotify episode ID and canonical episode URL
  • title — episode title
  • description — full episode description text
  • publishDate — release date (YYYY-MM-DD when day-precision, full ISO timestamp otherwise)
  • durationMs — episode length in milliseconds
  • durationFormatted — human-readable length (1:23:45 or 42:30)
  • audioPreviewUrl — direct MP3 preview clip URL (when Spotify exposes one)
  • imageUrl — highest-resolution episode cover art
  • explicit — true if marked explicit
  • showName, showId — parent show identity
  • scrapedAt — ISO timestamp of when the run captured this row

Plus a SHOW_INFO record in the default key-value store with: showId, showName, publisher, description, totalEpisodes, imageUrl, mediaType, explicit, languages, copyrights.

Use cases

  • Podcast research and analytics — pull a full episode catalog into a spreadsheet to study release cadence and topic mix
  • Competitor analysis — benchmark a podcast against rivals by total episodes, average duration, and publishing frequency
  • Content discovery and search — build a searchable index of episode titles and descriptions for a show
  • Audio archival — capture every episode preview URL and cover art before a show is delisted
  • Lead generation for podcast outreach — surface guest names and topics from episode titles for booking pitches

How to use

  1. Paste a Spotify show URL or 22-character show ID into Spotify Show URL or IDhttps://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk or just 4rOoJ6Egrf8K2IrywzwOMk both work
  2. Set Max Items (default 100) — how many episodes to fetch in this run; set 0 for unlimited (capped at 5000 per run as a safety net)
  3. Leave Page ID blank on the first run
  4. Run the actor — episodes appear in the Dataset tab in newest-first order, and show-level metadata lands in the Key-value store as SHOW_INFO
  5. To fetch the next page, open the Key-value store tab → copy the NEXT_PAGE_ID value → paste it into Page ID on your next run. If NEXT_PAGE_ID is null, you've fetched the entire show.

Output format

Each dataset record:

{
"episodeId": "7lPfDiR4NVRtpHeMM8rfA4",
"url": "https://open.spotify.com/episode/7lPfDiR4NVRtpHeMM8rfA4",
"title": "#2505 - Tom Segura",
"description": "Tom Segura is a comedian, actor, author, and restaurateur...",
"publishDate": "2026-05-25",
"durationMs": 9868671,
"durationFormatted": "2:44:29",
"audioPreviewUrl": "https://p.scdn.co/mp3-preview/32c257d827d51de30fcc855424937065bd8a78b0.mp3",
"imageUrl": "https://i.scdn.co/image/ab6765630000ba8aa3d019095ecf0a946d8d8d9c",
"explicit": true,
"showName": "The Joe Rogan Experience",
"showId": "4rOoJ6Egrf8K2IrywzwOMk",
"scrapedAt": "2026-05-27T12:00:00.000Z"
}

SHOW_INFO in the key-value store:

{
"showId": "4rOoJ6Egrf8K2IrywzwOMk",
"showName": "The Joe Rogan Experience",
"publisher": "Joe Rogan",
"description": "The official podcast of comedian Joe Rogan.",
"totalEpisodes": 2697,
"imageUrl": "https://i.scdn.co/image/ab6765630000ba8a48c4e5dee3559c8c586e14ae",
"mediaType": "MIXED",
"explicit": true,
"languages": [],
"copyrights": []
}

Notes & limits

  • One show per run. For multiple shows, run the actor once per show — each gets its own dataset, SHOW_INFO, and cursor.
  • Newest-first order. Episodes are listed in Spotify's default order — most recent episodes first.
  • Geo-restricted episodes are still listed. When Spotify hides an episode in your region, the row keeps episodeId and url but other fields are null. This preserves indexing even when metadata is locked.
  • Audio preview, not full episodes. Spotify only exposes ~30s MP3 previews to public clients. Full episode audio requires a logged-in Spotify session and is not available here.
  • Pagination is offset-based. NEXT_PAGE_ID is the absolute offset of the next episode to fetch (e.g. 50 after the first page). Long shows can have thousands of episodes — chain runs to fetch them all.
  • Wall-clock safety: the actor stops ~60s before the platform timeout and writes NEXT_PAGE_ID so progress is never lost on long runs.