YouTube Transcript & Caption API
Pricing
from $1.20 / 1,000 successful transcripts
YouTube Transcript & Caption API
Reliable YouTube transcripts with timestamps, language fallback, publish-date metadata, SRT/VTT export, retries, and optional proxy support.
Pricing
from $1.20 / 1,000 successful transcripts
Rating
0.0
(0)
Developer
Rosario Vitale
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
YouTube Transcript Reliable API
Extract clean YouTube transcripts from watch URLs, youtu.be links, Shorts, Live URLs, Embed URLs, or raw video IDs. The Actor returns full text, optional timestamped segments, subtitle exports, language information, and video metadata without requiring a YouTube Data API key.
Why use this Actor?
Transcript extraction often fails for reasons that are hard to diagnose: captions can be disabled, a preferred language can be missing, YouTube can block a datacenter IP, or a URL format can be parsed incorrectly. This Actor is designed to make those cases explicit instead of returning an empty dataset.
Each input video produces either a structured success row or a clear failure row. Failed videos are not charged as transcript results.
Features
- Watch,
youtu.be, Shorts, Live, Embed, and raw video-ID input - Manual and auto-generated caption support
- Ordered language preferences
- Optional fallback to any available transcript language
- Optional YouTube transcript translation
- Full transcript text
- Timestamped caption segments
- Optional SRT and WebVTT export
- Available-language information per video
- Metadata including title, channel, duration, views, thumbnail, and publish/upload date when exposed by YouTube
- Duplicate video IDs removed within a run
- Bounded retries with exponential backoff
- Optional Apify/custom proxy support with session rotation between attempts
- Graceful abort handling
- Pay only for successfully emitted transcript rows
- Stops cleanly at the user's maximum charge limit
Input example
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://youtu.be/VIDEO_ID","https://www.youtube.com/shorts/VIDEO_ID"],"languages": ["en", "it"],"fallbackToAnyLanguage": true,"includeSegments": true,"includeMetadata": true,"includeSrt": false}
Output
A successful row contains the canonical YouTube URL, selected language, whether the source captions are auto-generated, full text, segment count, optional segments/SRT/VTT, available transcript languages, metadata, and processing time.
A failed row contains success: false, an error type, and a concise explanation such as captions disabled, no matching transcript, age restriction, unavailable video, or an IP block.
Language selection
By default, manually created captions are preferred because they are often better punctuated. Enable Prefer auto-generated captions when ASR coverage is more useful. If none of your preferred languages exist, Fallback to any available language can still return a transcript.
Set Translate transcript to to a YouTube-supported language code to request translation when that transcript is translatable.
Metadata and publish date
When Include video metadata is enabled, the Actor reads the metadata YouTube exposes on the watch page. This includes the publish or upload date when available, addressing a common gap in transcript-only tools.
Metadata availability can vary by video. Transcript extraction can still succeed even if a particular metadata field is absent.
Reliability and proxies
YouTube may block cloud or datacenter addresses. The Actor retries temporary failures and rotates proxy sessions between attempts. Apify Proxy is enabled by default because direct Apify cloud IPs can be blocked by YouTube; users can disable it for direct access or provide their own proxy servers.
The default proxy path uses the normal Apify proxy configuration rather than forcing residential traffic. If a row still reports IpBlocked or RequestBlocked, choose a stronger rotating proxy configuration. Residential rotation can improve reliability but may add platform usage cost.
Pricing
The target Store price is $0.0012 per successfully returned transcript — about $1.20 per 1,000 successful transcripts — plus the small Actor start event shown in Apify's pricing panel. Failed videos are pushed for diagnosis but do not trigger the transcript charge.
This positioning is intended to stay competitive with established transcript Actors while including richer failure handling, multiple YouTube URL forms, publish-date metadata, subtitle exports, and proxy-aware retries.
Limits and responsible use
Maximum input is 100 videos per run. This Actor retrieves captions made available by YouTube; it does not bypass private-video access controls or account authentication. Age-restricted videos may remain unavailable because anonymous cookie authentication is not currently supported by the underlying transcript method.
Use transcripts in accordance with applicable copyright, privacy, and platform rules.
Support
For a reproducible issue, include the public video URL, requested language settings, whether a proxy was enabled, and the run ID. Never post private proxy credentials or API tokens in an issue.