Fetch transcript from a youtube video
npm install @danielxceron/youtube-transcript/shorts/ URLs
YoutubeTranscriptEmptyError class
bash
$ npm i @danielxceron/youtube-transcript
`
or
`bash
$ yarn add @danielxceron/youtube-transcript
`
Usage
`js
import { YoutubeTranscript } from '@danielxceron/youtube-transcript';
YoutubeTranscript.fetchTranscript('videoId or URL').then(console.log);
`
$3
- Standard videos: https://www.youtube.com/watch?v=VIDEO_ID
- Short URLs: https://youtu.be/VIDEO_ID
- YouTube Shorts: https://www.youtube.com/shorts/VIDEO_ID
- Embedded videos: https://www.youtube.com/embed/VIDEO_ID
- Direct video IDs: VIDEO_ID
$3
- fetchTranscript(videoId: string [,options: TranscriptConfig]): Promise
Environment Compatibility
| Method | Client-Side | Local Server | Production Server |
| ------------- | ----------- | ------------ | ----------------------- |
| HTML Scraping | ✅ | ✅ | ✅ |
| InnerTube API | ✅ | ✅ | ⚠️ May have limitations |
The package automatically uses the best available method for your environment.
Error Handling
- YoutubeTranscriptTooManyRequestError: Rate limiting detected
- YoutubeTranscriptVideoUnavailableError: Video not accessible
- YoutubeTranscriptDisabledError: Transcripts disabled for video
- YoutubeTranscriptNotAvailableError: No transcripts available
- YoutubeTranscriptNotAvailableLanguageError: Requested language not available
- YoutubeTranscriptEmptyError`: Empty response (triggers fallback method)