YouTube transcript retrieval tool with YouTube Transcript API integration. Retrieves complete transcripts with timestamps, supports both stdout output and file saving, includes proper error handling, and uses isolated virtual environment to avoid system conflicts.
Find a file
tril-opencode 8827ff886a Add PUSH.md - Final deployment instructions
- Repository is now complete and ready for manual push
- Include clear final steps for Forgejo setup
- Document all included components
- Provide future repository URL

All documentation is complete. Tool is ready for deployment.
2026-01-08 13:19:00 -08:00
.gitignore Initial commit: YouTube transcript retrieval tool 2026-01-08 13:16:31 -08:00
get-transcript Initial commit: YouTube transcript retrieval tool 2026-01-08 13:16:31 -08:00
PUSH.md Add PUSH.md - Final deployment instructions 2026-01-08 13:19:00 -08:00
README.md Update README with comprehensive documentation 2026-01-08 13:17:41 -08:00
SETUP.md Add SETUP.md for manual repository deployment 2026-01-08 13:18:46 -08:00
setup.sh Add automated setup script for repository initialization 2026-01-08 13:17:13 -08:00

YouTube Transcript Tool

A robust tool for retrieving YouTube video transcripts with proper error handling and user-friendly output.

🚀 Quick Start

This repository includes an automated setup script that handles everything:

curl -sSL https://code.metapipe.net/tril-opencode/yt-transcript/raw/branch/main/setup.sh | bash

Or clone and run:

git clone https://code.metapipe.net/tril-opencode/yt-transcript.git
cd yt-transcript
./setup.sh

📋 Manual Setup

If you prefer manual setup:

  1. Clone repository

    git clone https://code.metapipe.net/tril-opencode/yt-transcript.git
    cd yt-transcript
    
  2. Ensure virtual environment exists

    mkdir -p ~/.local/venvs
    virtualenv ~/.local/venvs/youtube-transcript
    source ~/.local/venvs/youtube-transcript/bin/activate
    pip install youtube-transcript-api
    
  3. Use the tool

    ./get-transcript <video_id> [output_file]
    

📖 Usage Examples

Basic usage - print to terminal

./get-transcript dQw4w9WgXcQ

Save transcript to file

./get-transcript 65o_j4E7_lk transcript.txt

View saved transcript

cat transcript.txt

Features

  • Complete transcripts: Gets full transcript with timestamps
  • Error handling: Graceful handling of disabled/private videos
  • Flexible output: Print to terminal or save to file
  • Virtual environment: Isolated from system Python
  • User-friendly: Clear output format and error messages

🛠️ Requirements

  • Python 3.6+
  • youtube-transcript-api library
  • Virtual environment at ~/.local/venvs/youtube-transcript/
  • Internet connection to YouTube

📁 Repository Structure

yt-transcript/
├── get-transcript      # Main script
├── setup.sh           # Automated setup
├── README.md           # This file
└── .gitignore         # Git ignore rules

🔧 Technical Details

  • Uses YouTube Transcript API v1.2.3
  • Python virtual environment for isolation
  • Handles common API errors gracefully
  • Timestamp format: [SSS.MMm]s text

📝 Output Format

Transcripts are formatted with precise timestamps:

[001.36s] [♪♪♪]
[018.64s] ♪ We're no strangers to love ♪
[022.64s] ♪ You know the rules and so do I ♪

🐛 Error Messages

The script provides clear error messages:

  • Transcripts are disabled for this video
  • No transcript found for this video
  • Video is unavailable or private
  • Network or API errors

📞 Support

For issues or feature requests, please create an issue at: https://code.metapipe.net/tril-opencode/yt-transcript/issues


Note: This tool respects YouTube's terms of service and rate limits.