BulkTranscripts

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.

Free tier: no signup, no card. Full reference: /docs

HTTP Request node (any workflow)

  1. Add an HTTP Request node, method GET.
  2. URL: https://bulktranscripts.co/api/v1/transcript
  3. Query parameters: video{{ $json.videoUrl }} (and optionally segments=0 for smaller payloads).
  4. Authentication → Generic → Header Auth: name Authorization, value Bearer YOUR_LICENSE_KEY.
  5. 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:

  1. Schedule Trigger — e.g. every morning.
  2. HTTP Request — GET …/api/v1/channel/latest?channel=@yourtarget (free, no auth needed).
  3. IF — keep items where published is newer than the last run (workflow static data works well for the cursor).
  4. HTTP Request — fetch the transcript for the new video ids only (1 credit each).
  5. 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.

Other clients

Go deeper