Integration guide
YouTube transcripts in n8n
Two ways in: a plain HTTP Request node for classic workflows, or the MCP Client tool for n8n's AI Agent.
HTTP Request node (any workflow)
- Add an HTTP Request node, method GET.
- URL:
https://bulktranscripts.co/api/v1/transcript - Query parameters:
video→{{ $json.videoUrl }}(and optionallysegments=0for smaller payloads). - Authentication → Generic → Header Auth: name
Authorization, valueBearer YOUR_LICENSE_KEY. - The response is JSON —
text,paragraphs,segments, plus title/channel metadata, ready for the next node.
The free monitoring pattern
/api/v1/channel/latest costs nothing, which makes it the perfect trigger feed:
- Schedule Trigger — e.g. every morning.
- HTTP Request — GET
…/api/v1/channel/latest?channel=@yourtarget(free, no auth needed). - IF — keep items where
publishedis newer than the last run (workflow static data works well for the cursor). - HTTP Request — fetch the transcript for the new video ids only (1 credit each).
- Send to Slack, Notion, email, or an LLM node for a daily brief.
MCP Client (AI Agent workflows)
Using n8n's AI Agent? Add the MCP Client Tool with endpoint https://bulktranscripts.co/mcp (append ?key=… for paid credits) and the agent gets all seven YouTube tools at once.
Notes
The connection works immediately on the free tier — no account, no OAuth. Buying a one-time credit pack gets you a license key that doubles as the API key; credits never expire and cached transcripts are always free.
Failures (video without captions) return HTTP 4xx with a stable error.code — branch on it with an IF node; failed extractions are never charged.