Podcast Scraper — Apple Podcasts, Episodes & Emails
Pricing
from $2.00 / 1,000 row scrapeds
Podcast Scraper — Apple Podcasts, Episodes & Emails
Scrape Apple Podcasts: shows, full episode lists, top charts by country and genre, plus owner names and contact emails pulled from each show's RSS feed. Gets past the 100-result search ceiling.
Pricing
from $2.00 / 1,000 row scrapeds
Rating
0.0
(0)
Developer
Pixflor
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Apple Podcasts as clean rows: shows with genres and activity signals, complete episode lists, top charts by country and genre — and the one field Apple doesn't give you, the owner's contact email.
No API key. No login. Type a topic, press start, export CSV or JSON.
Three things this does that other podcast scrapers don't
1. It gets the contact email — which isn't in Apple's API at all
Apple returns a feedUrl and nothing about who runs the show. The RSS feed at that URL carries
<itunes:email> and <itunes:name>.
Measured on a sample of startup podcasts: 7 of 7 exposed a contact address.
That single field is the difference between a list of podcast names and a list you can
actually do something with — guest pitching, sponsorship outreach, PR. Turn on Fetch owner
contact details and every row gains ownerName, ownerEmail, website, language and the
feed's own episode count.
2. It doesn't return the same 50 podcasts three times
Apple's search endpoint accepts an offset parameter, returns HTTP 200, and ignores it
completely. Measured: offset=0, offset=50 and offset=100 returned byte-identical
result sets.
A scraper that pages by offset reports 150 podcasts and delivers 50, two thirds of them duplicates, with nothing anywhere indicating a problem.
Search also silently caps at 100 — limit=200 returns 100.
So how do you get more? Storefronts. Apple runs a separate catalogue per country, and they genuinely differ:
| Storefronts searched | Unique podcasts for "technology" |
|---|---|
| US only | 100 — the hard ceiling |
| US + GB + CA + AU + IE | 226 |
This Actor partitions across storefronts and deduplicates the overlap for you.
3. Episodes actually go deep
The 100 cap is on search, not on episodes. This Actor pulls up to 200 episodes per show, with duration, publish date, audio URL, episode and season numbers.
One honest note: Apple omits duration on some episodes — measured 82.5% coverage on one show,
100% on another. Where it's missing, durationMinutes is null rather than a guess. That's
Apple's gap, and the row is still worth having.
What you get
Podcasts — name, artist, feedUrl, appleUrl, artworkUrl, primaryGenre,
genres, episodeCount, latestEpisodeAt, daysSinceEpisode, isActive,
explicit, contentRating, country, storefront.
With contact enrichment on, add: ownerName, ownerEmail, website, language,
copyright, summary, episodeCountInFeed, lastBuildDate, feedStatus.
Episodes — title, description, publishedAt, durationMinutes, audioUrl,
appleUrl, episodeNumber, seasonNumber, explicit, artworkUrl.
Chart entries — rank, country, name, artist, primaryGenre, appleUrl.
Two small things done right: the useless "Podcasts" genre that every single show carries is
stripped out, so the genre field is actually filterable. And lookup returns the show
alongside its own episodes — this Actor filters that out, so a show is never counted as one of
its own episodes.
Typical uses
- Podcast outreach and PR. Shows in your niche, active in the last 90 days, above an episode threshold, with a contact email. That's a pitch list.
- Sponsorship prospecting. Filter by genre and activity, then sort by episode count.
- Booking guests / getting booked. Find every show covering your topic across five English storefronts, not the first 100 in one.
- Market research. Chart positions by country and genre, tracked over time.
- Content analysis. Full episode histories with durations and publish cadence.
- Feeding an LLM or agent. One row per item, consistent field names, HTML stripped.
Reliability
Apple's public iTunes Search API plus each show's own public RSS feed. No HTML scraping and no bot-detection workarounds anywhere.
A 62-assertion live test suite runs before every release, including assertions that offset is
still ignored, that the 100 cap still bites, that storefront partitioning still beats it, and
that every extracted email is a valid address.
RSS feeds are third-party hosts, so some are slow or dead. Those rows come back with
feedStatus explaining why — ok, unreachable or no_feed_url — rather than failing the
run or handing you a blank field with no explanation.
Pricing
Pay per event. You are charged for the run start and for each row returned — nothing else, and platform compute is included free. Contact enrichment is opt-in because it costs an extra request per show.