Automated YouTube Transcript Extraction and Supabase Storage - n8n Workflow

Use this comprehensive n8n workflow to automatically fetch new YouTube videos, retrieve high-quality transcripts using youtube-transcript.io, and save the data to Supabase.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?


  • Content aggregators who build knowledge bases from video content.

  • Researchers needing automated transcription of specific YouTube channels.

  • Users looking for robust n8n templates integrating external APIs and databases.

  • Developers utilizing Supabase for backend data storage in their n8n projects.

Overview

This powerful automation provides a robust solution for content curators and data analysts who require structured text data from video content sources. By leveraging a sophisticated n8n workflow, you can monitor multiple YouTube channels effortlessly and reliably. The system first detects new content using the YouTube RSS mechanism, then employs the youtube-transcript.io service to generate high-quality, free transcripts. The resulting enriched, structured data—including the transcript, title, and link—is then securely stored in a Supabase database, making it immediately available for further use, such as indexing for a Retrieval-Augmented Generation (RAG) system. This particular n8n workflow handles complex requirements like video ID extraction, error checking, and filtering (e.g., skipping YouTube Shorts by default), providing one of the most complete n8n templates available for video intelligence.

How it Works

The process is initiated by an n8n trigger (a manual trigger in the template, but ideally replaced by a Schedule n8n node for continuous automation).


  1. Channel Monitoring: The workflow reads a list of specified YouTube Channel IDs from a Set n8n node and begins iterating through them.

  2. RSS Feed Generation: A custom Code n8n node validates the channel ID format and dynamically constructs the necessary YouTube RSS URL to pull recent video links.

  3. Video Loop & Filtering: An RSS Feed Read n8n node fetches the video metadata. A subsequent loop processes each video. An If n8n node filters out YouTube Shorts to ensure compatibility with the transcription API (this filter can be removed if desired).

  4. Video ID Extraction: A series of Set n8n nodes uses regex to extract the essential 11-character video ID from the URL. A secondary Code n8n node handles potential extraction failures, ensuring a valid video ID before proceeding.

  5. Transcription Request: The verified video ID is sent to the youtube-transcript.io API via an HTTP Request n8n node. This API integration is crucial to the success of the n8n workflow.

  6. Response Handling: An If n8n node checks if the API returned an "OK" status. If successful, a Code n8n node parses the nested JSON response to extract the clean, full text of the transcript. If the transcription fails, a Stop and Error n8n node halts that specific item.

  7. Data Persistence: Finally, the Merge n8n node combines the original video metadata and the new transcript. The entire data payload is then inserted into the target Supabase table using the Supabase n8n node. A Wait n8n node introduces a 30-second delay between successful writes to prevent API or database rate limits from interrupting the n8n workflow execution.

Installation Guide


  1. Import the n8n Workflow: Copy the provided JSON code and import it into your n8n instance.

  2. Define Channels: Navigate to the “Channels To Track” n8n node (Set node). Update the array value with the YouTube Channel IDs you want the n8n workflow to track.

  3. Configure API Key (Transcription): Locate the “Get Transcript From API” n8n node (HTTP Request).

Go to the Credentials tab.
Set up a new Header Auth credential using your API key obtained from youtube-transcript.io.

  1. Set Up Supabase: Find the “Save Data to Supabase” n8n node.

* Create a new Supabase API credential, providing your URL, API Key, and selecting the correct table (contentqueue1 by default).

  1. Automation (Optional): Replace the initial manual n8n trigger with a Schedule n8n node to automate the workflow execution at regular intervals.

  2. Activate: Save and activate the n8n workflow to begin extracting transcripts.

Node Details

When clicking ‘Execute workflow’ (manualTrigger n8n node): Serves as the starting n8n trigger point. Recommended to be replaced by a Schedule n8n node for continuous automation.
Channels To Track (Set n8n node): Used to initialize and store the input array of YouTube Channel IDs that the n8n workflow monitors.
Verify Channel ID + Create RSS Link (Code n8n node): A critical code n8n node that validates the channel ID format and programmatically generates the required youtube.com/feeds/videos.xml?channel_id= URL for RSS reading.
Find Channel's Videos (RSS Feed Read n8n node): Connects to the dynamically generated RSS URL to fetch the latest video metadata and links.
Filter Out YouTube Shorts (If n8n node): Applies conditional logic to ensure the n8n workflow only attempts transcription on standard-length videos (excludes shorts by checking the URL).
Get Transcript From API (HTTP Request n8n node): Handles the external API call to youtube-transcript.io. It POSTs the video ID and uses header authentication to retrieve the transcript.
Parse Transcript from API Response (Code n8n node): Custom Code n8n node responsible for processing the transcription API's complex JSON output, cleaning, and extracting the plain text transcript.
Save Data to Supabase (Supabase n8n node): The final storage action. This n8n node inserts the enriched data item (video metadata + full transcript) into the specified Supabase table.


  • Wait (Wait n8n node): A flow control n8n node that pauses the execution for 30 seconds after a successful database write, helping to manage rate limits.

Related n8n Workflows

Free

Nodes: 13 Nodes
Updated: December 26 2025
View all
Created by

On a mission to automate all aspects of social media. Each of my templates covered more in depth in my Skool Community.

Featured*