Fast YouTube Transcript Scraper & MCP Connector avatar

Fast YouTube Transcript Scraper & MCP Connector

Pricing

from $0.10 / actor start

Go to Apify Store
Fast YouTube Transcript Scraper & MCP Connector

Fast YouTube Transcript Scraper & MCP Connector

Scrape any YouTube video transcript with timestamps in 13 languages. Auto-translate, export to JSON/CSV/Excel, or push to Notion, Slack & Jira.

Pricing

from $0.10 / actor start

Rating

0.0

(0)

Developer

Techforce Global

Techforce Global

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Fast YouTube Transcript Scraper & MCP Connector

Pull the full transcript of any YouTube video — every spoken segment with timestamps, in the language you want. No API keys, no captions download, no copy-pasting from the transcript panel.

Built for content teams, researchers, marketers, and developers who need clean, timestamped transcript text for a video in seconds — not an afternoon of manual transcription.

Paste a YouTube URL → get the transcript → deliver it straight into Notion, Slack, Jira, or your own tools.


⭐ Why This Actor?

  • Just paste a video URL — standard watch links, youtu.be short links, Shorts, and embed URLs all work
  • 13 languages, your choice — English, Hindi, Gujarati, Portuguese, Spanish, French, German, Italian, Japanese, Korean, Chinese, Russian, and Arabic
  • Auto-translate when needed — if the video has no native caption in your language, YouTube's translation fills the gap (toggle on/off)
  • Graceful language fallback — if translation isn't available, you get the video's own caption language instead of an empty run, with a clear message explaining what happened
  • Timestamped segments — every line includes its start time and duration, ready for subtitles, indexing, or search
  • Anti-bot resilient — runs through Apify Proxy (residential by default) to get past YouTube's "confirm you're not a bot" wall that blocks datacenter IPs
  • Deliver anywhere via MCP connectors — push transcripts straight into Notion, Slack, Jira, GitHub, Linear, Airtable, and more
  • Export-ready — JSON, CSV, Excel, or direct API integration for your pipeline

📝 Use Cases & ROI

Use CaseTime SavedWhat You Get
Content Repurposing1–2 hrs/videoClean transcript text to turn into blogs, threads, and newsletters
Research & Analysis2–4 hrs/batchSearchable, timestamped text for qualitative coding or review
Subtitles & Localization1–3 hrs/videoTimestamped segments ready for SRT/caption workflows
SEO & Summaries30–90 min/videoFull text to feed into summarizers and keyword extraction
Accessibility1–2 hrs/videoAccurate text alternatives for audio/video content

🚀 How to Use

  1. Open the Actor on Apify
  2. Paste the YouTube video URL (e.g. https://www.youtube.com/watch?v=ItqAej_Lc9c)
  3. Pick a Preferred language from the dropdown (default: English)
  4. Keep Translate on to auto-translate when no native caption exists, or turn it off to fail fast with the list of available languages
  5. (Optional) Pick an MCP connector to deliver the transcript into Notion, Slack, Jira, etc.
  6. Click Run — results are ready in seconds
  7. Download as CSV, Excel, or JSON — or let the connector push the transcript into your tools automatically

🌐 Proxy: requests run through Apify Proxy (residential group by default) so YouTube doesn't block the run with a bot check. You normally don't need to change this.

💡 First time with a connector? Run once with a connector selected — the run log prints the connector's available tool names, so you know what to put in Connector tool name.


🧩 Input Configuration

FieldTypeRequiredDescription
videoUrlString✔️ YesURL of the YouTube video. Accepts standard watch URLs, youtu.be short links, Shorts, and embed URLs.
languageEnumOptionalPreferred transcript language. If a native caption exists it is used; otherwise it's auto-translated (when Translate is on). Default: en.
translateBooleanOptionalIf the preferred language has no native caption, auto-translate to it using YouTube's translation. When off, the run fails listing available languages. Default: true.
proxyConfigurationObjectOptionalProxy used to fetch the transcript. Defaults to Apify Proxy with the RESIDENTIAL group — recommended, as datacenter IPs are often blocked.
mcpConnectorConnectorOptionalDeliver the transcript into a connector you've authorized (Notion, Slack, Jira, GitHub, Linear, Airtable, …).
deliveryModeEnumOptionalsummary (one call with the full transcript), chunked (split a long transcript across a few calls/pages), perSegment (one call per segment), or none. Default: summary.
mcpToolStringOptionalTool to call on the connector (e.g. create_page, send_message, create_issue).
mcpArgumentsObjectOptionalArguments for the tool; string values support {placeholders}.
mcpMessageTemplateStringOptionalTemplate rendered and exposed as the {message} placeholder in the tool arguments.

Supported languages

English (en) · हिन्दी / Hindi (hi) · ગુજરાતી / Gujarati (gu) · Português (pt) · Español (es) · Français (fr) · Deutsch (de) · Italiano (it) · 日本語 (ja) · 한국어 (ko) · 中文 (zh) · Русский (ru) · العربية (ar)

Example — Just get the transcript

{
"videoUrl": "https://www.youtube.com/watch?v=ItqAej_Lc9c",
"language": "en",
"translate": true
}

Example — Get the Hindi transcript, no translation fallback

{
"videoUrl": "https://www.youtube.com/watch?v=ItqAej_Lc9c",
"language": "hi",
"translate": false
}

Example — Deliver to Slack

{
"videoUrl": "https://www.youtube.com/watch?v=ItqAej_Lc9c",
"language": "en",
"mcpConnector": "<your-slack-connector>",
"deliveryMode": "summary",
"mcpTool": "send_message",
"mcpArguments": { "channel": "#transcripts", "text": "{message}" },
"mcpMessageTemplate": "Transcript of {videoUrl} ({language}, {segmentCount} segments):\n\n{transcript}"
}

Example — Create Notion pages (chunked, best for long videos)

{
"videoUrl": "https://www.youtube.com/watch?v=ItqAej_Lc9c",
"language": "hi",
"mcpConnector": "<your-notion-connector>",
"deliveryMode": "chunked",
"mcpTool": "notion-create-pages",
"mcpArguments": {
"parent": { "page_id": "<your-page-id>" },
"pages": [
{
"properties": { "title": "Transcript {videoId} (part {part}/{partCount})" },
"content": "{transcript}"
}
]
}
}

🎯 Delivery modes: summary sends the whole transcript in one call; chunked splits a long transcript across a few calls/pages so services like Notion never hit block-count or timeout limits; perSegment sends one call per line (great for logging each timestamped segment); none saves to the dataset only.

Placeholders available in arguments / template

  • summary mode: {videoUrl} · {videoId} · {language} · {segmentCount} · {transcript} (full text) · {message}
  • chunked mode: same as summary, but {transcript} holds one part, plus {part} and {partCount} (1-based part number and total)
  • perSegment mode: {start} · {dur} · {text} · {videoUrl} · {videoId} · {language} · {message}

📦 Output Fields

Each dataset item includes:

FieldDescription
videoUrlNormalized watch?v= URL for the video
videoIdThe extracted YouTube video ID
requestedLanguageThe language you asked for
languageThe language actually returned
isAutoGeneratedtrue if the captions are YouTube's auto-generated track
isTranslatedtrue if the transcript was auto-translated
fallbackUsedtrue if a fallback language was used because the request couldn't be met
messageHuman-readable note explaining any language/translation fallback
segmentCountNumber of transcript segments returned
searchResultArray of segments, each with start, dur, and text

Example Output

{
"videoUrl": "https://www.youtube.com/watch?v=ItqAej_Lc9c",
"videoId": "ItqAej_Lc9c",
"requestedLanguage": "en",
"language": "en",
"isAutoGenerated": false,
"isTranslated": false,
"fallbackUsed": false,
"message": "",
"segmentCount": 3,
"searchResult": [
{ "start": 0.0, "dur": 3.2, "text": "Welcome back to the channel." },
{ "start": 3.2, "dur": 2.9, "text": "Today we're talking about web scraping." },
{ "start": 6.1, "dur": 4.0, "text": "Let's jump right into the setup." }
]
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.


🔌 Integrations & Delivery

Deliver transcripts into any MCP connector you've authorized in Apify — no glue code, no webhooks:

  • Notion — create a page (or split a long transcript across several pages)
  • Slack / Discord — post the transcript to a channel
  • Jira / GitHub / Linear — open issues or tasks with the transcript attached
  • Airtable / Google Sheets — append structured rows
  • …or any other MCP-compatible connector

Credentials stay private — delivery runs through the Apify MCP Proxy, so the Actor never sees your connector tokens. You can also consume the dataset directly via the Apify API, or wire it into n8n, Zapier, and Make.


🆘 Support

For issues, custom transcription requests, or feature suggestions:

Email: bhavin.shah@techforceglobal.com


Need a Custom Pipeline?

Want batch transcription across many videos, whole-channel or playlist coverage, or a full content pipeline into your CMS?

📅 Book a Free 15-min Consultation


Made with ❤️ by Techforce Specialists in High-Performance Web Scrapers and AI Automation.


Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by YouTube or Google. YouTube™ is a trademark of Google LLC; all trademarks are property of their respective owners. The Actor collects only publicly available caption/transcript data made accessible for a video and does not log into, or scrape behind the authentication of, any platform. Use the data responsibly and in compliance with applicable laws (including copyright and the terms of the platforms you operate on).