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.
If you still need a keyword shortlist first, start with search + limit 3 ≈ $0.0125 on taroyamada/apple-podcast-scraper.
Open Apple Podcasts / iTunes Scraper Input 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 from Apple/iTunes endpoints.
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 iTunes Lookup 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. For known shows that may not appear on the chart, pass lookupIds as a watchlist refresh instead of inferring presence from a missing rank.
What does a chart snapshot contain?
Documented fields include rank, collectionId, showName, publisher, country, sourceUrl, fetchedAt, and rowType. This is catalog metadata, not download counts or listener numbers. Those figures are not in the published output.
Do search rows belong in a rank time series?
No. rank is null on search rows. A time series of rankings should use chartRequests snapshots (or Chart Scraper movement reports), not keyword search rows.
How do I refresh known shows that fell off the chart?
Pass lookupIds as a watchlist refresh instead of inferring presence from a missing rank. A show that is absent from a later snapshot is not a computed dropped event in this Actor. Empty or no-change watchlist polls are described as avoiding payable default-dataset writes when nothing is saved.
Can Chart Scraper replace storing snapshots?
Use Chart Scraper when you want the Actor to emit one movement report. Use Apple Podcasts Scraper chartRequests when you will store each export and join on collectionId yourself. The two jobs are different source lanes.
Should I join US and GB ranks into one series?
No. Rankings differ by storefront: a US chart is not a GB or JP chart. Compare ranks only within the same country and feedType.
How is a chart snapshot priced?
Billing is pay-per-event. The live Store card is from $2.50 / 1,000 results. Published events are Actor Start at $0.005 and result at $0.0025 per default-dataset item ($2.50 per 1,000).
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 $2.50 per 1,000 dataset results ($0.0025 per row).
From $2.50 per 1,000 results
Open Apple Podcasts Scraper on Apify
Related pages
- Apple Podcasts Scraper landing
- Apple Podcasts Chart Scraper
- Apple Podcasts chart scraper — country rank and movement reports
- Apple Podcasts Reviews Scraper
- Apple Podcasts reviews scraper
- How to get Apple Podcasts chart metadata from Apple/iTunes endpoints
- Apple Podcasts charts and iTunes Search by country
- Refresh Apple Podcasts watchlists (iTunes Lookup API)
- Apple Podcasts search discovery (iTunes Search API)
- Apple Podcasts dataset fields
- Export Apple Podcasts episode metadata via Apple/iTunes endpoints
- Deliver Apple Podcasts results with webhooks
- Shortlist podcasts for outreach
- One-time export vs iTunes watchlist lookup
- RSS feed vs iTunes Search API
- RSS vs Apple Podcasts Scraper
- Apple Podcasts Scraper FAQ
- Tools