Apple Podcasts chart rank movement
Apple Podcasts chart rank movement and previous rank CSV
Job: get a spreadsheet that includes previous rank, not only today’s Top Podcasts position.
A one-run chart_rank CSV has rank for that fetch. It does not have previousRank. Previous rank is on a podcast_chart_movement_report after a saved monitor compares two polls.
Open Input → Start. First snapshot: US + limit 1, movement OFF ≈ $0.003. From $3.00 / 1,000 rows. Movement report $2.50 after you raise the $0.05 cap. No Apple API key.
First paid run is a snapshot - movement comes after two polls
The paying proof starts with a cheap chart snapshot, not a movement report on run one.
Before Start:
- Open Chart Scraper Input (not Apple Podcasts Scraper
chartRequests, and not Reviews). - Use US storefront and keep limit at 1 for the first snapshot.
- Leave movement OFF until you have a saved monitor and a second poll.
A one-run chart_rank CSV has today’s rank. It does not have previousRank. Previous rank appears on a podcast_chart_movement_report after two polls compare.
First snapshot: US + limit 1, movement OFF ≈ $0.003. From $3.00 / 1,000 rows. Movement report $2.50 after you raise the $0.05 cap. No Apple API key.
Try for free → Input (US, limit 1, movement off) → Start
Today’s chart CSV does not include previousRank
One Start writes today’s position and stops there. The dataset row is rowType chart_rank. Export it as CSV and the columns are that fetch: country, rank, show identity, sourceUrl, and fetchedAt. There is no previousRank column to map. Choosing CSV does not compare this poll with an earlier chart.
Previous rank is a second file. Save a monitor under a stable monitorKey, then poll again. The first monitor run only stores the baseline and writes zero rows, so there is still nothing to put in a previous-rank column. A later poll that sees a new, changed, or dropped position emits one podcast_chart_movement_report. That row is where previousRank, currentRank, and rankDelta live. Export that dataset as CSV when the spreadsheet has to show where the show sat last time.
| Today’s snapshot | Movement report | |
|---|---|---|
rowType |
chart_rank |
podcast_chart_movement_report |
| Previous rank | Not present | previousRank, currentRank, rankDelta |
| First useful paid run | US + limit 1 ≈ $0.003 | Baseline $0; later change emits one $2.50 row |
limit default |
1 (not search-actor 3) | Same depth as the monitor |
Apple Podcasts Scraper chartRequests is a snapshot only - no previous rank. Search default limit 3 belongs on the search actor, not here.
Cheapest snapshot. Paste this JSON if Input is empty. Leave movement off. Start, open the dataset, and download CSV. Confirm rowType is chart_rank and that previousRank is absent before you ask for a report.
{
"countries": ["us"],
"limit": 1,
"generateMovementReport": false,
"delivery": "dataset"
}
Then movement. Raise the cap first. The default maxChargeUsd of $0.05 lets the US + limit 1 snapshot bill and blocks the $2.50 report until you raise it. Set monitorKey, turn generateMovementReport on, set initialRunMode to baseline_only, and leave emitRawRows false. The baseline run stores state and writes zero rows. A later poll that sees a change emits one report row. That is the CSV with previous rank.
{
"countries": ["us"],
"limit": 1,
"monitorKey": "us-top-podcasts",
"generateMovementReport": true,
"initialRunMode": "baseline_only",
"emitRawRows": false,
"maxChargeUsd": 3,
"delivery": "dataset"
}
Rank movement is descriptive evidence - not downloads, audience, or an advertising guarantee.
Start path: snapshot first, then previous-rank CSV
- Open Chart Tracker Input. Sign in (an account is required to run). Product overview stays on Apple Podcasts Chart Scraper (
taroyamada/apple-podcast-chart-tracker). - Cheapest first paid run:
countries["us"],limit1 (this Actor’s default is 1, not the search-actor default of 3),generateMovementReportfalse. Click Start. Download the dataset as CSV and check that the row ischart_rankwithrankand withoutpreviousRank. - For previous rank: set a stable
monitorKey,generateMovementReporttrue,initialRunModebaseline_only,emitRawRowsfalse. RaisemaxChargeUsdabove $2.50 (the $0.05 cap blocks the report on purpose). - Run once to store the baseline (zero rows, so there is still no previous rank to export). On a later poll that sees new, changed, or dropped ranks, export the one report row as CSV. That file has
previousRank,currentRank, andrankDelta.
You do not need an Apple API key. Unchanged later polls with emitRawRows false stay zero rows and zero charge.
What the movement CSV contains
Read the report’s changes list, not the snapshot rank column. In the placeholder below, the show was 18 on the prior poll (previousRank) and 12 on this poll (currentRank). rankDelta is 6 and changeType is changed. The parent row’s changedCount, newCount, and droppedCount say how many of each landed in that one report. Show name, id, and URL here are placeholders, not a live chart. Rank movement is descriptive evidence, not a forecast or audience estimate.
Sample change object (placeholder show data):
{
"changeType": "changed",
"country": "us",
"showId": "123456",
"showName": "Example Podcast",
"previousRank": 18,
"currentRank": 12,
"rankDelta": 6,
"sourceUrl": "https://podcasts.apple.com/us/podcast/id123456"
}
Unchanged polls with emitRawRows false do not add a row, so the CSV stays empty until a position actually moves. A failed storefront is not a mass drop.
What this page is not
- Not a Store mirror. Actor overview: Apple Podcasts Chart Scraper.
- Not a
chartRequestssnapshot. That path has no previous rank: chart metadata from Apple/iTunes endpoints. - Not review text. Empty RSS pages by storefront: skip empty review pages.
- Not keyword search. Search default
limitis 3 on the search actor, not here.
Does today’s chart CSV include previous rank?
No. A raw chart_rank snapshot has country, rank, show identity, sourceUrl, and fetchedAt. There is no previousRank on that row. Previous rank exists only on a podcast_chart_movement_report after a saved monitor compares two polls. Joining two snapshot CSVs yourself is a different job (chartRequests on the search actor; that path does not emit movement reports).
How do I get previousRank, currentRank, and rankDelta as CSV?
Open Chart Scraper Input. First paid run: countries ["us"], limit 1, generateMovementReport false ≈ $0.003 (from $3.00 / 1,000 rows). Then set a stable monitorKey, generateMovementReport true, raise maxChargeUsd above $2.50 (default cap is $0.05 so an accidental report fails closed). A baseline_only first monitor stores state with zero rows. A later poll that sees new, changed, or dropped positions emits at most one report row. Export that dataset as CSV.
What is on the movement-report CSV?
One rowType podcast_chart_movement_report per emitting poll: monitorKey, changedCount, newCount, droppedCount, and a changes list with changeType, country, show identity, previousRank, currentRank, rankDelta, and sourceUrl. Unchanged polls with emitRawRows false emit zero rows and zero charge. A failed storefront is not treated as a mass drop.
Is Chart Scraper limit 3 by default?
No. This Actor’s live default and prefill for limit is 1 (chart depth per country, cap 200). Limit 3 is the search-actor default (searchTerm), not Chart Scraper. Do not copy search limit 3 onto a Top Podcasts movement run unless you want depth 3.
Does a chartRequests snapshot on the search actor give previous rank?
No. chartRequests is a rank snapshot only. It does not emit previousRank or a movement report. Use this Chart Scraper for source-linked movement. For keyword search (default limit 3), lookupIds, or episode charts (feedType podcast-episodes), open Apple Podcasts search Input.
Does rank movement equal downloads or audience?
No. Rank movement is descriptive evidence from public Top Podcasts JSON. It is not a forecast, listener count, advertising guarantee, or provider approval. The Actor is not affiliated with or endorsed by Apple.
Do I need an Apple API key?
No. Public chart JSON only. No proxy, Apple ID, or private dashboard. You do need an account on the run platform to click Start.
Open Input → Start. First snapshot: US + limit 1, movement OFF ≈ $0.003. From $3.00 / 1,000 rows. Movement report $2.50 after you raise the $0.05 cap. No Apple API key.
Related pages
- Apple Podcasts Chart Scraper — product landing
- Chart scraper use case
- chartRequests snapshots — no previous rank
- Join chart snapshots yourself
- Reviews by storefront — skip empty RSS pages
- Export search results to CSV — search + limit 3
- Charts and search by country
- Tools
Public Top Podcasts JSON only. No Apple API key. Account required to run. Rank movement is not a forecast. Not affiliated with or endorsed by Apple. Store prices unchanged on this page.