Weekly streaming Top 10 tracker to Google Sheets
Snapshot the Top 10 movies and series on Netflix, Prime Video, Disney+, Apple TV, Max, and Crunchyroll into one Google Sheet every Monday morning.
Build me a code workflow that snapshots the weekly streaming Top 10 charts into a Google Sheet so an entertainment newsletter team has a clean append-only history they can mine each week.
Trigger: cron, every Monday at 6:00 AM America/New_York. The schedule should be configurable as a workflow input so it is easy to change later.
Workflow inputs (with defaults):
- country: ISO 3166-1 alpha-2 code, default "us" (lowercase, as Streaming Availability requires).
- spreadsheetId: the Google Sheets spreadsheet ID to write to.
- sheetName: the tab name to append to, default "Top 10".
Step 1 — Fan out over the fixed service list. Hard-code services to exactly the six values that Streaming Availability's Get Top Shows operation supports: netflix, prime, disney, apple, hbo, crunchyroll. Do not make this list dynamic and do not include any other services, because /shows/top returns empty for anything else.
Step 2 — For each service, call Streaming Availability "Get Top Shows" twice: once with show_type=movie and once with show_type=series. So 12 calls total per run (6 services × 2 show types). Pass the configured country on every call.
Step 3 — For each returned title, build one row with these columns in this exact order:
1. Snapshot Date (ISO date of the run, e.g. 2026-06-29)
2. Service (human label: Netflix, Prime Video, Disney+, Apple TV, Max, Crunchyroll)
3. Show Type (Movie or Series)
4. Rank (1–10, from the order the API returns)
5. Title
6. Year (release year for movies, first-air year for series)
7. IMDb Rating (convert the API's 0–100 integer rating into the familiar 0.0–10.0 scale; blank if missing)
8. Runtime (minutes for movies; episode runtime for series; blank if missing)
9. Genres (comma-separated genre names)
10. Deep Link (the streamingOptions deep link for that service in the configured country; fall back to the show's general page link if no deep link is returned)
Step 4 — Append all rows in one call using the Google Sheets "Append Values" operation against the configured spreadsheetId and sheetName. Use valueInputOption=USER_ENTERED so dates and numbers render naturally. The workflow should never overwrite existing rows — it is strictly append-only so the sheet becomes a week-over-week time series.
Error handling: if a single service call fails or returns an empty list, log it and continue with the other services rather than aborting the whole run. The goal is that a partial snapshot still lands in the sheet.
Setup note for the README: the destination tab should have a header row matching the 10 column names above before the first run, so pivots and filters in Google Sheets work out of the box.
Additional information
What does this prompt do?
- Captures the current Top 10 movies and Top 10 series for each major streaming service every Monday at 6am.
- Appends every title as its own row in a Google Sheet with snapshot date, service, rank, title, year, IMDb rating, runtime, genres, and a deep link.
- Builds an append-only history so you can pivot on week-over-week chart movement, new entries, and longest-running titles.
- Runs hands-off on a weekly schedule so your newsletter or content team starts Monday with fresh chart data instead of clicking through six apps.
What do I need to use this?
- A Streaming Availability account on RapidAPI (the free tier works for a weekly run).
- A Google account with edit access to the destination Google Sheet.
- A blank tab in that Sheet with a header row ready for the snapshot columns.
How can I customize it?
- Change the country from US to any other supported region (UK, Canada, Australia, etc.) to track a different market.
- Adjust the schedule to run on a different day or time, or drop in a second run for a midweek refresh.
- Add or remove streaming services from the list, or split each service into its own tab inside the same Sheet.
Frequently asked questions
Which streaming services does this cover?
Can I track a country other than the US?
What does the spreadsheet look like after a few weeks?
Do I need a paid Streaming Availability plan?
What happens if a service has fewer than 10 titles that week?
Never click through six streaming apps for chart data again.
Connect Streaming Availability and Google Sheets once, and Geni captures the Top 10 across every major service every Monday at 6am.