# Podcast Leads Finder: Podcast Host Emails & Guest Booking List (`pandadad0214/podcast-leads-finder`) Actor

Use this to find podcasts to pitch by topic. Input: keywords and country. Output: one row per active show with host, contact email published in its RSS feed, website, socials, episodes, last episode date and a has-guests signal, plus Excel and CSV.

- **URL**: https://apify.com/pandadad0214/podcast-leads-finder.md
- **Developed by:** [Panda Federation](https://apify.com/pandadad0214) (community)
- **Categories:** Lead generation, Marketing, For creators
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Podcast Leads Finder: Podcast Host Emails & Guest Booking List

> **Podcast leads finder and podcast email scraper** on Apify: search Apple Podcasts by topic and get one row per **active show** with the host, the **contact email the show publishes in its own RSS feed**, website, socials, episode count, last episode date, publishing frequency and a **"has guests?"** signal, exported to Excel, CSV and JSON. Apify's free plan includes $5 of monthly platform credit, enough for roughly 1,250 podcasts at $0.004 each (pricing below).

**Build a podcast guest-booking or sponsorship list in minutes instead of clicking through hundreds of show pages.**

Getting booked on podcasts (or selling to podcasters) starts with a list of active shows in your niche and a way to reach them. **Podcast Leads Finder** searches the public **Apple Podcasts directory** for your topics (titles, descriptions and keywords), then reads each show's **public RSS feed** to add what the directory doesn't show:

- 📧 **Contact email published by the show** (the `itunes:owner` email podcasters put in their feed for directories, or the feed's managing editor / show description), with its source. Nothing is guessed or bought
- 🎙️ **Host / author, owner, website and socials** (Instagram, X, YouTube, LinkedIn, Facebook, TikTok when linked)
- 📅 **Activity:** last episode date, days since, average days between episodes, episode count. Inactive shows are filtered out by default (90 days)
- 🤝 **Has guests?** flag and guest-episode share from the last 20 episode titles and podcast:person tags, so you pitch shows that actually interview people
- 🌍 **Country store, language, minimum episodes and "only with email" filters**
- 📊 **Excel + CSV export** with clickable Apple Podcasts, website and RSS links
- 💸 **$0.004 per podcast.** 250 podcasts cost $1.00. Searches with no results cost nothing

### Who it's for

- **Founders, authors, coaches and consultants** who want to get booked as a podcast guest
- **Podcast booking agencies, PR firms and Fiverr / Upwork researchers:** client-ready lists in minutes
- **Sponsors and ad buyers:** find active shows in a niche with their publishing cadence
- **Podcast service providers** (editing, launch, growth) prospecting active shows

### How to use the podcast leads finder

1. Click **Try for free**.
2. Enter **topics / keywords**, one per line (e.g. `real estate investing`, `SaaS marketing`).
3. Optional: tick **Only podcasts with a contact email** and **Only podcasts that feature guests**, change **Active within (days)**, country or language.
4. Set **Maximum podcasts**. You pay per returned podcast, so this also caps the cost.
5. Click **Start**. 100 podcasts take about a minute. Download **PODCASTS_XLSX** from **Storage → Key-value store**, or use the dataset via API.

#### Input example

```json
{
  "keywords": ["real estate investing", "saas marketing"],
  "activeWithinDays": 60,
  "onlyWithEmail": true,
  "guestFriendlyOnly": true,
  "sortBy": "newestEpisode",
  "maxResults": 100
}
```

### Output example

![Example output table from a real podcast-leads-finder run](https://api.apify.com/v2/key-value-stores/0eeXxTD8eJjgE6yTA/records/shot-podcast-leads-finder)

One row per podcast. A real row from a test run (shortened):

```json
{
  "podcastName": "BiggerPockets Real Estate Podcast",
  "author": "BiggerPockets",
  "email": "podcast@biggerpockets.com",
  "emailSource": "itunes:owner",
  "website": "https://www.biggerpockets.com/podcasts/real-estate",
  "appleUrl": "https://podcasts.apple.com/us/podcast/biggerpockets-real-estate-podcast/id594419649",
  "primaryGenre": "Investing",
  "language": "en",
  "episodeCount": 1379,
  "lastEpisodeDate": "2026-10-30",
  "daysSinceLastEpisode": 2,
  "avgDaysBetweenEpisodes": 2.3,
  "guestFriendly": false,
  "guestEpisodeShare": 0.2,
  "recentEpisodeTitles": [
    "Is the Housing Market About to Crash? What the Data (Actually) Shows",
    "The New FIRE Movement That Includes Rentals w/Paula Pant"
  ],
  "feedUrl": "https://feeds.megaphone.fm/BIGPOC7198720365",
  "agentSummary": "BiggerPockets Real Estate Podcast by BiggerPockets; Investing; 1379 episodes; last episode 2026-10-30; contact podcast@biggerpockets.com; https://www.biggerpockets.com/podcasts/real-estate"
}
```

#### Fields

| Field | What it is |
|---|---|
| `podcastName`, `author`, `ownerName` | Show, host / author and feed owner |
| `email`, `emailSource` | Contact email the show publishes, and where it was found (`itunes:owner`, `managingEditor` or `show description`) |
| `website`, `socials`, `appleUrl`, `feedUrl` | Links |
| `primaryGenre`, `categories`, `language`, `country`, `explicit` | Classification |
| `episodeCount`, `episodesInFeed`, `lastEpisodeDate`, `daysSinceLastEpisode`, `avgDaysBetweenEpisodes` | Size and activity |
| `guestFriendly`, `guestEpisodeShare`, `recentEpisodeTitles` | Interview signal and the 3 latest episode titles |
| `description`, `artworkUrl`, `matchedKeyword` | Context |
| `agentSummary` | One plain-English line per podcast |

#### Files in the key-value store

| Key | What it is |
|---|---|
| `PODCASTS_XLSX` | Excel workbook: **Podcasts** with clickable links, **Run log** and **Read me** |
| `PODCASTS_CSV` | Same table as CSV |
| `SUMMARY` | JSON: counts with email and guests, top genres, a one-line `takeaway` and `nextStep` |

### For AI agents

Use this Actor to find podcasts on a topic with their host, published contact email, website and activity. Call it with Apify's MCP server (`https://mcp.apify.com`, tool `call-actor`, Actor `pandadad0214/podcast-leads-finder`) or the API (`POST https://api.apify.com/v2/acts/pandadad0214~podcast-leads-finder/run-sync-get-dataset-items`).

Minimal input:

```json
{"keywords": ["personal finance"], "onlyWithEmail": true, "maxResults": 25}
```

Each dataset item includes `agentSummary` (show, host, genre, episodes, last episode, guest signal, email and website in one line), `podcastName`, `email`, `website`, `lastEpisodeDate` and `guestFriendly`. The `SUMMARY` record has `withEmail`, `guestFriendly`, `topGenres`, a one-line `takeaway` and `nextStep`.

### Podcast leads finder pricing

**Apify paid-plan discounts:** Bronze members pay 10% less, Silver 20% less and Gold 30% less per podcast. Free-plan prices are shown below; the discount applies automatically.

**$0.004 per podcast** returned to the dataset after your filters (pay-per-event), plus a tiny Actor-start fee of $0.00005. Excel, CSV and the summary are included. Searches with no results cost nothing. Your **maximum charge per run** is respected.

### FAQ

**Is there a free way to try this podcast email finder?** Yes. Apify's free plan includes $5 of monthly platform credit, enough for roughly 1,250 podcasts.

**Where do the emails come from?** Only from each show's own public RSS feed, where podcasters publish a contact address for directories, or from the show description. No guessing, no third-party databases. Some hosts (often on Spotify/Anchor) hide their email; use **Only podcasts with a contact email** to skip them.

**How is "has guests?" decided?** At least 30% of the last 20 episode titles look like interviews ("with", "w/", "feat.", "interview", guest names) or carry podcast:person guest tags. It's a quick signal; check the recent titles before pitching.

**Can I email everyone on the list?** Pitch personally and relevantly, honor opt-outs and follow anti-spam laws where you and the host live (CAN-SPAM, GDPR, CASL).

**Does it cover Spotify-only shows?** It covers shows listed on Apple Podcasts, which includes most shows that are also on Spotify.

**Can I use it from code or an AI agent?** Yes, via the Apify API, the Python/JS clients, or as a tool through Apify's MCP server.

### More Panda Federation tools

- [AI Search & SEO Audit](https://apify.com/pandadad0214/ai-search-seo-audit): get your own site ready before you pitch
- [Researcher & Expert Finder](https://apify.com/pandadad0214/researcher-expert-finder): find expert guests for your own show
- [Local Business Leads](https://apify.com/pandadad0214/local-business-leads)
- [Email Domain Security Checker](https://apify.com/pandadad0214/email-domain-security-checker)

[All Panda Federation Actors on Apify](https://apify.com/pandadad0214)

Questions or a custom data feed? Open an issue on this Actor's **Issues** tab.

### Changelog

- **2026-11-01:** First public release: Apple Podcasts topic search (titles, descriptions, keywords), RSS feed enrichment with published contact email, socials, activity and guest signal, filters, Excel/CSV exports, agent-friendly `agentSummary` and `takeaway`, pay-per-event pricing with Bronze/Silver/Gold discounts.

Not affiliated with or endorsed by Apple.

# Actor input Schema

## `keywords` (type: `array`):

Podcast topics to search on Apple Podcasts, one per line, e.g. real estate investing, SaaS marketing, women in business. Each keyword returns up to about 600 shows before filters. Leave empty for a 20-podcast demo.

## `maxResults` (type: `integer`):

You pay per returned podcast, so this also caps the cost. Whole number, 1 to 3,000; default 100.

## `activeWithinDays` (type: `integer`):

Keep only shows that published an episode in the last N days. 0 = include inactive shows. Default 90.

## `onlyWithEmail` (type: `boolean`):

Keep only shows that publish a contact email in their RSS feed (itunes:owner, managingEditor or the show description).

## `guestFriendlyOnly` (type: `boolean`):

Keep only shows where at least 30% of the last 20 episodes look like interviews (guest names, 'with', 'feat.', or podcast:person guest tags).

## `minEpisodes` (type: `integer`):

Optional. Skip shows with fewer episodes (e.g. 20 to skip brand-new shows). Default 0.

## `country` (type: `string`):

2-letter store country to search, e.g. US, GB, CA, AU, IN. Default US.

## `language` (type: `string`):

Optional. Keep shows whose feed language starts with this code, e.g. en, es, de.

## `sortBy` (type: `string`):

Relevance = Apple's search order. Newest episode = most recently active first. Most episodes = biggest back catalogs first.

## `deepSearch` (type: `boolean`):

On by default: also searches show descriptions and keywords, not just titles, for up to 3x more shows per keyword.

## Actor input object example

```json
{
  "keywords": [
    "real estate investing"
  ],
  "maxResults": 100,
  "activeWithinDays": 90,
  "onlyWithEmail": false,
  "guestFriendlyOnly": false,
  "minEpisodes": 0,
  "country": "US",
  "sortBy": "relevance",
  "deepSearch": true
}
```

# Actor output Schema

## `table` (type: `string`):

No description

## `xlsx` (type: `string`):

No description

## `csv` (type: `string`):

No description

## `summary` (type: `string`):

Run-level summary record. Agent-friendly keys: `takeaway`, `withEmail`, `guestFriendly`, `topGenres`, `nextStep` and `nextSteps`.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "small business marketing"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("pandadad0214/podcast-leads-finder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": ["small business marketing"] }

# Run the Actor and wait for it to finish
run = client.actor("pandadad0214/podcast-leads-finder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "small business marketing"
  ]
}' |
apify call pandadad0214/podcast-leads-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,pandadad0214/podcast-leads-finder"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/LiM18mMDmWNe2OgaN/builds/hOUMcdkvSW4sUY8aE/openapi.json
