YouTube Transcript Extractor avatar

YouTube Transcript Extractor

Pricing

from $3.25 / 1,000 transcript extracteds

Go to Apify Store
YouTube Transcript Extractor

YouTube Transcript Extractor

Extract YouTube transcripts in text, SRT, VTT, or JSON. Auto-generated and manual captions in any language. Video metadata: title, channel, views, duration. Innertube API with residential proxy. Batch videos.

Pricing

from $3.25 / 1,000 transcript extracteds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Extract transcripts, captions, and subtitles from any YouTube video. Get full text, timed segments with timestamps, video metadata, channel info, and word counts. Supports multiple languages, auto-generated captions, and SRT/VTT/JSON/plain text output formats. Batch process up to 500 videos per run.

Features

  • Extract transcripts from any public YouTube video with captions enabled
  • Multiple output formats: plain text, SRT subtitles, WebVTT subtitles, or raw JSON segments
  • Timed segments with start time and duration for each text block
  • Full video metadata: title, channel name, channel URL, duration, view count, publish date
  • Multi-language support with automatic fallback to available languages
  • Auto-generated caption support — falls back to YouTube's auto-captions when manual captions are unavailable
  • Batch processing — extract transcripts from up to 500 videos in a single run
  • Word count per video for content analysis
  • Accepts all YouTube URL formats: standard, short (youtu.be), embed, and shorts
  • Zero-config — works out of the box with sensible defaults
  • Pay-per-event pricing — only pay for transcripts successfully extracted

Proxy Requirements

This actor requires residential proxies because YouTube blocks datacenter IP addresses.

  • Paid Apify plan users ($49+/month): Works automatically with the default residential proxy configuration. No setup needed.
  • Free plan users: Provide your own residential proxy URL in the Proxy Configuration input field. Free Apify plans only include datacenter proxies, which YouTube will block.
  • Without a residential proxy, the actor will exit with a clear error message explaining what to do.

Input

All fields are optional. The actor runs with defaults and requires no configuration.

FieldTypeDefaultDescription
urlsstring[]Example videoList of YouTube video URLs to extract transcripts from
languagestring"en"Preferred transcript language code (e.g., en, es, fr, de, ja)
includeTimestampsbooleantrueInclude timed segments with start time and duration
includeAutoGeneratedbooleantrueFall back to auto-generated captions if manual captions are unavailable
outputFormatstring"text"Output format: text, srt, vtt, or json
maxVideosinteger50Maximum videos to process (1-500)
proxyConfigurationobjectApify residentialProxy settings. Defaults to Apify residential proxy (requires paid plan)

Output

Each result is one video stored in the default dataset.

FieldTypeDescription
videoUrlstringCanonical YouTube URL
videoIdstringYouTube video ID
titlestring or nullVideo title
channelNamestring or nullChannel name
channelUrlstring or nullChannel URL
durationstring or nullVideo duration in ISO 8601 format (e.g., PT5M30S)
viewCountnumber or nullTotal view count
publishedAtstring or nullPublish date
languagestring or nullLanguage code of the extracted transcript
isAutoGeneratedboolean or nullWhether the transcript is auto-generated by YouTube
transcriptstring or nullFull transcript text in the requested format
segmentsarray or nullTimed segments with text, start, and duration (when includeTimestamps is true)
wordCountnumber or nullTotal word count of the transcript
errorstring or nullError message if extraction failed for this video
scrapedAtstringISO 8601 timestamp of extraction

Output Example

{
"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up",
"channelName": "Rick Astley",
"channelUrl": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
"duration": "PT3M33S",
"viewCount": 1500000000,
"publishedAt": "2009-10-25",
"language": "en",
"isAutoGenerated": true,
"transcript": "We're no strangers to love You know the rules and so do I...",
"segments": [
{ "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 },
{ "text": "You know the rules and so do I", "start": 21.5, "duration": 3.0 }
],
"wordCount": 287,
"error": null,
"scrapedAt": "2025-06-01T12:00:00.000Z"
}

Use Cases

  • Content repurposing — convert video content into blog posts, articles, or social media copy
  • SEO and keyword research — analyze transcript text for keywords and topic coverage
  • Accessibility — generate text versions of video content for hearing-impaired users
  • Research and analysis — extract and analyze spoken content from educational or news videos
  • Subtitle generation — export SRT or VTT files for use in video editors or players
  • AI and NLP pipelines — feed transcript text into summarization, sentiment analysis, or embedding models
  • Content monitoring — track what competitors or influencers are saying in their videos

Integrations

Connect this actor with other tools in your workflow:

  • Apify API — trigger runs programmatically and retrieve results via REST API
  • Webhooks — get notified when extraction completes
  • Scheduling — set up recurring runs to monitor new video transcripts
  • Apify integrations — connect to Google Sheets, Slack, Zapier, Make, and more

Pricing

This actor uses Pay-Per-Event (PPE) pricing: $3.20 per 1,000 transcripts extracted ($0.0032 per event).

Pricing includes all platform compute costs — no hidden fees.

FAQ

What YouTube URL formats are supported?

The actor accepts standard watch URLs (youtube.com/watch?v=), short URLs (youtu.be/), embed URLs (youtube.com/embed/), shorts URLs (youtube.com/shorts/), and bare video IDs.

What if a video has no captions?

The actor reports a clear error message for that video and continues processing the remaining videos. You are not charged for videos without available captions.

Why does this actor need a residential proxy?

YouTube actively blocks requests from datacenter IP addresses. Residential proxies route requests through real ISP connections, which YouTube does not block. Without a residential proxy, requests will fail with 403 errors.

Can I use this on Apify's free plan?

Yes, but you need to provide your own residential proxy URL in the Proxy Configuration input. The free Apify plan only includes datacenter proxies, which YouTube blocks. The actor will exit with a helpful error message if no residential proxy is available.