YouTube AI Transcript Extractor
Pricing
from $5.00 / 1,000 transcript extracteds
YouTube AI Transcript Extractor
Extract YouTube transcripts with AI-generated summary, topics, chapters, action items, sentiment, and quotable highlights. MCP-ready for Claude, GPT, and AI agents.
Pricing
from $5.00 / 1,000 transcript extracteds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Pull a YouTube transcript and turn it into structured insight your AI agent can actually use — summary, topic tags, timestamped chapters, action items, sentiment, and quotable highlights. One actor call, one JSON record per video.
Built for Claude, GPT, Gemini, MCP servers, and humans who don't want to dump a 12,000-word transcript into a prompt.
What you get per video
| Field | Description |
|---|---|
transcriptText | Full transcript text, decoded, joined |
wordCount | Word count |
languageUsed | ISO 639-1 of the caption track fetched |
isAutoGenerated | True for ASR, false for human captions |
aiSummary | AI narrative summary (short / medium / long) |
aiTopics | 3-8 topic/keyword tags |
aiChapters | Timestamped TOC [{ startSeconds, title, summary }] |
aiActionItems | Actionable takeaways (tutorials, how-to) |
aiSentiment | { overall, confidence } |
aiQuotes | 3-6 quotable lines with timestamp + context |
title, channelName, channelUrl, publishedAt, durationSeconds, viewCount, thumbnail | Video metadata |
aiModelUsed, aiInputTokens, aiOutputTokens | Cost transparency |
transcriptStatus | success / no_transcript / private_video / unavailable / error |
When to use this actor
- AI agents that need to "understand" a YouTube video without watching it.
- Podcast intelligence, customer-interview research, sales-call analysis.
- Content marketing: auto-generate chapters, topic tags, pull-quotes.
- Brand monitoring: sentiment + action items across a creator's recent uploads.
- Newsletter / blog snippets from interviews and panels.
For raw transcript-only scraping at the cheapest possible price, use youtube-transcript-extractor instead — same 8-strategy fetch, no AI layer, $0.005/video.
Price
| Event | Price | When |
|---|---|---|
apify-actor-start | $0.00005 | Per run |
transcript-extracted | $0.005 | Per successfully fetched transcript |
ai-enrichment | $0.03 | Per video with AI fields (skipped on BYOK) |
Typical run cost (1 video, all AI fields, platform key): ~$0.035.
BYOK (your own Anthropic key): $0.005/video — AI on us, you only pay your token bill.
Pay-Per-Event AND Pay-Per-Usage both enabled — buyer picks at run time.
Input
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"includeSummary": true,"summaryLength": "medium","includeTopics": true,"includeChapters": true,"includeActionItems": false,"includeSentiment": false,"includeQuotes": false,"transcriptLanguage": "en","aiOutputLanguage": "English"}
Required: videoUrls. All AI flags default to a sensible mix (summary+topics+chapters ON, action items / sentiment / quotes OFF) so the first cost looks like the bill you expect.
Use via MCP
The actor is exposed at apify--youtube-ai-transcript-extractor in Apify's MCP server. Add it to Claude Code, Claude.ai, ChatGPT, Cursor, Goose, or any MCP client. Pricing signal is in the tool description so agents budget-check before calling.
Use via API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('khadinakbar/youtube-ai-transcript-extractor').call({videoUrls: ['https://www.youtube.com/watch?v=jNQXAC9IVRw'],includeSummary: true,summaryLength: 'short',includeTopics: true,includeChapters: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].aiSummary);console.log(items[0].aiChapters);
Use via API (Python)
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('khadinakbar/youtube-ai-transcript-extractor').call(run_input={'videoUrls': ['https://www.youtube.com/watch?v=jNQXAC9IVRw'],'includeSummary': True,'summaryLength': 'short','includeTopics': True,'includeChapters': True,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items[0]['aiSummary'])
How it works
- 8-strategy transcript fetch (battle-tested in the sibling
youtube-transcript-extractor): ANDROID InnerTube client → inlineengagementPanelfrom page HTML → ANDROID_VR InnerTube player → WEB InnerTubeget_transcript→ signedbaseUrlJSON3 → signedbaseUrlXML → unsignedtimedtext→ ScrapeCreators safety-net. If one strategy returns nothing, the next tries. - Apify residential proxy by default — datacenter IPs get blocked by YouTube. Falls back to datacenter if residential is not available on the account.
- AI enrichment uses Anthropic Claude Haiku 4.5 with
tool_useforcing structured JSON output. Only requested fields are scored asrequiredin the tool schema, so you don't pay for output you didn't ask for. - BYOK supported — drop your own
sk-ant-…key intoanthropicApiKeyand theai-enrichmentevent is not charged; you pay only your own Anthropic bill.
Output language
transcriptLanguage (default en) controls which caption track is fetched.
aiOutputLanguage (default English) controls which language the AI fields are written in. You can grab a Japanese transcript and have the summary in English.
FAQ
Q: Why is this separate from youtube-transcript-extractor?
That one returns raw transcript text with timestamps. This one runs an LLM analysis on top — different price point, different consumer (AI agents, not data analysts).
Q: What if the video has no captions?
transcriptStatus = "no_transcript", errorMessage explains why, no charge for transcript-extracted or ai-enrichment — only the start fee.
Q: Does it handle Shorts?
Yes. youtube.com/shorts/<id> URLs are normalized the same as standard watch URLs.
Q: Does it handle bulk? Yes — pass an array. Each video is processed independently, results are pushed as they complete, partial failures don't kill the run.
Q: How long can a video be? Practical limit ~3-4 hours. Very long transcripts are truncated to ~280K characters before being sent to the model, with a warning logged.
Legal
Use this actor in accordance with YouTube's Terms of Service and applicable law. This actor only fetches public caption data made available by YouTube's own infrastructure. You are responsible for the legality of how you use scraped content (copyright, fair use, attribution). The actor does not bypass authentication, login walls, or private-video restrictions.
See also
youtube-transcript-extractor— raw transcripts, channel/search modes, $0.005/video.youtube-comments-scraperyoutube-shorts-scraperyoutube-search-scraperyoutube-channel-email-extractor