People say "I need podcast data" as if it were one thing. It is three, and choosing the wrong one is why a project stalls before it starts. There is show data (the directory entry for a podcast), episode data (the back catalogue of one show), and chart data (the ranked leaderboard for a category and country). Each comes from a different place, takes a different input, and answers a different question. Apple offers no clean public API across any of them, so this guide is about getting all three off the public pages and feeds reliably — starting by being clear on which one you actually need.
The three data shapes, side by side
Show metadata
The directory record: title, author, artwork, genre, total episode count, average rating. One row per podcast. For discovery and building a directory.
input: search term or show IDEpisode list
The full back catalogue of one show: every episode's title, description, duration, publish date and audio URL. Many rows per podcast. For content analysis and transcription pipelines.
input: one show IDCategory chart
The ranked top-N for a category in a country: position, show, and the category itself. For competitive tracking and trend spotting.
input: category + countryNotice the inputs differ. You cannot ask for "episodes of the True Crime chart" in one shot — you pull the chart to get show IDs, then pull episodes per show ID. Pipelines that chain the shapes are common; mixing them up in a single request is the rookie error.
Step 1: find the iTunes show ID
Every show in Apple's directory has a numeric collection ID. It is sitting in the URL. Open the show in Apple Podcasts and read it off: in podcasts.apple.com/us/podcast/the-daily/id1200361736 the ID is 1200361736. That number is the key for both the show-metadata and the full-episode-list pulls. If you do not have a specific show yet, start from a search term or a chart instead, and the scraper hands you the IDs.
Step 2: run the shape you need
One Actor covers all three modes — you switch behaviour by which input you populate. Against the Apple Podcasts Scraper Actor:
curl -X POST "https://api.apify.com/v2/acts/renzomacar~apple-podcasts-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"mode": "episodes",
"showIds": ["1200361736"],
"country": "us",
"maxEpisodes": 500
}'
For chart data you swap the input shape entirely — no show ID, a category and country instead:
-d '{
"mode": "chart",
"chartCategory": "Technology",
"country": "us",
"limit": 100
}'
And which input belongs with which goal:
| You want… | mode | Input you provide |
|---|---|---|
| To build a directory of shows in a niche | search | A query like "startup interviews" + country |
| Metadata for shows you already know | shows | A list of showIds |
| Every episode of a show | episodes | One or more showIds + maxEpisodes |
| The ranked leaderboard for a category | chart | chartCategory + country + limit |
Step 3: the fields that matter per shape
Each shape carries different useful fields. The ones worth knowing:
- Show:
collectionId,title,author,genre,trackCount(episode count),artworkUrl,feedUrl— thefeedUrlis the RSS link the episode pull resolves behind the scenes. - Episode:
title,description,releaseDate,durationMs,episodeUrl(the audio file),episodeNumber,season. The audio URL is what feeds a transcription or analysis pipeline. - Chart:
rank,collectionId,title,category,country. Sparse on purpose — its value is therankat a moment in time, which leads to the one thing the store never gives you.
A worked example: tracking a chart week over week
The chart pull is a snapshot. Apple shows you today's ranking and nothing else — no history. If you want to know who is climbing, you have to build the time series yourself by snapshotting on a schedule. That is the highest-value podcast-data project, and it is simple:
- Snapshot. Pull
mode: "chart"forTechnology / us, store the dated result. Your "Acme Pod" sits at rank 41. - Snapshot again, same query. Acme Pod is now rank 29. Diff against W1 by
collectionId— it moved +12. Something worked that week. - Snapshot. Acme holds 28; a new entrant appears at rank 7 from nowhere. That is a launch worth investigating — pull its show + recent episodes to see what it is doing.
- Snapshot. Compute the four-week delta per show. The biggest climbers are your trend signal; the biggest fallers are shows losing momentum. None of this exists unless you captured each week yourself.
The pattern generalises: schedule the run, key each row by collectionId, store every snapshot, and diff. Rank-over-time is the dataset competitors and advertisers actually pay attention to, and you can only assemble it by collecting it.
rank over time is worth the scheduling effort.Gotchas worth knowing before you start
feedUrl, and a proper podcast scraper follows through to parse it. If you only ever see the last few episodes, you are reading the lookup endpoint, not the feed — use the episode mode that resolves RSS.- Charts are per country. The Technology chart in
usis a different list fromgborde. Pull each country you care about; there is no single global chart. - Episode counts can disagree. A show's
trackCount(from the directory) and the number of items in its RSS feed sometimes differ, because some feeds drop older episodes. Trust the parsed feed for "what is actually available". - Durations come in milliseconds.
durationMsis raw milliseconds; divide before charting or your "average episode length" will read as 3.6 million. - Category names are Apple's, not yours. Use Apple's exact category labels (
Technology,True Crime,Society & Culture) for the chart input, or it returns nothing.
Get show, episode and chart data in one Actor
The Apple Podcasts Scraper resolves show IDs, walks RSS feeds for complete episode lists, and pulls ranked category charts by country — all three shapes, clean JSON, no feed parser to maintain. Free Apify credits to start.
Run the Apple Podcasts Scraper → Or get done-for-you leadsFAQ
Does Apple Podcasts have a public data API?
Not a documented product API. The legacy iTunes Search/lookup endpoint returns basic show metadata and the most recent episodes for an ID, but it is limited, rate-limited and does not cleanly expose full episode histories or category charts. For complete episode lists and ranked charts you scrape the public pages and RSS feeds instead.
Can I get download or listener numbers for a podcast?
No. Apple does not publish downloads, unique listeners or completion rates for shows you do not own — those sit only in each podcaster's private Apple Podcasts Connect. The public, ranked chart position by category and country is the best available popularity proxy, so track rank over time.
How do I get every episode, not just the latest few?
The full back catalogue comes from the show's RSS feed, which the scraper resolves from the iTunes show ID and parses. The iTunes lookup endpoint alone returns only recent episodes, so use the episode mode that follows through to RSS for titles, durations, dates and audio URLs.
Disclosure: links to Apify on this page are affiliate links, marked rel="sponsored". If you create a paid account through them we may earn a commission at no extra cost to you. We recommend Apify because we build and ship Actors on it ourselves, including the Apple Podcasts Scraper linked above.