Track Apple Podcasts charts over time
Apple publishes country-specific rankings for podcast shows and podcast episodes. Apple Podcasts Scraper reads those rankings through official Apple/iTunes endpoints. No proxy is required. Each run is a chart snapshot: rows can include a rank, show identifiers, a source URL, and fetchedAt. The Actor does not compute rank movement between runs, and it does not draw charts. A time series is the sequence of snapshots you keep. For a source-linked movement report (new, changed, or dropped positions on a saved monitor), use Apple Podcasts Chart Scraper.
Open Apple Podcasts Scraper on Apify
Join snapshots yourself versus a movement report
Use this page when you will store each chartRequests export and join on collectionId. Use Chart Scraper when you want the Actor to emit one movement report. Use Apple Podcasts Reviews Scraper for public ratings on IDs you already have — not for rank.
Apple Podcasts Scraper chartRequests |
Apple Podcasts Chart Scraper | |
|---|---|---|
| Intent | Rank snapshot rows you join later | Raw chart rows or one movement report |
| Input | chartRequests with country, feedType, limit |
countries, optional genreId, limit |
| Movement | None — snapshot only | One report when a monitorKey sees new, changed, or dropped positions |
| Show / episode scrape | Optional includeEpisodes; also search and watchlists |
Not in that Actor |
Neither Actor is affiliated with or endorsed by Apple. Rank movement is descriptive evidence, not a forecast, audience estimate, or advertising guarantee.
What a chart snapshot contains
Chart rows are source-linked dataset items. Documented fields include:
rank— position on that chart requestcollectionId— Apple Podcasts collection IDshowName,publisher,countrysourceUrl— Apple Podcasts page for the showfetchedAt— fetch timestamprowType— row kind for downstream filters
Optional recent episodes are available with includeEpisodes. Leave that off unless episode context is required; it slows the run. This is catalog metadata, not download counts or listener numbers. Those figures are not in the published output.
Chart request input
Use chartRequests. At least one of searchTerm, chartRequests, or lookupIds is required. Each chart item can set country, feedType, and limit. Supported feedType values are podcasts and podcast-episodes. If an item omits limit, the top-level limit applies (1–200). Per-item country overrides the default country (ISO codes such as us, gb, jp).
{
"chartRequests": [
{ "country": "us", "feedType": "podcasts", "limit": 25 }
],
"includeEpisodes": false
}
Keep the first run small, then raise limit after the output is useful. Rankings differ by storefront: a US chart is not a GB or JP chart. See How to get Apple Podcasts chart metadata.
Turning snapshots into a time series
Run the same chartRequests on a schedule (an Apify schedule, or any job that starts the Actor). Keep each default-dataset export. Join later runs on collectionId and country, and order by fetchedAt. Plot rank against fetchedAt in your own sheet or warehouse if you need a chart.
Compare ranks only within the same country and feedType. Do not mix show charts (podcasts) and episode charts (podcast-episodes) as one ranking series. A show that is absent from a later snapshot is not a computed “dropped” event in this Actor; it is simply not in that run’s rows.
For known shows that may not appear on the chart, pass lookupIds as a watchlist refresh instead of inferring presence from a missing rank. Empty or no-change watchlist polls are described as avoiding payable default-dataset writes when nothing is saved.
Does Apple Podcasts Scraper compute rank movement?
No. Each run is a chart snapshot. The Actor does not compute rank movement between runs and it does not draw charts. A time series is the sequence of snapshots you keep. A show that is absent from a later snapshot is not a computed dropped event in this Actor.
How do I join chart snapshots into a time series?
Run the same chartRequests on a schedule. Keep each default-dataset export. Join later runs on collectionId and country, and order by fetchedAt. Plot rank against fetchedAt in your own sheet or warehouse if you need a chart. Compare ranks only within the same country and feedType.
When should I use Apple Podcasts Chart Scraper instead?
Use Chart Scraper when you need one source-linked movement report (new, changed, or dropped positions on a saved monitor). Use Apple Podcasts Scraper chartRequests when you want raw snapshot rows to join yourself. Chart Scraper does not search by keyword or attach episode catalogs.
Can I mix countries or feedTypes in one ranking series?
No. Rankings differ by storefront: a US chart is not a GB or JP chart. Do not mix show charts (podcasts) and episode charts (podcast-episodes) as one ranking series. See charts and search by country. For known shows that may not appear on the chart, pass lookupIds as a watchlist refresh instead of inferring presence from a missing rank.
How to run it
- Open Apple Podcasts Scraper, then the Actor on the Apify Store.
- Paste a
chartRequestsarray. Start with one country andfeedType: "podcasts". - Leave
includeEpisodesfalse unless you need recent episodes. - Deliver to the default dataset. Export the rows (JSON or CSV from the dataset view) and store them with the run’s
fetchedAtvalues. Switchdeliverytowebhookonly after the payload shape is approved. SetdryRuntrue to test without saving results or sending webhooks.
Billing is pay-per-event: Actor start plus one result event per default-dataset item. The published Store price is $0.005 per Actor start and $10.00 per 1,000 dataset results ($0.01 per row).
From $10 per 1,000 results
Open Apple Podcasts Scraper on Apify