Apple Podcasts Chart Monitor: New Entries and Drops
Pricing
from $1.50 / 1,000 chart entry returneds
Apple Podcasts Chart Monitor: New Entries and Drops
Apple Podcasts top shows and top episodes by country and genre, with a monitoring mode that reports new chart entries, drops and rank moves since your last run, and bills only for what changed.
Pricing
from $1.50 / 1,000 chart entry returneds
Rating
0.0
(0)
Developer
Adriana Voss
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Get Apple Podcasts' Top Shows or Top Episodes chart for any store country, and on every scheduled run only what changed: new entries, drops and rank moves. Each row is one show (or episode) with its rank, publisher, genres and Apple Podcasts page. Turn on monitoring, run it daily, and a quiet day returns nothing and costs nothing.
Related actors: to look a single show up by Apple id, with its feed URL and latest episodes, use Podcast Lookup. This actor is about the charts.
Who uses it
- Podcast networks and agencies watch whether a client show or a competitor's enters or leaves the top 25 in a country, without opening the app every morning.
- Brand and sponsorship teams get a daily list of shows that just broke into a genre chart, which is the moment a show is worth pitching.
- Newsletters, data journalists and trend trackers schedule it per country and drop the new entries into Sheets, n8n, Make or Slack.
How to use
- In the Apify Console. Open the actor page and click Start — the
countriesfield is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found. - Via the API. Call it directly with a POST request — no Console needed once you have an API token:
curl "https://api.apify.com/v2/acts/accountable_eel~apple-podcasts-chart-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"countries":["us"]}'
- On a schedule. Save this actor as an Apify Task with the input you want, then add a Schedule (hourly, daily, weekly) so it runs on its own — no server of your own required.
Input
{"countries": ["us"]}
One two-letter Apple store country code per line. Each country gets its own chart and its own monitoring memory. Accepted formats: us, gb, de.
One run covers every country you list, one chart per country, each with its own monitoring memory. Entries are the country's chart as Apple publishes it: the feed refreshes daily and holds at most the top 100, so a chart watch is a top-100 watch.
Genre. Apple's chart feed has no genre parameter, so the genre field filters the country's top 100 by genre name or id (News, True Crime, Comedy, 1489 ...). rank counts inside that genre, overallRank keeps the position in the country's chart. On the episodes chart Apple prints genre names in the store's language and without an id, so type the name as it appears.
Chart size. limit is how many entries you watch (1 to 100). Monitoring compares that top N between runs, so a show that slides from rank 20 to rank 30 on a top-25 watch is reported as dropped.
Monitoring: entries, drops and moves
Switch on Only return entries and drops since the last run, or just give the watchlist a name, and the actor remembers each country's last chart in a key-value store of its own. From the second run on:
chartStatus | Meaning | Returned and billed with monitoring on |
|---|---|---|
BASELINE | The first monitored run: the whole chart, so you have the starting point | yes, once |
NEW_ENTRY | In the chart now, not in the last run's chart | yes |
DROPPED | In the last run's chart, gone now (rank is null, previousRank says where it was) | yes |
UP / DOWN / UNCHANGED | Still on the chart; rankChange is the places climbed (negative = fell) | no, only in the full-chart mode below |
With monitoring on and nothing entered or dropped you get one row with monitorStatus: NO_CHANGES and entryCount: 0, and you are not charged. A name without the checkbox (a tracked watchlist) returns the full chart every run, stamped with each entry's movement.
Output
One row per chart entry, for example:
| query | found | status | country | chart | genreFilter | chartSummary | entryCount | monitorStatus | feedGeneratedAt | sourceUrl | entries | rank | overallRank | id | name | artistName | genres | explicit | artworkUrl | url | chartStatus | previousRank | rankChange | isNew | firstSeenAt | scrapedAt |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| us | true | OK | <all chart entries (full list)> | <is this a new entry?> | 1970-01-01T00:00:00.000Z |
A country with no chart comes back as a row with "found": false and is never charged. Values Apple does not publish are null, never 0 or an empty string. explicit is true when Apple flags the title and null otherwise, because the feed never says "clean". Every row carries the Apple Podcasts page in url, the feed it came from in sourceUrl, and scrapedAt.
Real rows from the US Top Shows chart on 2026-10-11:
| rank | name | artistName | genres | url |
|---|---|---|---|---|
| 1 | The Daily | The New York Times | News | https://podcasts.apple.com/us/podcast/the-daily/id1200361736 |
| 2 | In The Dark | The New Yorker | True Crime, Society & Culture | https://podcasts.apple.com/us/podcast/in-the-dark/id1148175292 |
| 3 | Crime Junkie | Audiochuck | True Crime | https://podcasts.apple.com/us/podcast/crime-junkie/id1322200189 |
Pricing
- Chart entry returned: $3 per 1,000 entries
Plus a $0.003 start fee per run. Each event above is billed independently, only when it actually returns data - misses (found:false) are never charged.
A top-25 chart is 25 entries. A monitoring run that finds no new entries and no drops is free.
Example runs
Paste any of these into the Input tab and press Start. All three return rows with no key, no token and no account of your own beyond an Apify login.
US Top Shows, top 25. The default shape.
{"countries": ["us"],"chart": "shows","limit": 25}
True Crime inside the UK and German top 100, monitored. Run it daily as a schedule; the first run is the baseline, later runs return only entries and drops.
{"countries": ["gb", "de"],"chart": "shows","genre": "True Crime","limit": 25,"onlyNewSinceLastRun": true,"deltaName": "true-crime-eu"}
Top 10 episodes in France.
{"countries": ["fr"],"chart": "episodes","limit": 10}
Use it from Clay, n8n, Make, or an AI agent
This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.
curl "https://api.apify.com/v2/acts/accountable_eel~apple-podcasts-chart-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d '{"countries":["us"]}'
n8n. Add an HTTP Request node: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~apple-podcasts-chart-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body Content Type JSON, JSON Body {"countries":["us"]} (swap in an expression from an earlier node for a real value).
Clay. Add an "HTTP API" column: Method POST, URL https://api.apify.com/v2/acts/accountable_eel~apple-podcasts-chart-monitor/run-sync-get-dataset-items?token=<YOUR_TOKEN>, Body {"countries":["{{country chart}}"]}, mapping the row's country chart into the countries array.
MCP. In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "apple podcasts chart tracker" — the agent will find and run this actor.