Fetch YouTube transcripts. No API key needed.
go install github.com/shanehull/yt-transcript/cmd/yt-transcript@latestyt-transcript dQw4w9WgXcQ # plain text
yt-transcript -fmt json dQw4w9WgXcQ # JSON with timestamps
yt-transcript -fmt srt dQw4w9WgXcQ # SRT subtitles
yt-transcript -lang fr dQw4w9WgXcQ # French transcriptimport (
"context"
yt "github.com/shanehull/yt-transcript"
)
client := yt.NewClient()
segments, _ := client.FetchTranscript(context.Background(), "dQw4w9WgXcQ", "en")
for _, s := range segments {
fmt.Println(s.Text)
}go run github.com/shanehull/yt-transcript/cmd/server@latest
docker run -p 8080:8080 ghcr.io/shanehull/yt-transcriptGET /{video_id}[?lang=en][&fmt=text|srt] → transcript
curl https://yt-transcript.net/dQw4w9WgXcQ
curl https://yt-transcript.net/dQw4w9WgXcQ?fmt=text
curl https://yt-transcript.net/dQw4w9WgXcQ?fmt=srt
curl https://yt-transcript.net/dQw4w9WgXcQ?lang=fr