youtube_transcript_api
Fetch YouTube transcripts/subtitles without API keys. Supports auto-generated & manual transcripts, translations, multiple formats (JSON/VTT/SRT), proxy support, and CLI.
1.0.0
3.1K downloads/mo
#4611 most downloaded on pub.dev
pandaxbacon/youtube-transcript-dart
What this package is like to depend on
Last release 8 months ago
02 Dec 2025
Too new to tell
only 1 dated releases
Nearly every release is documented
notes for 1 of 1 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
1 releases ยท first in 2025
1 release in the last 12 months
see the full history below
Release timeline
1 releases ยท Dec 2025 to Dec 2025Releases
latest 1-
1.0.002 Dec 2025Release notes
Open source โComplete Dart port of youtube-transcript-api
- InnerTube API integration
- Multi-language & translation support
- 5 formatters (Text, JSON, VTT, SRT, CSV)
- Proxy support
- CLI tool
- 32 tests passing
Release notes
Open source โ๐ Initial Release
A complete Dart port of the Python youtube-transcript-api library with enhanced features.
Added
Core Functionality
- ๐ฏ Fetch YouTube transcripts for any video without API keys
- ๐ Support for both manually created and auto-generated subtitles
- ๐ Multiple language support with intelligent fallback
- ๐ Translation support for available transcripts
- ๐ List all available transcripts for a video
- ๐ญ Filter by manually created or auto-generated transcripts
Output Formatters
- ๐ Plain text (with and without timestamps)
- ๐ JSON (simple and with full metadata)
- ๐บ WebVTT (.vtt) - Standard web video format
- ๐ฌ SubRip (.srt) - Universal subtitle format
- ๐ CSV (.csv) - Spreadsheet-compatible format
- ๐ง Extensible formatter system for custom formats
Advanced Features
- ๐ InnerTube API Integration - Bypasses YouTube's PoToken protection
- ๐ค Android client emulation for improved reliability
- ๐ Proxy support:
- Generic HTTP/HTTPS proxy configuration
- Webshare rotating residential proxy integration
- Custom headers and timeout configuration
- ๐ Automatic retry logic for blocked requests
- ๐ซ Comprehensive error handling with specific exceptions
Developer Experience
- ๐จ Null-safe, modern Dart implementation
- ๐ฆ Clean, type-safe API design
- โก Async/await throughout
- ๐ Iterator interface for FetchedTranscript
- ๐ ๏ธ Extensive documentation and examples
- โ Comprehensive test suite (32 tests, 100% passing)
- ๐ Detailed error messages with context
CLI Tool
- ๐ป Full-featured command-line interface
- ๐ฅ Multiple input/output formats
- ๐ File export support
- ๐๏ธ List available transcripts from terminal
Platform Support
- โ Dart CLI applications
- โ Flutter mobile apps (iOS & Android)
- โ Flutter web applications
- โ Flutter desktop (Windows, macOS, Linux)
Technical Highlights
- ๐๏ธ Architecture: Clean separation of concerns with dedicated modules for HTTP, parsing, formatting, and models
- ๐ Security: Uses defusedxml principles for safe XML parsing
- ๐ฏ Reliability: InnerTube API ensures consistent access even to protected videos
- ๐ Performance: Efficient parsing with minimal memory footprint
- ๐งช Quality: 100% of core functionality covered by tests
Compatibility
- Dart SDK: >=3.0.0 <4.0.0
- Python Library Compatibility: Feature parity with youtube-transcript-api v1.2.3
- YouTube API: Uses official InnerTube API (same as YouTube mobile apps)