Fetch a transcript
The smallest working workflow: a manual trigger, one transcript as plain text, and a step that keeps the title, link and text. Swap the link and run it.
- Manual Trigger
- TranscriptFetch
- Edit Fields
About two minutes from a blank canvas to a transcript. You need an n8n account and a free TranscriptFetch account, which comes with 50 free credits every month.
Open any workflow, click + to open the nodes panel, search for TranscriptFetch and click Install. On self-hosted n8n you can also go to Settings, then Community Nodes, and install the package by name.
n8n-nodes-transcriptfetch
Self-hosted instances need community nodes enabled, which they are by default. If the install option is missing, check that N8N_COMMUNITY_PACKAGES_ENABLED is not set to false.
Create a key on the API keys page of your dashboard. In n8n, add a TranscriptFetch API credential and paste the key. n8n tests it with a free balance check, so a wrong key fails here rather than on your first run.
tf_live_YOUR_KEY
Name the key after the workflow, such as n8n-newsletter. Its usage shows up separately in your dashboard, and you can rotate it without touching your other integrations.
Add the TranscriptFetch node, choose Get Video Transcript, paste a video link into Video URL or ID and click Execute step. The transcript is in data.segments, or in data.text as one string if you turn Timestamps off.
https://www.youtube.com/watch?v=dQw4w9WgXcQ
Any YouTube, TikTok or Instagram link works, as does a direct link to an audio or video file.
Copy a template, click an empty spot on your n8n canvas and paste. The nodes arrive wired together; pick your TranscriptFetch credential in each one and run it. You can also download the file and use Import from File in the workflow menu.
Fetch a transcript
The smallest working workflow: a manual trigger, one transcript as plain text, and a step that keeps the title, link and text. Swap the link and run it.
Transcribe every new upload
Watches a channel and passes on each new video's transcript as soon as it is ready; ones still processing follow later as their own items. Point the last step at Slack, Notion, Google Sheets or an LLM.
Chat with any video
An AI Agent that can fetch transcripts and search videos on its own. Ask it to summarise a link, compare two videos, or find what a channel said about a topic. Add your chat model's credential.
One node with five operations, plus a trigger. Every result is the same JSON the API returns, so anything in the API docs applies here too.
Get Video Transcript
The transcript of one video, with timestamps or as plain text. When a video has no captions, the node waits for AI Fallback Transcription and returns the finished text.
Get Transcripts (Batch)
Many transcripts in one call: up to 50 videos, or 500 on the Mega and Scale plans.
List Channel Videos
The latest videos of a YouTube channel, TikTok profile or Instagram account, with paging. Since Video ID returns only what is newer than a video you have already seen.
List Playlist Videos
Every video in a YouTube or TikTok playlist, with paging.
Search Videos
Keyword search on YouTube, TikTok or Instagram. Each result's url goes straight into a transcript operation.
TranscriptFetch Trigger
Starts the workflow when a channel or profile posts a new video, and hands over the transcript in the same step.
The TranscriptFetch Trigger takes a YouTube @handle or channel URL, a TikTok @profile, or an Instagram account URL. When you activate the workflow it creates a monitor on TranscriptFetch, which checks the channel on its schedule and posts each new video to your workflow. Deactivating the workflow deletes the monitor.
| Settings | Meaning |
|---|---|
| Channel | The channel, profile or account to watch. |
| Check Every | Once a day on any plan, or every 6 hours, hour or 15 minutes on a paid plan. |
| Include Transcript | Attach each new video's transcript. On by default. |
| YouTube Tab | Watch a YouTube channel's videos, Shorts or live streams. |
| Value | Meaning |
|---|---|
ok | text and segments are filled in; source says whether they came from captions or audio. |
processing | The transcript is not ready yet. It arrives later as its own item, with event set to transcript and the same videoId. |
unavailable | The transcript could not be fetched; reason and message say why. |
skipped | Include Transcript is off. |
The trigger needs a public HTTPS webhook URL. n8n Cloud always has one. On self-hosted n8n, set WEBHOOK_URL to a public https:// address, through a reverse proxy or a tunnel. Without one, use a Schedule Trigger with List Channel Videos and Since Video ID instead.
Two ways to let an n8n AI Agent fetch transcripts itself, deciding when it needs one.
The node as a tool
Connect the TranscriptFetch node to the Tool input of an AI Agent. Choose the operation, and let the model fill fields such as Video URL or ID. Add one tool per operation you want the agent to have. The Chat with any video template above is set up this way.
The MCP Client Tool
Point n8n's MCP Client Tool node at the TranscriptFetch MCP server and the agent gets every transcript tool at once, with no community node to install. Use HTTP Streamable as the transport and Bearer Auth with your API key. More on the server in the MCP docs.
Endpoint: https://transcriptfetch.com/mcp Server Transport: HTTP Streamable Authentication: Bearer Auth Bearer Token: tf_live_YOUR_KEY