Podchaser Podcast Scraper — Contacts, Ratings & Audience Data
Pricing
from $3.00 / 1,000 results
Podchaser Podcast Scraper — Contacts, Ratings & Audience Data
Podchaser scraper & API: search podcasts and episodes and export show title, description, category, rating, episode count, host, network, social links and RSS feed. Podcast discovery, media research and creator lead generation — fast, no login.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Maintained by CommunityActor stats
0
Bookmarked
28
Total users
5
Monthly active users
a day ago
Last modified
Categories
Features
Share
Podchaser Scraper — Podcast Contacts, Verified Emails, Ratings & Audience Data
Scrape Podchaser.com at scale and turn the world's largest podcast database into a clean, outreach-ready dataset: show titles, descriptions, categories, weighted ratings, review counts, episode metrics, follower counts, hosting providers, Apple Podcasts & Spotify IDs, hosts & guests with roles, network affiliations, public RSS feeds — and a verified business contact email extracted directly from each show's RSS feed. This Podchaser scraper requires no login, no Podchaser Pro API key, no proxy, and no coding.
Export your podcast database to JSON, CSV, Excel, or via the Apify API — or open the pre-built Podcasts, Contacts (outreach), and Creators (unwound) dataset views in one click.
⚡ At a glance
| Feature | Details |
|---|---|
| Target platform | Podchaser.com + public podcast RSS feeds |
| Discovery modes | 19 Podcast Categories (news, business, technology, comedy, health-fitness, etc.), Podcast Name search, Podcast IDs/Slugs, or Start URLs |
| Lookalike expansion | Optional BFS graph traversal via crawlSimilar: true (similarDepth: 1–3) |
| Verified contact emails | Extracts contactEmail, contactEmailsAll, and ownerNameFromRss from the show's public RSS feed (~93.7% email fill rate) |
| Quality filters | Filter by minRating (0–5), minReviews, minEpisodes, and requireContactEmail: true |
| Pagination & scale | Round-robin category pagination (~25 shows/page, maxPagesPerCategory: 0 auto/unlimited) with 100% numeric ID de-duplication |
| Proxy requirement | None (Direct HTTPS) — runs fast and proxy-free by default |
| Output views | Podcasts (overview), Contacts (outreach-ready), and Creators (unwound host/guest rows) |
📋 Table of contents
- Why scrape Podchaser?
- What this Podchaser scraper does
- Use cases
- Input configuration
- Output & field reference
- Pagination & 1,000+ scale
- How to use
- Pro tips for podcast outreach & PR
- FAQ
- Related scrapers
- Changelog
🔎 Why scrape Podchaser?
Podchaser is the "IMDb of podcasts" — a cross-platform directory indexing millions of podcasts with weighted ratings, listener reviews, episode credits, creator profiles, hosting providers, and network affiliations. For PR agencies, podcast booking services, sponsorship buyers, and SaaS platforms, Podchaser is the ultimate discovery layer.
The challenge: Podchaser's web interface displays one show at a time with no bulk CSV/Excel export, while enterprise access to Podchaser Pro and the official API costs thousands of dollars per year. Manually opening category pages, clicking individual shows, locating RSS feeds, and hunting down producer email addresses takes hours for just a few dozen leads.
This Podchaser data extractor automates the entire workflow. Select your target categories or seed shows, and the actor discovers podcasts across pages, extracts structured audience and metadata fields, fetches the header of each show's public RSS feed to pull the verified producer/owner contact email (itunes:owner), and outputs a clean, de-duplicated dataset ready for HubSpot, Instantly, Smartlead, Apollo, or Clay.
Key business outcomes
- 📧 Build verified podcast outreach lists — extract real producer and host contact emails (
contactEmail) with a ~94% fill rate across active shows. - 🎙️ Automate podcast guest booking & PR pitching — match executives, authors, and founders with active podcasts filtered by
categories,minRating,minReviews, andminEpisodes. - 💰 Source podcast sponsorship & ad inventory — identify established shows by
followerCount,ratingCount,daysBetweenEpisodes,hostingProvider, andnetworks. - 👥 Map podcast hosts, producers & guests — use the unwound
creatorsview to discover hosts, co-hosts, producers, and frequent guests across any niche. - 🔗 Enrich existing media catalogs — pass a list of
podcastIdsorsearchNamesto append Apple Podcasts IDs (applePodcastsId), Spotify IDs (spotifyId), RSS URLs, ratings, and emails to your internal database.
✨ What this Podchaser scraper does
- ✅ 19 built-in category dropdowns — discover top and trending shows across
news,news-politics,government,business,technology,comedy,society-culture,education,health-fitness,sports,arts,science,history,music,religion,religion-spirituality,tv-film,fiction, andkids-family. - ✅ Name search, direct IDs & Start URLs — look up shows by title (
searchNames), pass canonical Podchaser IDs or slugs (podcastIds), or paste any category/search/podcast URL (startUrls). - ✅ Lightweight RSS contact email enrichment — downloads only the top byte range (
bytes=0-262144) of each podcast's public RSS feed to extract the canonical<itunes:owner><itunes:email>address (contactEmail), all feed header emails (contactEmailsAll), and<itunes:name>(ownerNameFromRss) in milliseconds. - ✅ Lookalike graph expansion (
crawlSimilar) — every podcast record includessimilarPodcasts; enablecrawlSimilar: trueto automatically follow 1 to 3 hops of related shows and build hyper-targeted niche lists from a few seed podcasts. - ✅ Pre-built outreach quality filters — filter out dormant, trailer-only, or unrated shows using
minRating,minReviews,minEpisodes, andrequireContactEmail. - ✅ Unlocked 1,000+ round-robin pagination — interleaves pages across your selected categories (
maxPagesPerCategory: 0auto/unlimited) and de-duplicates every show by its numeric Podchaserid. - ✅ Three ready-made Console table views — switch between Podcasts (full overview), Contacts (outreach) (clean pitch list), and Creators (unwound) (one row per host/guest credit).
🎯 Use cases
| Audience | How they use Podchaser data |
|---|---|
| 🎤 Podcast Guesting & PR Agencies | Build targeted media lists of active podcasts with verified producer emails (contactEmail), episode counts, and latest air dates (latestEpisodeDate) ready for cold outreach. |
| 📢 Ad Networks & Sponsorship Sales | Prospect high-cadence, high-follower podcasts (followerCount, ratingCount, daysBetweenEpisodes) and group them by hostingProvider (Megaphone, Simplecast, Acast, Libsyn) or networks. |
| 🚀 B2B SaaS & Creator Tools | Generate B2B leads of active podcasters, editors, and media publishers who need recording, transcription, hosting, or monetization software. |
| 📊 Media Researchers & Analysts | Analyze podcast industry trends: publishing cadence, active vs. idle status (status), category distribution, and network consolidation. |
| 🗂️ Directory & App Builders | Cross-reference applePodcastsId, spotifyId, rssFeedUrl, and Podchaser id to unify podcast catalogs across platforms. |
📥 Input configuration
Configure your run in the Apify Console or via JSON. Every field is optional — running with empty inputs automatically discovers a balanced sample across 8 popular categories (news, business, technology, comedy, society-culture, education, sports, science).
| Field | Type | Default | Description |
|---|---|---|---|
categorySlugs | array | ["news"] (prefill) | Select one or more Podchaser categories to discover shows from (~25 podcasts per page). Leave empty for an 8-category mix. |
searchNames | array | [] | Optional list of podcast titles to search for (e.g., ["The Daily", "Acquired", "Huberman Lab"]). |
podcastIds | array | [] | Optional list of numeric Podchaser IDs ("90473") or slug-IDs ("the-daily-90473"). |
startUrls | array | [] | Optional list of Podchaser URLs (category pages, search pages, or individual podcast URLs). |
scrapeFullProfile | boolean | true | Attempt to fetch each podcast's detail page for extended fields, with automatic fallback to the rich listing state when detail pages are rate-gated. |
enrichContactFromRss | boolean | true | Fetch the header of each podcast's public RSS feed to extract contactEmail, contactEmailsAll, and ownerNameFromRss. |
crawlSimilar | boolean | false | Expand discovery by queuing the similarPodcasts of each scraped show. |
similarDepth | integer | 1 | Number of lookalike hops (1–3) when crawlSimilar is enabled. |
minRating | number | 0 | Minimum weighted average rating (0–5). 0 = no filter. |
minReviews | integer | 0 | Minimum number of written reviews. 0 = no filter. |
minEpisodes | integer | 0 | Minimum number of published episodes (great for skipping inactive shows). 0 = no filter. |
requireContactEmail | boolean | false | Keep only podcasts where a valid contactEmail was extracted. |
maxRecords | integer | 0 (prefill 50) | Maximum number of podcasts to save (0 = unlimited). |
maxPagesPerCategory | integer | 0 | Maximum pages to paginate per category (~25 podcasts/page). Set 0 for automatic / unlimited pagination governed by maxRecords. |
requestDelay | integer | 700 | Politeness delay between requests in milliseconds. |
maxConcurrency | integer | 4 | Number of concurrent worker tasks (1–15). |
proxyConfiguration | object | { useApifyProxy: false } | Proxy settings. Direct connection (useApifyProxy: false) works out of the box; enable Apify Proxy only for very large runs. |
Example 1 — 1,000+ B2B & Tech podcast outreach list (verified emails only)
{"categorySlugs": ["business", "technology", "news", "education", "science"],"enrichContactFromRss": true,"requireContactEmail": true,"minEpisodes": 20,"minReviews": 3,"maxRecords": 1000,"maxPagesPerCategory": 0,"maxConcurrency": 6,"requestDelay": 400,"proxyConfiguration": { "useApifyProxy": false }}
Example 2 — Lookalike expansion from seed podcasts (crawlSimilar)
{"podcastIds": ["the-daily-90473", "planet-money-281", "how-i-built-this-196844"],"crawlSimilar": true,"similarDepth": 2,"enrichContactFromRss": true,"maxRecords": 300}
Example 3 — Enrich a list of podcast names with cross-platform IDs & emails
{"searchNames": ["Acquired", "All-In with Chamath", "Lex Fridman Podcast", "The Vergecast"],"enrichContactFromRss": true,"maxRecords": 50}
📤 Output & field reference
Each item in the dataset represents one unique podcast. Below is a real record from a verification run:
{"id": 90473,"slug": "the-daily","title": "The Daily","url": "https://www.podchaser.com/podcasts/the-daily-90473","description": "This is what the news should sound like. The biggest stories of our time, told by the best journalists in the world.","descriptionHtml": null,"imageUrl": "https://image.simplecastcdn.com/images/.../the-daily.jpg","language": "English","languageCode": "en","explicit": false,"status": "active","claimed": false,"website": null,"rssFeedUrl": "https://feeds.simplecast.com/54nAGcIl","hostingProvider": "Simplecast","applePodcastsId": "1200361736","spotifyId": "3IM0lmZxpFAY7CwMuv9H4g","externalIds": {"apple": "1200361736","spotify": "3IM0lmZxpFAY7CwMuv9H4g"},"categories": ["news", "news-politics", "society", "culture"],"author": "The New York Times","ownerName": "The New York Times","ratingAverage": 4.35,"ratingCount": 1884,"reviewCount": 612,"followerCount": 45213,"listCount": 318,"numberOfEpisodes": 2680,"avgEpisodeMinutes": null,"daysBetweenEpisodes": 1,"startDate": null,"firstEpisodeDate": "2017-01-30 10:00:00","latestEpisodeDate": "2026-11-01 11:00:00","addedToPodchaser": "2017-02-01 08:14:00","profileUpdatedAt": "2026-10-30 04:22:11","reachVerified": null,"reachProvider": null,"socialLinks": null,"networks": [{"id": 197,"title": "The New York Times","url": null,"verified": false}],"creators": [{"id": 25791,"name": "Michael Barbaro","role": "Host","pcid": "042238","socialAccounts": []}],"creatorRoleCounts": [{ "role": "host", "count": 2 }],"sponsors": [],"latestEpisode": null,"similarPodcasts": [{ "id": 14530, "slug": "up-first", "title": "Up First" },{ "id": 2262, "slug": "ted-talks-daily", "title": "TED Talks Daily" }],"contactEmail": "podcasts@nytimes.com","contactEmailsAll": ["podcasts@nytimes.com"],"ownerNameFromRss": "The New York Times","discoveredFrom": "category:news","scrapedAt": "2026-11-02T00:15:00.000Z"}
Field reference by category
🏷️ Podcast identity & cross-platform IDs
| Field | Type | Coverage | Description |
|---|---|---|---|
id | integer | 🟢 High (100%) | Canonical numeric Podchaser podcast ID (primary key used for de-duplication). |
slug | string | 🟢 High (100%) | URL slug on Podchaser. |
title | string | 🟢 High (100%) | Official podcast title. |
url | string | 🟢 High (100%) | Canonical Podchaser podcast URL (https://www.podchaser.com/podcasts/{slug}-{id}). |
description | string | null | 🟢 High (100%) | Plain-text show summary. |
imageUrl | string | null | 🟢 High (100%) | High-resolution podcast cover art URL. |
categories | array | 🟢 High (100%) | Array of Podchaser category slugs assigned to the show. |
status | string | null | 🟢 High (100%) | Activity status ("active", "idle", "ended"). |
claimed | boolean | null | 🟢 High (100%) | Whether the creator has claimed the profile on Podchaser. |
hostingProvider | string | null | 🟢 High (~86%) | Detected podcast hosting provider (e.g., Simplecast, Megaphone, Acast, Libsyn, Anchor). |
applePodcastsId | string | null | 🟢 High (~98%) | Apple Podcasts (iTunes) numeric ID. |
spotifyId | string | null | 🟢 High (~97%) | Spotify show ID. |
externalIds | object | null | 🟢 High (~99%) | Map of external directory IDs (apple, spotify, playerfm, etc.). |
📧 Outreach contacts & RSS metadata
| Field | Type | Coverage | Description |
|---|---|---|---|
rssFeedUrl | string | null | 🟢 High (100%) | Public XML RSS feed URL of the podcast. |
contactEmail | string | null | 🟢 High (~93.7%) | Primary business/owner email extracted from the RSS <itunes:owner><itunes:email> tag or feed header. |
contactEmailsAll | array | 🟢 High (~93.7%) | Up to 10 distinct email addresses discovered in the RSS feed header. |
ownerNameFromRss | string | null | 🟢 High (~90%) | Owner name extracted directly from the RSS <itunes:owner><itunes:name> tag. |
author | string | null | 🟢 High (~98%) | Published iTunes author name. |
ownerName | string | null | 🟢 High (~95%) | Published iTunes owner name on Podchaser. |
⭐ Ratings, audience & episode cadence
| Field | Type | Coverage | Description |
|---|---|---|---|
ratingAverage | number | null | 🟢 High (~99%) | Weighted average rating on Podchaser (0.00–5.00 scale). |
ratingCount | integer | null | 🟢 High (100%) | Total number of user ratings. |
reviewCount | integer | null | 🟢 High (100%) | Total number of written reviews. |
followerCount | integer | null | 🟢 High (100%) | Number of followers on Podchaser. |
listCount | integer | null | 🟢 High (100%) | Number of curated Podchaser lists featuring this show. |
numberOfEpisodes | integer | null | 🟢 High (100%) | Total published episodes. |
daysBetweenEpisodes | number | null | 🟢 High (~97%) | Average publishing cadence in days (e.g., 1 = daily, 7 = weekly). |
firstEpisodeDate | string | null | 🟢 High (~99%) | Timestamp of the show's first episode. |
latestEpisodeDate | string | null | 🟢 High (100%) | Timestamp of the most recent episode (crucial for verifying active shows). |
addedToPodchaser | string | null | 🟢 High (100%) | Date the podcast was indexed on Podchaser. |
profileUpdatedAt | string | null | 🟢 High (100%) | Last profile refresh timestamp on Podchaser. |
👥 Creators, networks, lookalikes & detail fields
| Field | Type | Coverage | Description |
|---|---|---|---|
creators | array | 🟢 High (~80%) | Credited hosts, guests, and producers ({ id, name, role, pcid, socialAccounts }). |
creatorRoleCounts | array | 🟢 High (~80%) | Summary counts of credits by role (host, guest, producer, etc.). |
networks | array | 🟡 Conditional (~54%) | Podcast networks / publishers the show belongs to ({ id, title, url, verified }). |
similarPodcasts | array | 🟢 High (100%) | Related podcasts ({ id, slug, title }) used for lookalike discovery. |
website, socialLinks, sponsors, latestEpisode, avgEpisodeMinutes, reachVerified | mixed | 🟡 Conditional | Extended detail-page fields; populated whenever the individual show page is directly accessible. |
discoveredFrom | string | 🟢 High (100%) | Provenance string showing which category page, search query, or seed surfaced the podcast. |
scrapedAt | string | 🟢 High (100%) | ISO 8601 UTC timestamp of extraction. |
🔁 Pagination & 1,000+ scale
This Podchaser scraper is designed to build large, de-duplicated podcast outreach databases effortlessly:
- Unlocked
maxPagesPerCategory: 0default: WhenmaxPagesPerCategoryis0(the default), the actor automatically paginates through category pages (?page=1,?page=2,?page=3… at ~25 podcasts per page) until yourmaxRecordstarget is reached or all selected categories are exhausted. - Round-robin category interleaving: When you select multiple categories (e.g.,
business,technology,news,education), the scraper fetches page 1 of each category, then page 2 of each category, and so on. This guarantees a balanced, multi-category dataset even on smaller runs. - Filter-aware over-fetching: When post-filters (
minRating,minReviews,minEpisodes, orrequireContactEmail) are active, the discovery engine automatically gathers extra candidate seeds and continues scraping untilsaved === maxRecords. - 100% numeric ID de-duplication: Podcasts that appear in multiple categories (e.g., both
newsandnews-politics) or acrosscrawlSimilarhops are de-duplicated by their canonical numericidso you never pay for or export duplicate rows.
⚙️ How to use
- Open the actor in the Apify Console.
- Choose your discovery source — pick one or more categories in Podcast Categories (
categorySlugs), or enter specific show names (searchNames), IDs (podcastIds), or URLs (startUrls). - Keep RSS email enrichment on — leave
enrichContactFromRss: trueto extract verified owner/producer emails from each show's RSS feed. - Set quality filters & target size — optionally enable
requireContactEmail: true, setminEpisodes: 10, and setmaxRecords(e.g.,50,500,2000, or0for unlimited). - Click Start — no proxy is needed!
- Export your leads — switch to the Contacts (outreach) tab in the Dataset viewer and download as CSV, Excel, or JSON, or pull directly into your CRM via the Apify API.
Calling via the Apify API (Python)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/podchaser-scraper").call(run_input={"categorySlugs": ["business", "technology"],"enrichContactFromRss": true,"requireContactEmail": true,"minEpisodes": 15,"maxRecords": 500,"maxPagesPerCategory": 0,})for show in client.dataset(run["defaultDatasetId"]).iterate_items():print(show["title"], "->", show["contactEmail"], f"({show['ratingAverage']}★)")
💡 Pro tips for podcast outreach & PR
- 🎯 Filter out "podfaded" (inactive) shows: Combine
minEpisodes: 15with a quick filter onlatestEpisodeDatein your exported sheet so your team only pitches podcasts that are actively releasing episodes. - 🕸️ Use
crawlSimilarfor niche micro-verticals: Broad categories likebusinessare great, but if you want a hyper-specific niche (e.g., B2B SaaS growth, real estate syndication, or longevity medicine), put 5–10 quintessential shows inpodcastIds, enablecrawlSimilar: true(similarDepth: 2), and let Podchaser's recommendation graph find 200+ lookalike shows. - ⚡ Tune concurrency for 1,000+ runs: Set
maxConcurrency: 8andrequestDelay: 350to speed up RSS feed header checks while staying polite to podcast hosting CDNs. - 📋 Use the unwound Creators view: In the Apify Console Dataset tab, select the Creators (unwound) view to get one flat row per
(podcast, host/guest)— ideal for pitching individual hosts by name.
❓ FAQ
Where do the podcast contact emails come from?
Every podcast is powered by a public XML RSS feed distributed to Apple Podcasts and Spotify. Publishers include their official business/booking contact email inside the <itunes:owner><itunes:email> tag at the top of that RSS feed. Our scraper fetches just the first 256 KB of the RSS feed and extracts both the owner email (contactEmail) and any additional emails in the feed header (contactEmailsAll), achieving a ~93.7% fill rate.
Do I need a Podchaser account, API key, or proxy?
No. The actor works out of the box with no login, no Podchaser API key, and no proxy (useApifyProxy: false).
How many podcasts can I scrape in a single run?
With maxPagesPerCategory: 0 (the default) and maxRecords: 1000 (or 0 for unlimited), the actor automatically paginates through your chosen categories and/or similar-podcast graph to return hundreds to thousands of unique podcasts per run.
Why are website or socialLinks sometimes null?
Podchaser places a subset of fields (website, socialLinks, sponsors) exclusively on individual show detail pages that are periodically gated by an anti-bot challenge over plain HTTP. When that happens, the scraper automatically serves the complete category/search entity plus the live RSS enrichment so you still receive 100% of titles, ratings, reviews, followers, episode counts, hosting providers, Apple/Spotify IDs, creators, networks, and verified RSS contact emails at high speed and zero proxy cost.
Can I export directly to CSV or Excel for cold email tools?
Yes. Export the dataset as CSV or Excel (XLSX) — or select the Contacts (outreach) view to export a clean 7-column table (title, contactEmail, website, rssFeedUrl, categories, numberOfEpisodes, url) ready for Instantly, Smartlead, Lemlist, or HubSpot.
🔗 Related scrapers
Building a creator-economy, media outreach, or B2B lead generation stack? Pair Podchaser Scraper with our other media extractors:
- 🎥 YouTube Contact Scraper — Extract verified creator emails, social links, and subscriber metrics from YouTube.
- 🎵 SoundCloud Scraper — Scrape tracks, artists, play counts, and creator profiles from SoundCloud.
- 💿 Discogs Scraper — Extract releases, artists, record labels, and marketplace pricing from Discogs.
- 🎶 Genius Scraper — Scrape songs, lyrics, artists, and producer credits from Genius.
- 🐘 Mastodon Scraper — Discover fediverse creator profiles and bio links.
📋 Changelog
v1.2 (2026-11)
- Unlocked 1,000+ category pagination: Changed
maxPagesPerCategorydefault from4to0(automatic/unlimited, governed bymaxRecords) and added filter-aware seed buffering so filtered runs (requireContactEmail,minRating,minReviews,minEpisodes) paginate deep enough to hitmaxRecords. - Faster prefill & schema cleanup: Tuned prefill
maxRecordsto50for sub-30s test runs and streamlineddataset_schema.jsonviews.
v1.1 (2026-10)
- Smart detail-page fallback: Added automatic detection when individual detail pages are rate-challenged so runs immediately serve rich listing entities + RSS contact emails without wasted requests.
- Round-robin category discovery: Interleaved pagination across selected categories for balanced multi-niche datasets.
v1.0 (2026-05)
- Initial release with category discovery, name search, RSS
<itunes:owner>contact email extraction, lookalike crawling (crawlSimilar), and 3 dataset views.