YouTube Channel Transcripts - Whole Channel or Playlist to Text avatar

YouTube Channel Transcripts - Whole Channel or Playlist to Text

Pricing

$5.00 / 1,000 transcripts

Go to Apify Store
YouTube Channel Transcripts - Whole Channel or Playlist to Text

YouTube Channel Transcripts - Whole Channel or Playlist to Text

Every video of a YouTube channel or playlist with title, views, duration, date and the full transcript, one row per video. Incremental (remembers delivered videos), language fallback, translation, no browser, charged only per transcript delivered.

Pricing

$5.00 / 1,000 transcripts

Rating

0.0

(0)

Developer

Lee Kung

Lee Kung

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

YouTube Channel Transcripts — every video of a channel or playlist, with metadata and transcript

Give it a channel (@handle, channel URL or id) or a playlist, and get one row per video with title, views, duration, publish date and the full transcript (plus optional timestamped segments). Built for people who feed whole channels into notes, search, LLMs and research, not one video at a time.

  • Channel in, corpus out. Lists the newest N videos (up to 5,000), filters by views and duration, then fetches transcripts with preferred-language and auto-caption fallback, optional translation.
  • Incremental by default. Videos already delivered for a channel are remembered and skipped next run, so a scheduled run only pays for new uploads.
  • Charged per transcript delivered. Listing is free; videos without captions are free rows with a status.
  • No browser. Listing via a lightweight extractor, transcripts over YouTube's caption endpoints, residential proxy rotation when YouTube blocks a session; a fixed number of retries, never an endless loop.

Single videos? Use the companion YouTube Transcript Scraper.

Output

typefields
source (free)channel, channel_id, channel_url, listed, picked, status
videovideo_id, url, title, view_count, duration_seconds, published_at, status, language, source_language, is_generated, word_count, segment_count, text, segments[] (optional), error

status is ok, no_transcript, captions_disabled, unavailable, blocked or error. Only ok rows are charged.

Input

fielddefaultnotes
sources@handle, https://www.youtube.com/@handle, /channel/UC…, /playlist?list=PL…
maxVideosPerSource50newest first, up to 5,000
minViews, minDurationSeconds, maxDurationSeconds0filters; e.g. maxDurationSeconds: 60 = Shorts only, minDurationSeconds: 61 = no Shorts
skipAlreadyDonetrueremember delivered video ids per source; turn off to re-fetch
languages["en"]preference order
allowAutoGeneratedtruefall back to automatic captions
translateTo""e.g. en
includeSegmentsfalseadd timestamped lines (larger rows)
concurrency / maxRetries5 / 4
proxyConfigurationApify residentialrecommended; datacenter IPs get blocked by YouTube

Minimal input:

{ "sources": ["@Apify"], "maxVideosPerSource": 20 }

Use cases

Build a searchable archive of a creator's teaching · train or ground an assistant on a channel · monitor a competitor's channel and read what they said this week · quote-mining across a podcast's back catalogue · subtitles corpus for translation · research on how topics evolve over a channel's history.

Limits and honesty notes

  • Transcripts are what YouTube provides (uploaded captions when present, otherwise automatic captions; is_generated says which). Members-only, private and live-without-captions videos return no transcript.
  • Public data only; no login; no personal data.
  • Very large channels take minutes, not seconds; the incremental memo keeps repeat runs cheap.

Support

Open an issue on the Issues tab. Every run writes a SUMMARY record with listed, delivered, free and skipped counts.