# Apple Podcast Directory and RSS Contacts Scraper

> Apple Podcasts scraper: search shows by keyword or ID and read public RSS feeds. Get show data, published owner contacts and recent episodes.

URL: https://cliqtomedia.com/actors/podcast-directory-rss-contacts-scraper/

Category: Video, audio & streaming · Status: live on Apify Store · Apify page: https://apify.com/cliqtomedia/podcast-directory-rss-contacts-scraper?fpr=cliqto

Find podcasts on Apple by keyword or ID, or read a public RSS feed. You get show data, recent episodes and published contacts. It never guesses emails.

## How to use it: 3 steps

1. **Make a free Apify account.** Apify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `[]` in Apple search queries. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

Export Apple podcast directory metadata and public RSS contacts with the feed field and URL behind each contact. Search by keyword, use an Apple ID, or supply a public RSS/Atom feed. A contact can be missing. This Actor does not guess emails.





## Price

Pay per event. Apify bills you, not us.

| What you pay for | Price | When |
|---|---|---|
| Podcast result | $0.001 | One unique podcast row with parsed public RSS/Atom feed data and status PODCAST_FOUND, NO_OWNER_CONTACT or PARTIAL. |
| Start fee | $0.0132 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |

- One podcast: about $0.01.
- 1,000 podcasts: about $1.01.
- Every day 100 podcasts, for 30 days: about $3.40 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Prices checked on 24 October 2026. Current price: https://apify.com/cliqtomedia/podcast-directory-rss-contacts-scraper?fpr=cliqto

## Questions

### Does every podcast have an email?

No. The tool reads only contacts written in the public feed. It does not guess or check emails.

### Does it work with Spotify?

No. It reads Apple catalog data and public RSS or Atom feeds.

### Can I download episode audio?

No. It reads metadata only, without audio links.

### Can I email these contacts freely?

A public contact is not consent. Check the source and the laws in your country first.

### Do I need an Apple or Spotify account?

No source account or API key is needed. Spotify is not supported. You need an Apify account to start a run.

### Will two runs return the same data?

Live catalogs and feeds can change. IDs and deduplication rules stay stable for the same sources; dates, order, contacts and activity can change. Each run has its own observation time.

### Can I use a contact for outreach?

A public contact does not establish consent. Check the source, purpose and applicable rules before contacting anyone. The Actor does not send emails or fill forms.

## Data fields

- `stableId` (string): Stable Apple ID or feed hash; never a raw credential-bearing URL.
- `status` (string): Terminal product status.
- `statusReason` (string): Safe machine-readable status code.
- `sourceKinds` (array): Accepted source adapters used for the row.
- `matchedQueries` (array): Normalized Apple queries that matched the row.
- `inputRefs` (array): Opaque input references.
- `applePodcastId` (string): Apple collection ID.
- `applePodcastUrl` (string): Catalog URL returned by Apple; not fetched.
- `feedUrl` (string): Public feed URL read for this row.
- `feedHost` (string): Host-only feed diagnostic.
- `feedFormat` (string): rss or atom.
- `title` (string): Podcast title.
- `author` (string): Podcast author.
- `publisher` (string): Publisher fact when available.
- `description` (string): Plain show description when available.
- `language` (string): Feed language.
- `storefrontCountry` (string): Requested Apple storefront.
- `categories` (array): Show categories.
- `artworkUrl` (string): Metadata URL only; never downloaded.
- `websiteUrl` (string): Published metadata link only; never fetched.
- `episodeCountReported` (integer): Catalog-reported count.
- `feedItemsObserved` (integer): Mapped distinct feed items under bounds.
- `episodesReturned` (integer): Nested episodes returned.
- `latestEpisodeDate` (string): Newest valid feed date.
- `appleLatestReleaseDate` (string): Apple catalog release date.
- `active` (boolean): Calculated activity flag.
- `activeAsOf` (string): UTC clock used for activity calculation.
- `activityWindowDays` (integer): Activity rule window.
- `frequency` (string): Calculated frequency bucket.
- `frequencyBasis` (string): Rule used for the frequency calculation.
- `medianGapDays` (number): Calculated median gap.
- `ownerName` (string): Explicit feed owner name.
- `ownerEmail` (string): Explicit itunes owner email only.
- `contactEmail` (string): Explicit alternate feed contact.
- `contactRole` (string): owner, editor or webmaster.
- `contactStatus` (string): Explicit contact result.
- `contactSourceField` (string): Exact feed field that supplied the contact.
- `contactSourceUrl` (string): Feed URL supporting the contact.
- `descriptionSource` (string): apple, rss, atom or unknown.
- `fieldProvenance` (object): Field-level fact/calculation markers.

## Input settings

- `searchQueries` (array): Keyword phrases sent to the public Apple/iTunes Search API.
- `applePodcastIds` (array): Numeric Apple collection IDs. The Apple Podcasts page is never requested.
- `applePodcastUrls` (array): Apple Podcasts URLs containing a collection ID.
- `feedUrls` (array): Explicit public RSS 2.0 or Atom feed URLs. Credentials, unsafe ports and token-like query parameters are rejected.
- `country` (string): Two-letter storefront used for Apple searches and lookups.
- `maxPodcastsPerQuery` (integer): Requested result bound for each query.
- `maxPodcasts` (integer): Global unique podcast row limit after deduplication.
- `includeEpisodes` (boolean): Include recent episode metadata inside each podcast row. Enclosure URLs and media are never fetched or returned.
- `maxEpisodesPerPodcast` (integer): Maximum nested recent episodes when enabled.
- `activityWindowDays` (integer): A podcast is active when its newest valid episode is within this calculated window.
- `requireOwnerEmail` (boolean): Only display rows with an explicitly published itunes:owner/itunes:email. Filtered rows remain in RUN_SUMMARY accounting.
- `activeOnly` (boolean): Only display rows whose calculated active field is true. Unknown and stale rows remain in RUN_SUMMARY accounting.

## Step by step on Apify

1. Open Input. The new form suggests Apple podcast ID `1253186678` (Syntax).
2. Leave the suggested ID for a small first run, or replace it with your source.
3. Start the Actor. Open Results to see the Dataset.
4. Read `status`, `partial`, and the contact source fields before using a row.

## Use cases

| Task | Input | Fields to use |
|---|---|---|
| Find shows about a topic | `searchQueries`, `country` | `applePodcastId`, `title`, `matchedQueries` |
| Check a known show | `applePodcastIds` or `applePodcastUrls` | `feedUrl`, `status`, `latestEpisodeDate` |
| Check a public RSS contact | `feedUrls` | `ownerEmail`, `contactEmail`, `contactSourceField`, `contactSourceUrl` |
| Build a recent-show shortlist | `activeOnly`, `activityWindowDays` | `active`, `activeAsOf`, `frequency` |
| Review recent episodes | `includeEpisodes`, `maxEpisodesPerPodcast` | `episodes`, `episodesReturned`, `truncationReasons` |

## Tips

- Turn on only-active to skip shows that stopped publishing.
- Use require-email if you only want shows with a public owner email.
- Check the contact source field before you use a contact.

## Limits

At most 20 queries, 100 IDs, 100 Apple URLs, 100 feed URLs, 100 results per query, and 100 unique candidates per run. There is no page cursor or whole-directory export. Reaching a catalog cap is recorded in the summary. Source search order can change.



## Sample result

```json
{
  "stableId": "apple:1253186678",
  "applePodcastId": "1253186678",
  "title": "Syntax - Tasty Web Development Treats",
  "feedUrl": "https://feeds.megaphone.fm/FSI1483080183",
  "feedFormat": "rss",
  "status": "PARTIAL",
  "contactStatus": "owner_present",
  "contactSourceField": "itunes:owner/itunes:email",
  "contactSourceUrl": "https://feeds.megaphone.fm/FSI1483080183",
  "partial": true,
  "truncationReasons": ["FEED_ITEM_LIMIT"],
  "episodesReturned": 0,
  "episodes": []
}
```

## Use it from code

Actor ID: `cliqtomedia/podcast-directory-rss-contacts-scraper`

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/podcast-directory-rss-contacts-scraper").call(run_input={
    "searchQueries": [],
    "applePodcastIds": [
        "1253186678"
    ]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

```bash
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~podcast-directory-rss-contacts-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchQueries": [], "applePodcastIds": ["1253186678"]}'
```

```python
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/podcast-directory-rss-contacts-scraper")
result = tool.invoke({"run_input": {"searchQueries": [], "applePodcastIds": ["1253186678"]}})
print(result)
```

run-sync waits up to 300 seconds; for longer runs start a run and use a webhook. LlamaIndex and MCP: https://cliqtomedia.com/actors/ai-agents/

## Use cases with this tool

- [Find the right creators, fast](https://cliqtomedia.com/actors/use-cases/creator-outreach/): Find podcasts, YouTube channels and newsletters in your niche, with public contact details.

## Similar tools

- [RSS & Atom Feed Reader / Monitor](https://cliqtomedia.com/actors/rss-atom-feed-reader-monitor/)
- [YouTube Subtitles & Transcript Scraper API](https://cliqtomedia.com/actors/youtube-transcript-scraper/)
- [YouTube Comments Scraper](https://cliqtomedia.com/actors/youtube-comments-scraper/)
- [Audio & Podcast Transcriber (Speech to Text)](https://cliqtomedia.com/actors/audio-video-transcriber/)
- [Social Video Downloader: TikTok, Instagram, X - No Login](https://cliqtomedia.com/actors/social-video-downloader/)
- [YouTube Search Results Scraper — No Login](https://cliqtomedia.com/actors/youtube-search-scraper/)
