Podcast Directory Scraper avatar
Podcast Directory Scraper

Pricing

Pay per usage

Go to Apify Store
Podcast Directory Scraper

Podcast Directory Scraper

Search Apple Podcasts by keyword and get full show details including host contacts, email addresses, website URLs, episode listings, and publishing frequency. Perfect for PR agencies, advertisers, and podcast guest outreach.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

ryan clinton

ryan clinton

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Search Apple Podcasts by keyword and get full show details including host contacts, email addresses, website URLs, episode listings, and publishing frequency. Perfect for PR agencies, advertisers, and podcast guest outreach.

How it works

  1. Search Apple Podcasts — finds podcasts matching your keywords via the iTunes Search API
  2. Fetch RSS feeds — gets the full podcast RSS feed for each result
  3. Extract rich data — parses show metadata, host contacts, episodes, and publishing patterns

No API keys needed. No browser required. Pure HTTP + XML parsing.

How to use it

  1. Go to the Podcast Directory Scraper on Apify
  2. Enter search terms like "true crime", "marketing", or "AI technology"
  3. Click Start — results appear in seconds
  4. Download as JSON, CSV, or export to Google Sheets

Output

Each podcast produces one record. Here's a real example:

{
"podcastId": 1234567890,
"title": "The Startup Show",
"author": "Jane Smith",
"description": "Weekly interviews with startup founders sharing their stories, lessons learned, and advice for aspiring entrepreneurs.",
"categories": ["Business", "Entrepreneurship"],
"language": "en",
"episodeCount": 245,
"lastEpisodeDate": "2026-02-01",
"episodeFrequency": "weekly",
"isActive": true,
"applePodcastsUrl": "https://podcasts.apple.com/us/podcast/the-startup-show/id1234567890",
"feedUrl": "https://feeds.simplecast.com/abc123",
"websiteUrl": "https://thestartupshow.com",
"artworkUrl": "https://is1-ssl.mzstatic.com/image/thumb/Podcasts/v4/...",
"ownerName": "Jane Smith",
"ownerEmail": "jane@thestartupshow.com",
"copyright": "© 2026 The Startup Show",
"episodes": [
{
"title": "How We Raised $10M in a Down Market",
"description": "In this episode, we talk with...",
"publishDate": "2026-02-01",
"duration": "42:15",
"audioUrl": "https://cdn.simplecast.com/audio/abc123/episode-245.mp3",
"episodeNumber": 245,
"seasonNumber": 5
}
],
"searchTerm": "technology startups",
"scrapedAt": "2026-02-07T12:00:00.000Z"
}

Output fields

FieldTypeDescription
podcastIdIntegerApple Podcasts / iTunes collection ID
titleStringPodcast title
authorStringCreator / host name
descriptionStringFull show description (from RSS feed)
categoriesArrayPodcast categories and subcategories
languageStringLanguage code (e.g., "en")
episodeCountIntegerTotal number of episodes
lastEpisodeDateStringDate of most recent episode (YYYY-MM-DD)
episodeFrequencyStringPublishing cadence: daily, weekly, biweekly, monthly, irregular
isActiveBooleanHas the podcast published in the last 90 days?
applePodcastsUrlStringApple Podcasts page URL
feedUrlStringRSS feed URL
websiteUrlStringPodcast website URL (from RSS)
artworkUrlStringCover art image URL
ownerNameStringPodcast owner name (from RSS)
ownerEmailStringPodcast owner email (from RSS)
copyrightStringCopyright notice
episodesArrayRecent episodes with title, date, duration, audio URL
searchTermStringThe search term that found this podcast
scrapedAtStringISO timestamp

Input

FieldTypeDescriptionDefault
searchTermsArray of stringsKeywords to search (required)
maxResultsInteger (1-200)Max podcasts per search term50
countryStringiTunes Store country code"us"
includeEpisodesBooleanInclude episode listingstrue
maxEpisodesPerShowIntegerMax episodes per podcast (0 = all)10
activeOnlyBooleanOnly include active podcasts (last 90 days)false
proxyConfigurationObjectProxy for iTunes API requestsApify Proxy

Example input

{
"searchTerms": [
"true crime",
"comedy interviews"
],
"maxResults": 100,
"activeOnly": true,
"maxEpisodesPerShow": 5
}

How to use the API

Python

from apify_client import ApifyClient
client = ApifyClient(token="YOUR_API_TOKEN")
run = client.actor("ryanclinton/podcast-directory-scraper").call(
run_input={
"searchTerms": ["business marketing"],
"maxResults": 50,
"activeOnly": True,
}
)
for podcast in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{podcast['title']} by {podcast['author']}")
print(f" Email: {podcast['ownerEmail']}")
print(f" Website: {podcast['websiteUrl']}")
print(f" Frequency: {podcast['episodeFrequency']}")
print(f" Episodes: {podcast['episodeCount']}")

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('ryanclinton/podcast-directory-scraper').call({
searchTerms: ['business marketing'],
maxResults: 50,
activeOnly: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(podcast => {
console.log(`${podcast.title} by ${podcast.author}`);
console.log(` Email: ${podcast.ownerEmail}`);
console.log(` Website: ${podcast.websiteUrl}`);
console.log(` ${podcast.episodeCount} episodes, ${podcast.episodeFrequency}`);
});

Use cases

Podcast PR and guest pitching

Search for podcasts in your niche, filter by active shows, and get host emails directly. Export to CSV and load into your outreach tool. Replace expensive services like Podchaser ($2,500/year).

Podcast advertising

Find shows by topic and audience size (episode count + frequency as proxies). Get contact info to pitch ad deals directly.

Market research

Analyze podcast categories, publishing frequency, and episode counts to understand the competitive landscape in any niche.

Content strategy

Find podcasts to pitch yourself as a guest, build backlinks, or cross-promote. The websiteUrl field lets you evaluate each show's web presence.

CRM building

Run multiple search terms, export all results as CSV, and build a podcast contact database for ongoing outreach campaigns.

Data sources

  • Apple Podcasts / iTunes Search API — free, public, no authentication needed
  • RSS feeds — fetched directly from each podcast's feed URL for rich metadata

No Spotify (requires OAuth, restricted API, doesn't provide RSS feed URLs).

Performance

PodcastsEstimated timeNotes
10~15 seconds3-second delay between iTunes API calls
50~30 secondsRSS feeds fetched in parallel per search term
200~1-2 minutesRate limit is ~20 iTunes API calls/minute

Cost is minimal — the actor makes HTTP requests only, no browser rendering.

Tips

  • Use specific terms — "true crime mystery" will return more relevant results than just "crime"
  • Set activeOnly: true — filters out dead podcasts that haven't published in 90+ days
  • Set maxEpisodesPerShow: 0 — to get ALL episodes (useful for podcast analytics)
  • Multiple search terms — duplicates are automatically removed (deduplicated by podcast ID)
  • Country matters — set country to match your target market (e.g., "gb" for UK, "de" for Germany)
  • Email availability — not all podcasts expose owner emails in their RSS feed. Apple deprecated this field in 2022, but many feeds still include it.

FAQ

Where do the contact emails come from?

From the podcast's RSS feed — specifically the <itunes:owner> and <itunes:email> XML tags. Apple deprecated these in 2022, but many podcast hosting platforms (Buzzsprout, Libsyn, Podbean, etc.) still include them. Availability varies by podcast.

Can I get podcast ratings and review counts?

Not from the iTunes Search API. Apple doesn't expose ratings in their public API. Episode count, publishing frequency, and show age serve as quality proxies.

Does this work for non-English podcasts?

Yes. Set the country parameter to the target market's iTunes Store (e.g., "de" for Germany, "jp" for Japan). Category names will be in the local language.

Why no Spotify data?

Spotify's podcast API requires OAuth authentication, has heavily restricted access (requires 250K+ MAU for extended scope), and critically doesn't return the RSS feed URL — which is our primary source for rich metadata and contact information.

How often can I run this?

As often as you need. The iTunes Search API has a rate limit of ~20 requests per minute. The actor respects this with built-in delays. For very large runs (1000+ podcasts), consider using proxy configuration.

Responsible use

This actor processes publicly available data from Apple Podcasts and RSS feeds. By using it, you agree to:

  • Comply with all applicable laws, including GDPR, CAN-SPAM, and CCPA
  • Respect Apple's Terms of Service for the iTunes Search API
  • Use extracted data only for legitimate business purposes
  • Not use this tool for unsolicited bulk email or spam

Changelog

v1.0 (2026-02-07)

  • Initial release
  • iTunes Search API integration
  • RSS feed parsing (show metadata, episodes, host contacts)
  • Episode frequency calculation (daily, weekly, biweekly, monthly, irregular)
  • Active podcast filtering (last 90 days)
  • Deduplication across multiple search terms
  • Configurable episode limits