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.
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.
FAQs
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?
Related templates
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
Keep a spreadsheet of your most important senders, and every email from one gets labeled, posted to your team channel, and logged automatically.
The moment an order is fulfilled, we register it with Yotpo so the review request is timed off real delivery, and we log every sync so failures never go unnoticed.
Every night at 11pm we compare the day's Shopify orders with your Zoho Books invoices and payments, and flag only what does not match.
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.