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:

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.

Run a chart snapshot on Apify

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

  1. Open Apple Podcasts Scraper, then the Actor on the Apify Store.
  2. Paste a chartRequests array. Start with one country and feedType: "podcasts".
  3. Leave includeEpisodes false unless you need recent episodes.
  4. Deliver to the default dataset. Export the rows (JSON or CSV from the dataset view) and store them with the run’s fetchedAt values. Switch delivery to webhook only after the payload shape is approved. Set dryRun true 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

Related pages