Apple Podcasts Scraper — Episodes, Audio URLs & RSS Data
Pricing
from $2.50 / 1,000 results
Apple Podcasts Scraper — Episodes, Audio URLs & RSS Data
Extract podcast shows and full episode lists from Apple Podcasts. Titles, descriptions, audio MP3 URLs, durations, publish dates, artwork, genres, transcripts. Via iTunes Search/Lookup API + RSS. No login. For podcast intelligence, RAG/AI training data and sponsorship research.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Apple Podcasts Scraper — Episodes, Audio URLs, Show Metadata & RSS Feed Data
Extract podcast shows and full episode lists from Apple Podcasts (iTunes) — episode titles, descriptions, direct audio (MP3) URLs, durations, release dates, artwork, genres, episode numbers, season numbers, transcript URLs, chapter markers and HTML show notes. Search by keyword, drop in podcast IDs, or paste RSS feed URLs directly. Combines the official iTunes Search & Lookup API with optional RSS enrichment for full episode archives — no proxy, no login, no API key.
Built for podcast intelligence platforms, RAG / AI training data pipelines, ad targeting & sponsorship research, content discovery engines, podcast SEO tools and competitive intelligence workflows.
🚀 What does this Apple Podcasts scraper do?
Three input modes — combine them or use one in isolation:
| Mode | When to use | What it returns |
|---|---|---|
| Search Terms | Discover podcasts about a topic | All matching shows from iTunes, then every episode of each |
| Podcast IDs | You already know which shows you want | Fast, deterministic episode pulls for those exact shows |
| RSS Feed URLs | You want the full archive (>200 eps), private/custom feeds, or richer fields | Every episode in the feed, plus chapter markers, transcript URLs, HTML notes |
Behind the scenes it calls Apple's official iTunes Search API (/search) and iTunes Lookup API (/lookup?entity=podcastEpisode), then optionally parses the show's RSS 2.0 / Podcast 2.0 feed using a streaming XML parser. Anti-bot is irrelevant — Apple's catalog endpoints are designed for third-party clients.
💡 Use cases
- Podcast intelligence / analytics SaaS — feed every episode of every show in a niche into your dashboard (Listen Notes / Podscan / Chartable alternative data layer).
- RAG & LLM training data — episode title + description + show notes HTML is high-quality, semi-structured natural language. Audio URLs feed Whisper / Distil-Whisper for transcript generation.
- Ad & sponsorship targeting — find every fitness / B2B SaaS / parenting show in a country, then enrich with show metadata before outreach.
- Podcast SEO & discovery — build category landing pages, sitemap files, episode aggregators.
- Trend & topic monitoring — pull weekly snapshots of "AI" podcasts to track how the conversation evolves.
- Whisper / transcription pipelines — feed
audioUrlinto a transcription queue at scale. - Competitive intel for media companies — track release cadence, episode length distribution and topical drift of competitor shows.
- Apple Podcasts → Spotify migration tools — Apple is the canonical podcast index (Spotify, Pocket Casts, Overcast all sync from RSS too).
⚙️ Input configuration
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | string[] | [] | Keyword queries (e.g. ["artificial intelligence", "longform interview"]). Each term returns up to maxPodcastsPerSearch shows; every show is expanded into episodes. |
podcastIds | string[] | [] | iTunes collection IDs. From https://podcasts.apple.com/us/podcast/.../id1434243584 → 1434243584. |
rssFeeds | string[] | [] | Direct podcast RSS feed URLs. Bypasses Apple entirely. Best for full archives beyond Apple's ~200-episode lookup cap. |
country | string | "us" | iTunes storefront. Affects ranking and country-restricted shows. 30 storefronts supported. |
maxPodcastsPerSearch | integer | 50 | Max podcasts per search term (iTunes hard cap = 200). |
maxEpisodesPerPodcast | integer | 100 | Max episodes per iTunes lookup (iTunes hard cap = ~200). |
useRssForFullArchive | boolean | false | After iTunes lookup, also fetch the show's RSS to unlock the full archive (chapter markers + transcript URLs + episode numbers + season numbers + HTML show notes). |
minReleaseDate | string | null | Drop episodes released before this date (ISO YYYY-MM-DD). |
maxReleaseDate | string | null | Drop episodes released after this date (ISO YYYY-MM-DD). |
explicit | string | "all" | all / clean / explicit content filter. |
minDurationSeconds | integer | 0 | Drop episodes shorter than this — useful for filtering trailers and ads. |
fetchShowMetadata | boolean | true | Enrich each episode with parent-show fields (genres, primary genre, country, total track count, show description). |
📦 Output fields
| Field | Description | Example |
|---|---|---|
podcastId | iTunes collection ID | "1434243584" |
podcastName | Show name | "Lex Fridman Podcast" |
author | Podcast creator / host | "Lex Fridman" |
episodeId | iTunes track ID or RSS guid | "1000766518218" |
episodeGuid | RSS-native guid (when available) | "abc-123-uuid" |
episodeTitle | Episode title | "#496 – FFmpeg..." |
episodeNumber | RSS itunes:episode | 496 |
season | RSS itunes:season | 1 |
episodeType | full, trailer, bonus (RSS only) | "full" |
description | Plain-text description | "Jean-Baptiste Kempf is..." |
shortDescription | Truncated summary | "Jean-Baptiste Kempf is..." |
showNotesHtml | Full HTML show notes (RSS only) | "<p>...</p>" |
releaseDate | ISO-8601 publish time | "2026-05-06T22:06:47Z" |
durationMs | Length in ms | 15821000 |
durationSec | Length in seconds | 15821 |
audioUrl | Direct audio file URL | "https://media.../episode.mp3" |
audioContentType | MIME type | "audio" |
audioExtension | mp3, m4a, mp4 | "mp3" |
audioFileSize | Byte length (RSS only) | 253984210 |
artworkUrl600 | 600px artwork | "https://...600x600bb.jpg" |
episodeAppleUrl | Apple Podcasts episode URL | "https://podcasts.apple.com/..." |
showAppleUrl | Apple Podcasts show URL | "https://podcasts.apple.com/..." |
feedUrl | Show RSS feed URL | "https://.../feed.xml" |
closedCaptioning | Apple closed-caption flag | "none" |
transcriptUrl | Podcast 2.0 transcript URL | "https://.../transcript.srt" |
chapters | Chapter markers (Podcast 2.0) | [...] |
keywords | RSS itunes:keywords | "ai, technology, vlc" |
explicitness | Apple explicit flag | "cleaned" |
genres | iTunes genre list | ["Technology","Science"] |
primaryGenre | Top genre | "Technology" |
country | Storefront / language country | "USA" |
trackCountTotal | Total episodes per Apple | 497 |
showDescription | Show-level summary | "..." |
source | "itunes" or "rss" | "itunes" |
scrapedAt | UTC scrape timestamp | "2026-05-18T07:19:37Z" |
🧪 Example inputs
1. Discover & pull all AI podcasts in the US
{"searchTerms": ["artificial intelligence", "machine learning", "LLM"],"country": "us","maxPodcastsPerSearch": 50,"maxEpisodesPerPodcast": 100}
2. Full archive of a single show (beyond Apple's 200-episode cap)
{"podcastIds": ["1434243584"],"useRssForFullArchive": true,"fetchShowMetadata": true}
3. Direct RSS feeds (no iTunes lookup, fastest)
{"rssFeeds": ["https://feeds.simplecast.com/54nAGcIl","https://lexfridman.com/feed/podcast/","https://feeds.megaphone.fm/hubermanlab"]}
4. Recent long-form episodes only (skip trailers, drop old episodes)
{"searchTerms": ["startup interview"],"country": "us","minReleaseDate": "2025-01-01","minDurationSeconds": 1200,"maxEpisodesPerPodcast": 50}
5. Build a clean German-language news podcast dataset
{"searchTerms": ["nachrichten", "tagesthemen", "politik"],"country": "de","explicit": "clean","maxPodcastsPerSearch": 100,"maxEpisodesPerPodcast": 100}
6. Mix every mode in one run
{"searchTerms": ["true crime"],"podcastIds": ["1200361736", "1535823522"],"rssFeeds": ["https://www.npr.org/rss/podcast.php?id=510289"],"useRssForFullArchive": true,"country": "us","maxPodcastsPerSearch": 20,"maxEpisodesPerPodcast": 200}
🌍 Supported countries (iTunes storefronts)
us · gb · ca · au · de · fr · es · it · nl · br · mx · jp · kr · in · tr · ru · se · no · dk · fi · pl · cz · at · ch · be · ie · nz · za · ae · sa
Most podcasts are global but rankings and country-restricted shows vary by storefront. Pull the same query against multiple storefronts to discover region-exclusive shows.
🧠 How it works
- Search mode →
GET https://itunes.apple.com/search?term=...&entity=podcast&country=...&limit=...returns up to 200 podcasts per query, each withcollectionId,feedUrl, genres and artwork. - Lookup mode →
GET https://itunes.apple.com/lookup?id=COLLECTION_ID&entity=podcastEpisode&country=...&limit=...returns the show object + the most recent ~200 episodes, each withepisodeUrl(direct MP3),description,releaseDate,trackTimeMillis. - RSS mode →
GET <feedUrl>then parses with fast-xml-parser to extract every<item>plus Apple namespace fields (itunes:episode,itunes:season,itunes:duration,itunes:keywords,itunes:summary,itunes:explicit,itunes:image) and Podcast 2.0 fields (podcast:transcript,podcast:chapters). - Dedup → episodes are keyed by
podcastId::(guid|trackId|audioUrl|title)so combining iTunes + RSS for the same show never double-saves.
🛑 Limits & known constraints
- iTunes Lookup ≈ 200 most recent episodes per show. For older / full archives, enable
useRssForFullArchiveor paste the feed URL directly. - iTunes Search returns max 200 podcasts per query. Split broad topics into specific sub-queries to widen reach.
- RSS feeds vary in quality. Some publishers truncate the feed to the latest N episodes. There is no workaround beyond contacting the publisher.
- Transcript URLs and chapter markers depend on the publisher adopting Podcast 2.0 namespaces. Many big-network shows still don't.
- Apple may rate-limit very aggressive scraping. The actor automatically retries with exponential backoff and uses realistic browser headers.
💰 Pricing
This actor is monetized via pay-per-event on Apify — you pay a small per-episode result fee and Apify's compute is included. iTunes API and most RSS feeds are free.
❓ FAQ
Does it scrape Spotify? Not directly. But Spotify's catalog is largely sourced from the same RSS feeds. Paste the show's RSS URL and you get the same episodes a Spotify scraper would return — for free, no auth, no rate limits.
Does it return audio transcripts?
Only when the publisher adopts Podcast 2.0 <podcast:transcript> (currently a minority). For full transcript coverage, take the returned audioUrl and feed it into Whisper or Distil-Whisper in a downstream actor.
How fresh is the data? iTunes Search / Lookup is near-real-time — new episodes typically appear in the API within minutes of RSS publish.
Can I get episodes for a show with 1,000+ episodes (like The Daily)?
Yes — set useRssForFullArchive: true or pass the RSS URL directly. Tested: The Daily returned 2,800+ episodes from a single feed pull.
Is this against Apple's terms? The iTunes Search & Lookup APIs are explicitly published for third-party clients (search affiliate program). RSS feeds are public-by-design. You are responsible for respecting each individual publisher's terms.
Why use this over the Apple Podcasts Connect API? The Connect API is for show owners only and requires authentication. This actor works on the entire public catalog with zero credentials.
🔗 Related actors
logiover/website-contact-scraper— enrich thelinkfield of every podcast with publisher contact emails for sponsorship outreachlogiover/sitemap-to-url-crawler— crawl the show's website for episode landing pageslogiover/google-news-scraper— track press mentions of the podcasts you scraped
🆘 Support
Found a publisher whose RSS feed isn't parsing correctly, or a feature you need? Open an issue on the actor's Apify page — feedback drives the roadmap.
Changelog
- 2026-05-20 — Maintenance pass: reviewed the input schema and default values for a smooth one-click start, and rebuilt the Actor on the latest base image.
Last reviewed: 2026-05-20.