Back to blogIntegrations

YouTube Transcripts in n8n: HTTP Request Workflow Guide

How to fetch YouTube transcripts inside an n8n workflow using the HTTP Request node - a downloadable workflow JSON, batch processing multiple videos, handling rate limits, and feeding results into an AI summarizer.

00:09:00 · SEP 13, 2026

Quick answer

Import the workflow below, set your API key as an environment variable, and the built-in HTTP Request node fetches the transcript - no custom n8n node install needed. For batches of videos, pace requests using the node's Batching or retry options so you stay under your plan's requests-per-minute limit.
01

Download the workflow

Import this directly via n8n's Import from File option (or paste it into Import from URL):

Download workflow (.json)
02

Set your API key

Get a key from the dashboard (100 free credits, no card required), then set it as an environment variable available to your n8n instance:

GETYOUTUBETRANSCRIPT_API_KEY=sk_live_...

The imported HTTP Request node reads it via {{ $env.GETYOUTUBETRANSCRIPT_API_KEY }} in its Authorization header - don't hardcode the key directly into the workflow JSON.

03

How the request node is configured

The HTTP Request node calls the transcript endpoint with the video ID as a query parameter:

GET https://getyoutubetranscript.com/api/v1/transcript?v={{ $json.videoId }}
Authorization: Bearer {{ $env.GETYOUTUBETRANSCRIPT_API_KEY }}

Feed a video ID into the workflow's input (or a previous node's output), and the node returns the transcript, title, author, and thumbnail as JSON at $json.data.transcript.

04

Processing multiple videos without tripping the rate limit

Feeding a list of video IDs straight into the HTTP Request node fires them all as fast as n8n can - fine for 5 videos, risky for 500 against a 60 req/min free-tier limit. n8n gives you two built-in ways to pace this:

  • HTTP Request node → Add Option → Batching. Set Items per Batch (how many requests fire together) and Batch Interval (ms) (delay between batches). For the free plan's 60 req/min, a batch size of 5 with a 5,000ms interval keeps you comfortably under budget.
  • Split In Batches + Wait node. The Split In Batches node divides your video list into chunks; a Wait node pauses between chunks before the loop continues to the next one. This is strictly sequential (no parallel burst at all), which is the safer choice if you're close to the limit or the API you're chaining downstream (e.g. an LLM summarizer) has its own throughput ceiling too.

Also set Wait Between Tries (ms) in the node's retry settings higher than your per-request budget - for a 60 req/min plan that's roughly one request per second on average, so 1,000ms+ between retries avoids immediately re-tripping the same limit on a 429.

05

Handling failures in a batch

When processing many videos, some will fail (private video, no captions, a transient 429). Enable Continue On Fail on the HTTP Request node so one failure doesn't halt the whole run, then add an IF node downstream to branch on the response - route successes to your summarizer and failures to a log or retry queue instead of losing the whole batch to one bad video ID.

06

Chain it into a summarizer

Add an AI/LLM node after the HTTP Request node and reference {{ $json.data.transcript }} as its prompt input - this turns the workflow into a full "fetch transcript → summarize" pipeline with no manual copy-paste step. For a batch run, this same node runs once per item flowing through the loop, so a 50-video batch produces 50 summaries without additional wiring.

Full endpoint reference, credits, and rate limits are in the API docs. Building an AI agent instead of an n8n automation? See the MCP server setup guide.

n8n workflow FAQs

Q01

Do I need a custom n8n node for this?

No. The API is a plain REST endpoint, so n8n's built-in HTTP Request node handles it directly - no community node install required.

Q02

How do I pass the API key securely?

Set it as an n8n environment variable (e.g. GETYOUTUBETRANSCRIPT_API_KEY) and reference it in the HTTP Request node's header field, rather than hardcoding the key into the workflow JSON.

Q03

What's the difference between the HTTP Request node's Batching option and a Split In Batches node?

HTTP Request node Batching (Items per Batch + Batch Interval) sends multiple requests in parallel per batch, spaced by the interval - faster, but risks bursting past a rate limit if the batch size is too high. Split In Batches + a Wait node processes one batch fully, pauses, then resumes for the next - slower but strictly sequential, which is safer against tight per-minute limits.

Q04

How do I avoid hitting the rate limit when processing many videos?

Set the HTTP Request node's "Wait Between Tries" retry option higher than your plan's per-request budget - for the free plan's 60 req/min (1 request/second average), pace requests at roughly 1,000ms+ apart, or lower if you're on a higher-throughput paid plan.

Q05

Can I chain this into an AI summarization step?

Yes - add an AI/LLM node (OpenAI, Anthropic, etc.) after the HTTP Request node and reference {{ $json.data.transcript }} as its input to summarize or extract information from the returned transcript.

Q06

What happens if a video has no captions or the request fails?

Enable "Continue On Fail" on the HTTP Request node if processing a batch of videos, so one bad video doesn't stop the whole run - then branch on the response status downstream (e.g. an IF node checking success) rather than letting the workflow halt.

Q07

What does each run cost?

1 credit per successful transcript fetch, same accounting as calling the REST API directly. Get 100 free credits with no card required from the dashboard.

Related