Twitch Transcript Extractor ๐ฃ
Under maintenancePricing
from $10.00 / 1,000 results
Twitch Transcript Extractor ๐ฃ
Under maintenance๐ฃ Convert any Twitch VOD or clip to text. Extract transcripts and subtitles with timestamps. Outputs JSON, SRT, or plain text. Speech-to-text powered. 14+ languages. No login needed.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Scriptbase
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Twitch VOD Transcript Extractor
Extract transcripts from Twitch VODs and clips. Give it a Twitch video URL and get back timestamped text โ ideal for turning stream archives into searchable content, generating captions for highlights, or analyzing gameplay commentary at scale.
Works with any public Twitch VOD or clip. No login required.
What it does
- You provide a Twitch VOD or clip URL.
- The actor extracts the spoken transcript with precise timestamps.
- You get back structured text in JSON, plain text, SRT, or WebVTT format.
Twitch VODs can run for hours โ a full stream session, a tournament broadcast, or a marathon charity event. This actor handles that scale and returns the same flat, timestamped structure regardless of duration.
Key features
- VOD & clip support โ works with full VOD archives (
/videos/<id>) and short clips (clips.twitch.tv/<slug>). - Long-duration handling โ Twitch streams often exceed two hours. The actor is designed to handle extended video without truncation.
- Timestamped segments โ every segment includes
startandendtimes, making it possible to jump to any moment in a long VOD by text search. - 4 output formats โ JSON with timestamps, plain text, SRT subtitles, or WebVTT for downstream video editors and players.
- Multi-language โ uses any available captions; speech-to-text fallback covers 14 languages.
- No login required.
Supported languages
When Twitch provides auto-generated or manual caption tracks, the actor uses them. When captions are unavailable, speech-to-text fallback supports:
| Code | Language |
|---|---|
en | English |
es | Spanish |
fr | French |
de | German |
pt | Portuguese |
it | Italian |
nl | Dutch |
ja | Japanese |
ko | Korean |
zh | Chinese |
ar | Arabic |
ru | Russian |
tr | Turkish |
hi | Hindi |
Input
| Field | Type | Default | Description |
|---|---|---|---|
url | string | (required) | Twitch VOD or clip URL |
language | string | "en" | Preferred language (ISO 639-1) |
format | string | "json" | "json", "text", "srt", or "vtt" |
Supported URLs
https://www.twitch.tv/videos/1234567890https://clips.twitch.tv/FunnyClipSlugHere
Output example
When format is json, each dataset row looks like this:
{"url": "https://www.twitch.tv/videos/1234567890","platform": "twitch","language": "en","duration_sec": 7452,"segments": [{ "start": 0.0, "end": 5.2, "text": "What is up everyone, welcome back to the stream." },{ "start": 5.2, "end": 11.0, "text": "Today we are doing a full ranked grind, no breaks until Diamond." }],"full_text": "What is up everyone, welcome back to the stream. Today we are doing a full ranked grind, no breaks until Diamond."}
Note: duration_sec for long VODs can be in the thousands. The segments array covers the full duration.
When format is text, srt, or vtt, the formatted transcript is written to the actor's key-value store under the OUTPUT key.
When extraction fails, the dataset row contains a clear error:
{"error": "NOT_FOUND","message": "The video is private, removed, or has no extractable transcript."}
Error codes
| Code | Meaning |
|---|---|
INVALID_FORMAT | format was not one of json/text/srt/vtt |
BAD_REQUEST | The URL was malformed or rejected by the transcript operation |
UNSUPPORTED_PLATFORM | No transcript operation serves this URL's platform |
UNAUTHORIZED | The actor's ScriptBase key is missing, invalid, or revoked |
INSUFFICIENT_CREDITS | The ScriptBase account behind this actor is out of credits |
NOT_FOUND | The video is private, removed, or has no extractable transcript |
UPSTREAM_FAILED | Every transcript source failed -- retry shortly |
RATE_LIMITED | Too many requests -- retry after a short delay |
TIMEOUT | Extraction took longer than the actor's poll budget |
INTERNAL_ERROR | Unexpected error during extraction |
Use cases
- Searchable stream archives โ full VODs are hard to skim. Extract the transcript and index it so viewers, editors, or community managers can jump to any topic by keyword.
- Clip & highlight captioning โ export SRT or WebVTT for a clip to add burned-in or soft subtitles before posting to YouTube Shorts, TikTok, or Instagram Reels.
- Esports & gameplay analysis โ capture commentator analysis, callouts, and strategy discussion from tournament broadcasts. Feed text into analysis pipelines or LLMs.
- Moderation & compliance โ scan transcripts for policy violations, prohibited phrases, or brand-safety issues without watching hours of footage.
- Content repurposing โ turn a streamer's best moments or tutorial segments into written guides, forum posts, or wiki entries.
- Audience research โ aggregate transcripts across multiple streamers in a category to understand what language, games, and topics drive engagement.
Integrations
Use this actor through the Apify API or integrate it into your content pipeline:
- Python โ
apify_client.actor("your-actor-id").call(run_input={"url": "https://www.twitch.tv/videos/1234567890"}) - JavaScript โ
await client.actor("your-actor-id").call({url: "https://clips.twitch.tv/FunnyClipSlugHere"}) - Zapier / Make / n8n โ trigger on a new VOD URL in a spreadsheet and automatically generate a transcript for your content library.
- Webhooks โ get notified when a long VOD transcript finishes, triggering summarization or archival workflows.
FAQ
Does this need a Twitch account or API key? No. The actor works with any publicly accessible VOD or clip without credentials.
My VOD is three hours long โ will it still work? Yes. The actor is built to handle long-duration Twitch content. Note that extraction time scales with the length of the video; set a generous actor timeout for very long streams.
Are subscriber-only VODs supported? No. Only public VODs and clips accessible without a Twitch account are supported.
What if a clip has no captions? The actor applies speech-to-text extraction. See the supported languages table for coverage.
Can I extract transcripts from multiple VODs in one batch? Use the Apify API in a loop or build a Make/n8n scenario that iterates over a list of VOD URLs.
How do I find a VOD URL if I only have a channel name? Browse the streamer's Videos tab on Twitch, open a VOD, and copy the URL from your browser's address bar.
What does it cost? Pricing is per transcribed minute (1 minute = 1 charge unit, minimum 1), so you pay only for the audio actually processed โ and failed extractions cost nothing. The exact per-minute price is shown on this actor's Apify Store page.