HomeBlog

Zapier YouTube Transcript: Auto-Fetch Captions From New Videos

Zapier editor showing a YouTube trigger wired to a Webhooks by Zapier GET step and a Google Docs action

A Zapier YouTube transcript workflow needs exactly three steps: a YouTube trigger, one webhook call, and whatever you want done with the text. Below is the full configuration, plus some honest math on Zapier tasks — because that part is where most people quietly get charged for their curiosity.

The three-step Zap

  1. Trigger: YouTube — New Video in Channel
  2. Action: Webhooks by Zapier — GET
  3. Action: anything that accepts text — Google Docs, Gmail, Slack

Step 1: the trigger

Choose the YouTube app and the New Video in Channel trigger, connect your Google account, and point it at the channel you want to follow. Zapier polls the channel and fires once per new upload. The trigger output includes the video's URL — that's the only field the next step needs.

Step 2: the webhook

Add Webhooks by Zapier with the GET event and configure it like this:

No key yet? Grab the free shared one — no account required:

curl -s https://youtube2text.org/api/demo-key

It returns {"success": true, "apiKey": "yt_..."} and allows 5 videos per month per IP, enough to test the Zap end to end.

The API accepts any YouTube URL shape — watch?v=, youtu.be, or a bare 11-character video id — so the trigger's URL field works untouched. When you test the step, Zapier parses the JSON response and exposes each field to later steps: Result Title, Result Content, Result Video Id, and so on.

Step 3: spend the transcript

This is the fun part. Add a Google Docs — Create Document from Text action and map the title and Result Content into it, and you have a searchable archive of everything a channel says. Or send it through an AI step first and email yourself a summary. I set maxChars to 8000 above because email clients and AI steps both get grumpy about very long inputs; the default and maximum is 150000 if you want everything.

The honest math

Here's the limitation worth knowing before you build this: Webhooks by Zapier is a premium app, so this Zap requires a paid plan, and every run burns tasks — one per action step. Following one daily-upload channel costs you around 60 tasks a month for this Zap alone; follow five channels and it adds up fast.

The transcript API itself doesn't care how you call it. The same GET request runs from a cron job and a five-line shell script for free — I covered that setup in the curl guide, using the channel's RSS feed (https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID) as the trigger. If you want visual automation without per-task pricing, self-hosted n8n runs this loop unlimited, and Make's version is operation-based and noticeably gentler on the wallet.

That said, if your team already lives in Zapier, three steps that never break have real value. I'm just telling you where the meter is.

When a video has no captions

Some videos genuinely have no transcript — freshly ended live streams, music videos, channels that disable captions. The API returns:

{"error": {"code": "TRANSCRIPT_UNAVAILABLE", "message": "...", "status": 404}}

Zapier marks that run as errored, which is correct behavior — there's nothing to fetch. If you're on the shared demo key you may also meet RATE_LIMIT_EXCEEDED (429); the response includes retryAfterSeconds so you know exactly how long to sulk.

Get your own key

For anything past testing, sign in with Google at youtube2text.org/app/keys — no phone number, no card. Free tier is 5 videos a month; paid plans go from $5.99 for 50 videos to $19.99 unlimited, which is less than most Zapier plan upgrades.