n8n-nodes-youtube-transcripts-api
v0.1.2
Published
Bulk YouTube transcript, subtitle & caption scraper for n8n — Apify-backed, pay-per-video, usable as an AI agent tool.
Maintainers
Readme
YouTube Transcripts (n8n community node)
Extract YouTube transcripts, subtitles, and captions in n8n — in bulk, at about $0.00001 per video. This node runs the YouTube Transcript & Subtitles Scraper Actor on Apify, and works as a tool inside n8n AI Agent workflows.
Package: n8n-nodes-youtube-transcripts-api
Installation · Credentials · Usage · Output · Examples · Pricing
What it does
- Takes one YouTube URL or many at once — standard videos, Shorts,
youtu.be, embed, andm.youtube.comlinks. - Returns the full transcript text, timestamped snippets (text, start, duration), language info, and processing status for each video.
- Reports invalid or failed URLs per item without stopping the run.
- When used as an AI Agent tool, it returns a trimmed result automatically to keep the model's context clean.
Installation
Follow the n8n community node installation guide, or:
- In n8n, open Settings → Community Nodes.
- Select Install.
- Enter
n8n-nodes-youtube-transcripts-apiand confirm.
Community nodes can be installed on self-hosted n8n. On n8n Cloud they become available once the node is verified.
Credentials
You need an Apify account (the free tier is enough to start) and an API token.
- Copy your token from Apify Console → Settings → API & Integrations.
- In n8n, add a new Apify API credential and paste the token.
OAuth2 is also supported (Apify OAuth2 API credential) if your n8n instance is set up for it.
Usage
Resource: Transcript → Operation: Get Transcripts
| Field | Description |
|-------|-------------|
| YouTube URL or URLs | One URL as a string, or several as an array. n8n also runs the node once per incoming item, so you can map a URL from a previous node to transcribe a whole list. |
| Output | How much to return per video: Simplified (default), Raw, or Selected Fields. |
| Fields to Include | Appears when Output is Selected Fields. Pick exactly which keys to return. |
Output modes
- Simplified (default) — returns
{ video_id, language, transcript }, wheretranscriptis the full text. Best for summarizing or feeding an LLM. This mode is used automatically when the node runs as an AI Agent tool. - Raw — every field the Actor produces, including timestamped segments.
- Selected Fields — any subset of the fields listed below.
Output
Each processed video returns one item. Full field list (Raw mode):
| Field | Type | Description |
|-------|------|-------------|
| url | string | The YouTube URL that was processed |
| video_id | string | 11-character video ID |
| language | string | Transcript language name (e.g. English) |
| language_code | string | ISO code (e.g. en) |
| is_generated | boolean | Whether the captions were auto-generated by YouTube |
| is_translatable | boolean | null | Whether the transcript can be translated |
| translation_languages | array | null | Language codes it can be translated to |
| total_seconds | number | Video duration in seconds |
| timestamped | array | Snippets, each { text, start, duration } |
| non_timestamped | string | Full transcript text (Simplified mode exposes this as transcript) |
| timestamp | string | ISO time the video was processed |
| success | boolean | Whether transcription succeeded |
| error | boolean | Whether an error occurred |
| error_message | string | Description of the error, if any |
| error_type | string | Error class (e.g. RequestBlocked) |
Examples
Summarize a video for a blog post
Manual Trigger → YouTube Transcripts (Simplified, one URL) → LLM / AI Agent (summarize transcript) → outputBulk-transcribe for a RAG index
Read URLs (Google Sheets / DB) → YouTube Transcripts (one URL per item) → Embeddings → Vector storeAs an AI Agent tool
Connect the node to an AI Agent's tool input. The agent supplies a URL and gets back { video_id, language, transcript }, so the model receives clean text without timestamp noise.
Pricing
The underlying Actor uses Apify pay-per-event pricing — roughly $0.00001 per video processed, billed through your Apify account. The node itself is free and open source.
Resources
- YouTube Transcript & Subtitles Scraper Actor — the Actor this node runs
- Apify ↔ n8n integration docs
- n8n community nodes documentation
