Podcast Scraper with Emails: Active Shows for Guest Outreach avatar

Podcast Scraper with Emails: Active Shows for Guest Outreach

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Podcast Scraper with Emails: Active Shows for Guest Outreach

Podcast Scraper with Emails: Active Shows for Guest Outreach

Podcast scraper with emails: search Apple Podcasts by topic, then read each public RSS feed for owner email, website, last episode date, 90-day episode count and activity score. Export JSON, CSV or Excel. From $1 per 1,000 results.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Alexandre Manguis

Alexandre Manguis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

What does this Actor do?

This podcast scraper with emails searches Apple Podcasts by topic, then reads each show's public RSS feed to return the contact email the feed publishes, the website, the latest episode date and an activity score. Dead shows are filtered out, so you get a list of podcasts that are still publishing, ready for guest booking, sponsorship or PR outreach.

You can also paste RSS feed URLs directly to enrich shows you already know about. Results export as JSON, CSV, Excel or HTML, or via the Apify API.

Use cases

  • Guest booking agencies and PR teams: build a list of active shows in a niche, with a contact where the feed publishes one.
  • Founders and experts who want to pitch themselves as guests.
  • Sponsorship and ad buyers: spot shows that publish regularly (episodes in the last 90 days, median gap between episodes).
  • Lead-generation and outreach tools: feed a CRM or enrichment pipeline with podcast contacts.
  • Podcast researchers: compare publishing cadence across a topic.

Features

How it works

  1. Searches Apple Podcasts for each topic (or takes the RSS feed URLs you provide).
  2. Reads each show's public RSS feed.
  3. Computes activity metrics, applies your filters and returns one row per podcast.

What you get

  • Search by one or many topics and an Apple Store country (US, GB, FR, CA, DE…).
  • Enrich your own list of RSS feed URLs (can be combined with search).
  • Activity metrics computed from the feed: days since last episode, episodes in the last 90 days, median days between episodes, activity score (0–100), isActive flag.
  • Filters: active within N days, minimum episodes in the last 90 days, only shows with an email, exclude free email providers (gmail.com, yahoo.com, outlook.com…), exclude explicit shows, language.
  • Deduplicated by feed URL.
  • Email comes only from what the public feed itself publishes (itunes:owner, managingEditor or webMaster); the emailSource field tells you which. No login, no private data.
  • maxResults caps both the number of results and your spending.

Input

Configuration

FieldTypeDefaultDescription
searchTermsarray of strings["marketing"] (prefill)Topics to search. Required unless feedUrls is given.
feedUrlsarray of strings–RSS feed URLs to enrich directly (skips the search).
countrystringUSTwo-letter Apple Store country code.
maxResultsinteger50Stop after this many podcasts (1–5000).
activeWithinDaysinteger90Keep shows whose latest episode is at most this old. 0 keeps all shows.
minEpisodesLast90Daysinteger0Minimum episodes in the last 90 days.
onlyWithEmailbooleanfalseOnly shows whose feed publishes a contact email.
excludeFreeEmailProvidersbooleanfalseDrop gmail/yahoo/outlook-type addresses, keep business domains.
includeExplicitbooleantrueInclude shows flagged explicit by Apple.
languagestring–Keep only shows whose RSS language starts with this code (e.g. en, fr).

Example input

{
"searchTerms": ["marketing"],
"country": "US",
"maxResults": 20,
"activeWithinDays": 90,
"onlyWithEmail": true
}

Input errors and empty results

If neither searchTerms nor feedUrls is provided, the run fails immediately with a clear input error (no charge for results). A search with no matching shows finishes successfully with an empty dataset.

Output

Each row is one podcast. Example row (values anonymized, description shortened):

{
"podcastName": "Marketing School - Digital Marketing and Online Marketing Tips",
"appleId": "1138869817",
"appleUrl": "https://podcasts.apple.com/us/podcast/marketing-school-digital-marketing-and-online/id1138869817",
"feedUrl": "https://feeds.megaphone.fm/ESHO5419936864",
"author": "Jane Doe and John Doe",
"ownerName": "Eric Siu and Neil Patel",
"ownerEmail": "host@example.com",
"emailSource": "itunes:owner",
"websiteUrl": "https://www.marketingschool.io/",
"socialLinks": [],
"primaryGenre": "Marketing",
"genres": ["Marketing", "Podcasts", "Business", "Careers"],
"country": "USA",
"language": "en",
"explicit": false,
"episodeCount": 194,
"latestEpisodeTitle": "The AI-Native Marketer Looks Like This",
"lastEpisodeDate": "2026-10-01T13:00:00.000Z",
"firstEpisodeDate": "2025-10-30T13:00:00.000Z",
"daysSinceLastEpisode": 3,
"episodesLast90Days": 51,
"medianDaysBetweenEpisodes": 1,
"activityScore": 99,
"isActive": true,
"description": "Neil Patel and Eric Siu bring you daily ACTIONABLE digital marketing lessons…",
"matchedSearchTerm": "marketing",
"scrapedAt": "2026-10-04T20:13:21.423Z"
}

Output fields and fill rates

Measured on a 40-row test run (search term "marketing", US). Fields are null or empty when the source does not publish them.

FieldFill rateNotes
podcastName, feedUrl, author, description, explicit, episodeCount, latestEpisodeTitle, lastEpisodeDate, firstEpisodeDate, daysSinceLastEpisode, episodesLast90Days, medianDaysBetweenEpisodes, activityScore, isActive, scrapedAt100%
ownerName97.5%
language97.5%
appleId, appleUrl, country, primaryGenre, genres, matchedSearchTerm95%Empty when you pass feedUrls directly (no Apple match)
websiteUrl90%
ownerEmail, emailSource72.5%Only when the feed publishes an email. In a separate run with onlyWithEmail, 25 of 25 rows had one.
socialLinks2.5%Only links found in the feed; usually empty. Do not rely on it.

In a French-language run (20 rows) emails were present in 90% of rows. Fill rates vary by topic and country.

How to use via API

Calling the Actor

Replace YOUR_APIFY_TOKEN with your own token. Actor ID: podcast-guest-finder-contacts (use username~podcast-guest-finder-contacts in URLs).

curl

curl -X POST "https://api.apify.com/v2/acts/USERNAME~podcast-guest-finder-contacts/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["marketing"], "maxResults": 20, "onlyWithEmail": true}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('USERNAME/podcast-guest-finder-contacts').call({
searchTerms: ['marketing'],
maxResults: 20,
onlyWithEmail: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("USERNAME/podcast-guest-finder-contacts").call(run_input={
"searchTerms": ["marketing"],
"maxResults": 20,
"onlyWithEmail": True,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Pricing

Pay per result

Pay per result: you are charged per podcast row returned.

Apify planPrice per 1,000 results
Free$1.50
Bronze$1.30
Silver$1.15
Gold and above$1.00

Platform usage is small: the test runs of 5 to 40 rows used under $0.001 of compute. Set maxResults to cap spending; start with 20.

Troubleshooting

  • Run fails with "Provide at least one entry in searchTerms or feedUrls": add a search term or an RSS feed URL.
  • Empty dataset: filters are too strict (e.g. activeWithinDays, onlyWithEmail, language) or the term has no shows. Loosen filters or try broader terms.
  • Fewer rows than maxResults: each search term returns a limited number of shows (roughly 100–200 per term and country). Add more terms or countries.
  • ownerEmail is null: the show's public feed does not publish one. Use websiteUrl to find a contact form, or set onlyWithEmail to skip those shows.
  • Email looks like an agency or hosting address: the feed owner chose it; check it before outreach.

FAQ

Where do the emails come from? Only from the show's public RSS feed (itunes:owner, managingEditor, webMaster). The Actor does not guess, verify or scrape private data, and does not log in anywhere.

Is the email verified? No. It is whatever the feed publishes.

Is it legal to contact these people? The data is public, but emails are personal data in some jurisdictions. Follow GDPR, CAN-SPAM and local rules, and use a relevant, honest outreach message.

How is the activity score computed? From the feed's own episode dates: recency of the latest episode, episodes in the last 90 days and publishing regularity. Higher means more active (0–100).

Can I search without Apple? Yes, pass feedUrls directly. Apple-specific fields will be empty.

Which formats can I export? JSON, CSV, Excel, XML and HTML from the dataset, or via API.

Keywords

podcast scraper with emails, podcast guest finder, podcast email scraper, podcast contacts, podcast outreach list, Apple Podcasts scraper, podcast RSS scraper, active podcasts, podcast guest booking, podcast sponsorship leads, podcast lead generation, podcast activity score

Hashtags

#podcast #podcasts #podcastguest #leadgeneration #outreach #applepodcasts #rss #emailfinder #prlist #sponsorship #scraper #apify