Fast YouTube Transcript Scraper & MCP Connector
Pricing
from $0.10 / actor start
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
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
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.beshort 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 Case | Time Saved | What You Get |
|---|---|---|
| Content Repurposing | 1–2 hrs/video | Clean transcript text to turn into blogs, threads, and newsletters |
| Research & Analysis | 2–4 hrs/batch | Searchable, timestamped text for qualitative coding or review |
| Subtitles & Localization | 1–3 hrs/video | Timestamped segments ready for SRT/caption workflows |
| SEO & Summaries | 30–90 min/video | Full text to feed into summarizers and keyword extraction |
| Accessibility | 1–2 hrs/video | Accurate text alternatives for audio/video content |
🚀 How to Use
- Open the Actor on Apify
- Paste the YouTube video URL (e.g.
https://www.youtube.com/watch?v=ItqAej_Lc9c) - Pick a Preferred language from the dropdown (default: English)
- Keep Translate on to auto-translate when no native caption exists, or turn it off to fail fast with the list of available languages
- (Optional) Pick an MCP connector to deliver the transcript into Notion, Slack, Jira, etc.
- Click Run — results are ready in seconds
- 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
| Field | Type | Required | Description |
|---|---|---|---|
videoUrl | String | ✔️ Yes | URL of the YouTube video. Accepts standard watch URLs, youtu.be short links, Shorts, and embed URLs. |
language | Enum | Optional | Preferred transcript language. If a native caption exists it is used; otherwise it's auto-translated (when Translate is on). Default: en. |
translate | Boolean | Optional | If 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. |
proxyConfiguration | Object | Optional | Proxy used to fetch the transcript. Defaults to Apify Proxy with the RESIDENTIAL group — recommended, as datacenter IPs are often blocked. |
mcpConnector | Connector | Optional | Deliver the transcript into a connector you've authorized (Notion, Slack, Jira, GitHub, Linear, Airtable, …). |
deliveryMode | Enum | Optional | summary (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. |
mcpTool | String | Optional | Tool to call on the connector (e.g. create_page, send_message, create_issue). |
mcpArguments | Object | Optional | Arguments for the tool; string values support {placeholders}. |
mcpMessageTemplate | String | Optional | Template 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:
summarysends the whole transcript in one call;chunkedsplits a long transcript across a few calls/pages so services like Notion never hit block-count or timeout limits;perSegmentsends one call per line (great for logging each timestamped segment);nonesaves to the dataset only.
Placeholders available in arguments / template
summarymode:{videoUrl}·{videoId}·{language}·{segmentCount}·{transcript}(full text) ·{message}chunkedmode: same as summary, but{transcript}holds one part, plus{part}and{partCount}(1-based part number and total)perSegmentmode:{start}·{dur}·{text}·{videoUrl}·{videoId}·{language}·{message}
📦 Output Fields
Each dataset item includes:
| Field | Description |
|---|---|
videoUrl | Normalized watch?v= URL for the video |
videoId | The extracted YouTube video ID |
requestedLanguage | The language you asked for |
language | The language actually returned |
isAutoGenerated | true if the captions are YouTube's auto-generated track |
isTranslated | true if the transcript was auto-translated |
fallbackUsed | true if a fallback language was used because the request couldn't be met |
message | Human-readable note explaining any language/translation fallback |
segmentCount | Number of transcript segments returned |
searchResult | Array 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).