Buzzsprout Podcast Show & Episode Scraper
Pricing
$3.00 / 1,000 results
Buzzsprout Podcast Show & Episode Scraper
Extracts show and episode data from public Buzzsprout podcast pages, priced pay-per-result.
Pricing
$3.00 / 1,000 results
Rating
0.0
(0)
Developer
Adam Schepis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extracts show and episode data from public Buzzsprout podcast pages, priced pay-per-result.
What you get
- Show metadata — title, URL, host/author, description, category, artwork — plus a list of recent episodes, for any public Buzzsprout show page.
- Structured, ready-to-use data — no scraper to build or maintain yourself.
- Pay only for results: $0.004 per show record, nothing for failed or empty runs.
- Runs on Apify's infrastructure with automatic proxy rotation and retries.
Input
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | array of URLs | yes | Public Buzzsprout show pages, e.g. https://<show>.buzzsprout.com or https://www.buzzsprout.com/<id>. |
maxResults | integer | no (default 20) | Stops the run (and pay-per-event charging) once this many show records have been produced. |
maxEpisodesPerShow | integer | no (default 20) | Caps how many of each show's most recent episodes are included in its episode list. |
Example input:
{"startUrls": [{ "url": "https://www.buzzsprout.com/100" },{ "url": "https://buzzcast.buzzsprout.com" }],"maxResults": 20,"maxEpisodesPerShow": 20}
Output example
One dataset item per show, with its episodes nested inside:
{"showTitle": "Johnson Street Church of Christ Sermon Podcast","showUrl": "https://www.buzzsprout.com/100","host": "Johnson Street Church","showDescription": "This podcast includes the Sunday morning sermons from the Johnson Street Church of Christ in San Angelo, Texas...","category": "Religion & Spirituality","artworkUrl": "https://storage.buzzsprout.com/o01nluf9t5d6694qqhuuqhutm056?.jpg","episodes": [{"title": "Follow // Lesson 1","publishDate": "2026-09-06T16:00:00.000Z","duration": "28:09","descriptionExcerpt": "Sermon Series // Follow Lesson 1 // The Law of God - Psalm 119 Sunday, September 6, 2026","episodeUrl": "https://www.buzzsprout.com/100/episodes/19761949","audioUrl": "https://www.buzzsprout.com/100/episodes/19761949-follow-lesson-1.mp3"}],"scrapedAt": "2026-09-08T23:23:03.262Z"}
This is a real, verified sample (truncated to one episode for brevity) — see "Seed results" below for the full local run.
Every dataset item has the same shape. Download results as JSON, CSV, Excel, or via the Apify API.
Pricing
This Actor uses pay-per-event pricing. You are charged only for the result event, once per show record produced (episodes are nested inside that one record, not charged separately); the exact per-event price is set in Apify Console at publish time and shown on the Actor's Store page before you run it.
| Event | When it's charged |
|---|---|
result | Once per show record, up to maxResults |
Why this actor
Buzzsprout hosts show pages for a huge number of independent podcasts, but doesn't offer a public search API for buyers who want structured show/episode data (for directory building, competitive research, guest-booking research, etc.) without visiting each show page by hand. This actor turns any public Buzzsprout show URL into structured JSON in one call.
How it works
- Fetches the given show page and reads the RSS feed link it points to (the same feed a podcast app would use) to get the show's category, host/author, and episode list — all fields the site publicly exposes to an anonymous visitor via that link.
- If robots.txt disallows a show's RSS path, falls back to parsing the show page's own visible "Latest Episodes" list instead (category and audio URL are not available in that fallback, since they aren't shown on the page itself).
- No login, no pagination beyond
maxEpisodesPerShow,maxConcurrencycapped at 3.
Robots.txt
https://www.buzzsprout.com/robots.txt currently disallows exactly one path: /101612.rss. This actor fetches and parses that file at the start of every run and will not fetch a show's RSS feed if its path is disallowed — it uses the HTML-page fallback described above instead. No other paths are blocked at the time of writing.
Notes for buyers
- Category, artwork, and audio URLs come from what the show's RSS feed publishes; a show that hides its RSS link from its page (rare) falls back to page-only data with
categoryand episodeaudioUrlasnull. descriptionExcerptis truncated to 300 characters.- Legacy Buzzsprout shows (some over a decade old) can have episodes with non-standard identifiers; this actor derives episode URLs from the audio file path rather than relying on that identifier, so results are stable even for very old catalogs.
Reference docs used to build this actor
- Apify SDK for JS: https://docs.apify.com/sdk/js/
- Pay-per-event monetization overview: https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event
- Pay-per-event SDK guide (
Actor.charge,ChargingManager, local test mode): https://docs.apify.com/sdk/js/docs/concepts/pay-per-event Actor.chargeAPI reference: https://docs.apify.com/sdk/js/reference/class/Actor.actor/actor.jsonreference: https://docs.apify.com/platform/actors/development/actor-definition/actor-json- Built with Crawlee and the Apify SDK for JavaScript.