Sync YouTube Channel Videos to Google Sheets for Content Database
📊 YouTube Personal Channel Videos → Google Sheets
Automatically sync your YouTube videos (title, description, tags, publish date, captions, etc.) into Google Sheets — perfect for creators and marketers who want a clean content database for analysis or reporting.
🚀 What this workflow does
✅ Connects to your personal YouTube channel via Google OAuth
🔁 Fetches all uploaded videos automatically (with pagination)
🏷 Extracts metadata: title, description, tags, privacy status, upload status, thumbnail, etc.
🧾 Retrieves captions (SRT format) if available
📈 Writes or updates data in your Google Sheets document
⚙️ Can be run manually or scheduled via Cron
🧩 Nodes used
Manual Trigger** — to start manually or connect with Cron
HTTP Request (YouTube API v3)** — fetches channel, uploads, and captions
Code Nodes** — manage pagination and collect IDs
SplitOut** — iterates through video lists
Google Sheets (appendOrUpdate)** — stores data neatly
If Conditions** — control data flow and prevent empty responses
⚙️ Setup guide
Connect your Google Account
Used for both YouTube API and Google Sheets.
Make sure the credentials are set up in Google OAuth2 API and Google Sheets OAuth2 API nodes.
Create a Google Sheet
Add a tab named Videos.
Add these columns:
youtube_id | title | description | tags | privacyStatus | uploadStatus | thumbnail | captions
You can also include categoryId, maxres, or published if you’d like.
Replace the sample Sheet ID
In each Google Sheets node, open the “Spreadsheet” field and choose your own document.
Make sure the sheet name matches the tab name (Videos).
Run the workflow
Execute it manually first to pull your latest uploads.
Optionally add a Cron Trigger node for daily sync (e.g., once per day).
Check your Sheet
Your data should appear instantly — with each video’s metadata and captions (if available).
🧠 Notes & tips
⚙️ The flow loops through all pages of your upload playlist automatically — no manual pagination needed.
🕒 The workflow uses YouTube’s “contentDetails.relatedPlaylists.uploads” to ensure you only fetch your own uploads.
💡 Captions fetch may fail for private videos — use “Continue on Fail” if you want the rest to continue.
🧮 Ideal for dashboards, reporting sheets, SEO analysis, or automation triggers.
💾 To improve speed, you can disable the “Captions” branch if you only need metadata.
👥 Ideal for
🎬 YouTube creators maintaining a video database
📊 Marketing teams tracking SEO performance
🧠 Digital professionals building analytics dashboards
⚙️ Automation experts using YouTube data in other workflows
💛 Credits
Created by Grigory Frolov
YouTube: @gregfrolovpersonal
More workflows and guides → ozwebexpert.com/n8n
Related Templates
Track OpenAI Token Usage and AI Agent Metrics with Google Sheets Dashboard
What it does Captures token usage and cost from your AI Agent/LLM. Logs model, tokens, cost, tool use, and conversation ...
Lookup IP Geolocation Details with IP-API.com via Webhook
This n8n template enables you to instantly retrieve detailed geolocation information for any given IP address by simply ...
Send Hourly Crypto Market Analysis from Binance to Telegram
📈 Daily Crypto Market Summary Bot (Binance to Telegram) This workflow fetches 24h price change data from Binance for s...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments