Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-getyoutubetranscript
An n8n community node for the GetYouTubeTranscript API — pull YouTube transcripts, search videos and channels, resolve channel handles, and browse channels and playlists, directly inside your n8n workflows.
What this is
This package adds one node — GetYouTubeTranscript — with eight operations mapped to the GetYouTubeTranscript API:
| Operation | Endpoint | Cost |
|---|---|---|
| Get Transcript | GET /transcript |
1 credit |
| Search YouTube | GET /search |
1 credit |
| Resolve Channel | GET /resolve |
Free |
| Get Channel Latest Videos | GET /channel/latest |
Free |
| Search Channel Videos | GET /channel/search |
1 credit |
| List Channel Videos | GET /channel/videos |
1 credit |
| List Playlist Videos | GET /playlist |
1 credit |
| Get Credits | GET /credits |
Free |
Failed and rate-limited requests are never charged. Full API reference: getyoutubetranscript.com/docs.
Install
n8n Cloud / self-hosted UI (community node install)
- Go to Settings → Community Nodes.
- Click Install a community node.
- Enter
n8n-nodes-getyoutubetranscriptand confirm.
Self-hosted, via npm
npm install n8n-nodes-getyoutubetranscript
Then restart your n8n instance so it picks up the new node. See n8n's community node docs for environment-specific instructions (Docker, npm, etc.).
Credentials
The node authenticates with a GetYouTubeTranscript API credential — a single API key field.
Get a key from the dashboard
- Sign up for free at getyoutubetranscript.com — 100 free credits, no card required.
- Grab your key from the dashboard. Keys look like
sk_live_.... - In n8n, create a new GetYouTubeTranscript API credential and paste the key in.
The credential's "Test" button calls the free /resolve endpoint, so validating a key never spends a credit.
Self-serve signup (no dashboard visit)
For automated setups you can mint a key with two API calls, no browser required:
curl -X POST https://getyoutubetranscript.com/api/v1/signup \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com"}'
# -> emails a 6-digit code, valid for 10 minutes
curl -X POST https://getyoutubetranscript.com/api/v1/signup/verify \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","otp":"123456"}'
# -> {"success":true,"api_key":"sk_live_..."} (shown once - store it)
Example workflow
A simple "summarize a channel's latest video" flow:
- Manual Trigger (or a Schedule/Webhook trigger with a channel handle in the payload).
- GetYouTubeTranscript node, operation Get Channel Latest Videos,
Channel=@mkbhd— returns the channel's metadata and most recent uploads. - A Set node (or expression) to pull the top video's ID out of the response.
- A second GetYouTubeTranscript node, operation Get Transcript,
Video={{$json.videos[0].id}}— returns the full transcript. - Feed the transcript into an AI/LLM node (OpenAI, Anthropic, etc.) to summarize it.
Pagination endpoints (Search YouTube, Search Channel Videos, List Channel Videos, List Playlist Videos) return an opaque continuation_token / next_page_token in their response — wire that into a Loop Over Items or a manual loop, feeding it back into the Continuation / Page Token field to walk subsequent pages.
Development
npm install
npm run build # compiles TypeScript to dist/
npm run dev # n8n + this node with hot reload, http://localhost:5678
npm run lint
Live request test
test/live-test.ts is a standalone script (no n8n runtime needed) that hits the real API to confirm request construction and response parsing for a few operations:
GYT_API_KEY=sk_live_... npm run test:live
It calls three free endpoints (/resolve, /channel/latest, /credits) and one paid endpoint (/transcript, 1 credit) once each.
Docs
Full API reference, error codes, and rate limits: getyoutubetranscript.com/docs.