Weekly streaming Top 10 tracker to Google Sheets

By General Input

Snapshot the Top 10 movies and series on Netflix, Prime Video, Disney+, Apple TV, Max, and Crunchyroll into one Google Sheet every Monday morning.

Integrations

  • Streaming Availability
  • Google Sheets

Type

Deterministic Code

Categories

  • Marketing
  • Operations

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads