Building a list of podcasts in a niche is tedious work. Whether you are booking guests, selling sponsorships or researching content, you need show names, publishers, RSS feeds and how active each show is, and Apple Podcasts only shows that one page at a time.
The Apple Podcasts Search, Top Charts and Episodes actor, published by Hay Equipos on the Apify Store, puts it in a table. It searches by keyword, looks up shows by id or link, and reads Apple's top podcasts chart for any country and genre. Turn on episodes and it also returns each show's recent episodes with title, date, duration, description and the direct audio URL. It uses Apple's public iTunes Search and Lookup API and Apple's public chart feed, with no login, no key and no browser.
What you get back
Show rows have type: "podcast" (illustrative values):
{
"type": "podcast",
"source": "chart",
"query": "top-podcasts-genre-1321",
"rank": 4,
"country": "us",
"podcastId": 1000000001,
"name": "The Example Business Show",
"publisher": "Example Media",
"primaryGenre": "Business",
"episodeCount": 312,
"latestEpisodeDate": "2026-09-25T10:00:00Z",
"explicit": false,
"feedUrl": "https://feeds.example.com/business-show",
"applePodcastsUrl": "https://podcasts.apple.com/us/podcast/the-example-business-show/id1000000001"
}
Episode rows have type: "episode":
{
"type": "episode",
"podcastName": "The Example Business Show",
"episodeId": 1000000099,
"title": "Pricing your first product",
"releaseDate": "2026-09-25T10:00:00Z",
"durationSeconds": 2410,
"description": "In this episode we look at...",
"audioUrl": "https://media.example.com/episode-99.mp3",
"episodeGuid": "example-guid-99"
}
The dataset has two views, Podcasts and Episodes. Inputs that return nothing are listed in RUN_SUMMARY in the key value store and cost nothing.
Step by step in the Apify Console
- Open the actor on the Apify Store and start it in the Console.
- Add Search terms, one per line, such as
true crimeormarketing. Results keep Apple's order, sopositionis the search rank. - Add Podcast ids or Apple Podcasts links for shows you already know.
- Switch on Include the top podcasts chart to add the chart with ranks, and optionally set a Chart genre id such as
1321Business,1318Technology or1488True Crime. - Set the Country (two letter code, default
us). - Switch on Add recent episodes and choose Episodes per show (default 20, up to 200) if you want episodes.
- Set Maximum rows (shows plus episodes, default 1,000), click Start, and export as CSV, Excel or JSON.
Calling it from code
curl:
curl -X POST \
"https://api.apify.com/v2/acts/pistachio_implementation~apple-podcasts/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"topChart": true, "chartGenreId": "1321", "country": "us", "maxResultsPerChart": 25}'
Python with apify-client:
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("pistachio_implementation/apple-podcasts").call(
run_input={
"searchTerms": ["marketing"],
"topChart": True,
"chartGenreId": "1321",
"country": "gb",
"maxResultsPerSearch": 20,
"includeEpisodes": True,
"maxEpisodesPerPodcast": 5,
}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row["type"] == "podcast":
print("SHOW", row["rank"] or row["position"], row["name"], row["feedUrl"])
else:
print(" EP", row["releaseDate"], row["title"], row["audioUrl"])
To watch for new episodes, schedule the actor with your show list and episodes on, then compare episodeId across runs. If you run transcription, the audioUrl field can go straight into your own speech to text tool.
Pricing
Pay per event, no subscription and no start fee:
- $0.001 per podcast row ($1 per 1,000 shows).
- $0.0005 per episode row ($0.50 per 1,000 episodes), only when episodes are on.
The top 200 podcasts in a genre cost $0.20. The top 100 with their last 10 episodes each cost $0.60. You can set a maximum charge per run and the actor stops cleanly when it is reached.
Limits and what it does not do
-
Apple returns at most 200 shows per search and 200 per chart, and at most 200 recent episodes per show. For a full back catalog, read the show's
feedUrlwith any RSS reader. - Apple allows about 20 requests a minute from one address, so calls are spaced about 3 seconds apart. Each search, each batch of 100 shows and each show's episode list is one call, so big runs take minutes.
- No listener numbers, downloads or ratings. Apple does not publish them through these endpoints.
- Spotify and other directories are not covered.
- The publisher field is the show's public byline, often a company or network. No listener or contact data is collected.
- It is an independent tool and is not affiliated with Apple.
Please use the data, and any audio you download from the returned links, in line with Apple's terms and each show's rights.
Try it on the Apify Store: https://apify.com/pistachio_implementation/apple-podcasts
Top comments (0)