{"id":30429202,"url":"https://github.com/googleappsscriptautomation/youtube-live-tracker","last_synced_at":"2026-04-20T04:02:50.915Z","repository":{"id":309271524,"uuid":"1035659069","full_name":"GoogleAppsScriptAutomation/youtube-live-tracker","owner":"GoogleAppsScriptAutomation","description":"Tracks YouTube channels for new livestreams and records that into Google Sheets, grouped by channel. New livestreams are also added into individual playlists, grouped by the broadcaster name.","archived":false,"fork":false,"pushed_at":"2025-08-10T22:09:17.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-22T16:39:34.703Z","etag":null,"topics":["excel","google-apps-script","google-sheets","google-sheets-api","playlist","spreadsheet","spreadsheets","video","youtube","youtube-api","youtube-api-playlist","youtube-api-v3","youtube-api-v3-2025","youtube-playlist","youtube-video"],"latest_commit_sha":null,"homepage":"https://github.com/raymelon/youtube-live-tracker","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GoogleAppsScriptAutomation.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-10T21:38:34.000Z","updated_at":"2025-08-10T22:20:47.000Z","dependencies_parsed_at":"2025-08-11T00:14:54.175Z","dependency_job_id":"d5cfc20e-ffa0-49d5-9651-3a9aebfcbdf0","html_url":"https://github.com/GoogleAppsScriptAutomation/youtube-live-tracker","commit_stats":null,"previous_names":["googleappsscriptautomation/youtube-live-tracker"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/GoogleAppsScriptAutomation/youtube-live-tracker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleAppsScriptAutomation%2Fyoutube-live-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleAppsScriptAutomation%2Fyoutube-live-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleAppsScriptAutomation%2Fyoutube-live-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleAppsScriptAutomation%2Fyoutube-live-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoogleAppsScriptAutomation","download_url":"https://codeload.github.com/GoogleAppsScriptAutomation/youtube-live-tracker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleAppsScriptAutomation%2Fyoutube-live-tracker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32032302,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["excel","google-apps-script","google-sheets","google-sheets-api","playlist","spreadsheet","spreadsheets","video","youtube","youtube-api","youtube-api-playlist","youtube-api-v3","youtube-api-v3-2025","youtube-playlist","youtube-video"],"created_at":"2025-08-22T16:13:01.526Z","updated_at":"2026-04-20T04:02:50.894Z","avatar_url":"https://github.com/GoogleAppsScriptAutomation.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YouTube Live Tracker\n\nA Google Apps Script that automatically discovers and logs live streams from multiple YouTube channels to Google Sheets, with playlist integration.\n\n## What It's For\n\nThis tool helps you:\n\n- Monitor multiple YouTube channels for live streams simultaneously\n- Automatically log discovered live streams to organized spreadsheets\n- Build playlists of live content from your favorite channels\n- Keep a historical record of all live streams from tracked channels\n- Never miss a live stream from channels you follow\n\n## How It Works\n\nThe script operates by:\n\n1. **Reading** a list of YouTube channel IDs from a main \"Channels\" sheet\n2. **Searching** each channel for currently live videos using YouTube Data API\n3. **Creating** a dedicated sheet for each channel (named after the channel)\n4. **Logging** new live streams with video ID, title, URL, and timestamp\n5. **Adding** videos to specified playlists (optional per channel)\n6. **Preventing** duplicate entries by checking existing logs\n\n## Setup\n\n### Prerequisites\n\n- Google account with Google Sheets access\n- YouTube Data API v3 enabled in Google Cloud Console\n- Channel IDs of YouTube channels you want to track\n\n### Installation\n\n1. **Create the Spreadsheet Structure**\n\n   ```\n   - Create a new Google Sheet\n   - Rename the first sheet to \"Channels\"\n   - Add headers: Channel ID | Playlist ID (optional)\n   - Add channel IDs you want to track (one per row)\n   ```\n\n2. **Add the Script**\n\n   - Go to Extensions → Apps Script\n   - Delete any default code\n   - Paste the [`Code.gs`](Code.gs) content\n   - Save the project with a name like \"YouTube Live Tracker\"\n\n3. **Enable YouTube API**\n\n   - In Apps Script editor, click Services (+)\n   - Find and add \"YouTube Data API v3\"\n   - Click OK to enable\n\n4. **Set Up Automation**\n\n   - In Apps Script, click Triggers (clock icon)\n   - Add Trigger → Choose function: `trackAllChannels`\n   - Select time-based trigger (e.g., every 10 minutes)\n   - Save\n\n5. **First Run**\n   - Run `trackAllChannels()` manually once\n   - Authorize the required permissions\n   - Check that channel sheets are created\n\n### Usage\n\nOnce configured:\n\n- The script runs automatically at your set interval\n- Each tracked channel gets its own sheet with live stream history\n- New live streams are automatically logged with timestamps\n- Optional: Videos are added to playlists if playlist IDs are provided\n\n### Sheet Structure\n\n**Channels Sheet (Main):**\n| Channel ID | Playlist ID |\n|------------|-------------|\n| UCxxxxxx | PLxxxxxx |\n\n**Individual Channel Sheets (Auto-created):**\n| Video ID | Title | URL | Date Added |\n|----------|-------|-----|------------|\n| xxxxxxxxxxx | Stream Title | https://youtube.com/watch?v=xxx | 2024-01-15 10:30:00 |\n\n## LICENSE\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleappsscriptautomation%2Fyoutube-live-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogleappsscriptautomation%2Fyoutube-live-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleappsscriptautomation%2Fyoutube-live-tracker/lists"}