Guides · YouTube Transcript Scraper · Published July 15, 2026

Get YouTube transcripts in Zapier: two working setups and their limits

Two ways to pull YouTube transcripts in Zapier — the official Apify integration and a Webhooks POST — with a filter on success so failed videos don't halt the Zap, and an honest note on where Zapier's one-item model makes n8n or Make the better tool.

By slvDev · Updated and technically verified July 15, 2026


The short answer: Zapier can pull YouTube transcripts two ways — through Apify's official Zapier integration or a plain Webhooks by Zapier POST — and both should filter on the successfield so a captionless video doesn't halt the Zap. The honest caveat up front: Zapier's one-item-at-a-time model makes it the right tool for single-video flows (new video → transcript → summary → somewhere), and the wrong tool for batch corpus work — for batches, use the n8n template or Make, which fan out arrays natively.

Option A: the official Apify integration

Add the Apify app as an action step and connect your account (the free tier works):

  • Action: Run Actor — pick YouTube Transcript Scraper (apihq/youtube-transcript-scraper).
  • Input JSON:
{
  "videoIds": ["{{video_id_from_your_trigger}}"],
  "language": "en",
  "metadata": true
}
  • Enable wait for finish, then add the Get Dataset Items action to pull the resulting rows into the Zap.

Option B: Webhooks by Zapier

No app connection — one Custom Request:

  • Method: POST · URL:
https://api.apify.com/v2/acts/apihq~youtube-transcript-scraper/run-sync-get-dataset-items
  • Headers: Authorization: Bearer YOUR_APIFY_TOKEN · Content-Type: application/json
  • Data: the same JSON body as above.

The endpoint waits for the run and answers with the dataset rows directly. Keep it to one or a few IDs per Zap run — the sync endpoint's ~5-minute wait limit is generous for single videos (each has a 30-second deadline) but not a batch tool inside Zapier's model.

The step everyone skips: filter on success

Add Filter by Zapier right after the fetch: Only continue if success (Boolean) is true. A video with no captions comes back as success: false with a stable code like NO_CAPTIONS (full registry) — unbilled — and the filter ends that Zap run cleanly instead of erroring your downstream steps. On real-world videos this is not an edge case; plan for it.

What a good Zapier transcript flow looks like

The shape that plays to Zapier's strengths: a trigger about one video (new upload via RSS, a form submission, a Slack message with a link) → transcript fetch → filter on success → one action (append to Notion, draft a summary with an AI step, post to Slack). Cost per triggered video: $0.003 for the transcript — a Zap that processes 100 videos a month spends $0.30 on data.

Honest limits

  • Batches don't fit Zapier. Zapier processes one item per Zap run; a 50-ID batch returns 50 rows that Zapier flattens into line items, which most destination apps handle poorly. n8n and Make iterate arrays natively.
  • Same content limits as every method:captionless videos return typed failure rows, and private, members-only, and age-gated videos are out of reach for every tool that doesn't own the video.

Deploying this?

Run one input on the YouTube Transcript Scraper. It comes back as either a billed transcript row or an unbilled, typed failure row — the contract this guide builds on.

A one-item first run costs under a cent, on your existing Apify account.