# Changelog of YouTube Transcript Scraper — Videos, Channels & Playlists (`innolabs/youtube-transcript-scraper`) Actor

- **URL**: https://apify.com/innolabs/youtube-transcript-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/innolabs/youtube-transcript-scraper.md

## Changelog

### 0.2 — 2026-11-02

- New name and title: **YouTube Transcript Scraper — Videos, Channels & Playlists**
  (`youtube-transcript-scraper`).
- New input `channelUrls`: get transcripts for a channel's newest videos. Accepts
  `/@handle`, `/channel/UC…`, `/c/…`, `/user/…` links (optionally ending in `/videos`,
  `/shorts` or `/streams`), bare `@handles` and `UC…` channel IDs.
- New input `playlistUrls`: any link with a `list=` parameter or a bare playlist ID.
- New inputs `channelVideoType` (Videos / Shorts / Live streams), `maxVideosPerChannel`
  and `maxVideosPerPlaylist` (default 50 each).
- New output fields `sourceType` (`video`, `channel` or `playlist`) and `sourceUrl` (the
  link you entered that produced the item).
- Videos found through several links are fetched and charged once.
- A channel or playlist that cannot be read (not found, private, missing tab) is listed in
  the run summary; the rest of the run continues.
- A channel or playlist link pasted into Video URLs now fails with a hint naming the right
  field.
- Console form is prefilled with a working example; default memory lowered to 256 MB.
- Default proxy is now Apify Proxy group RESIDENTIAL (prefill and default): YouTube
  bot-checks Apify datacenter IPs for every video.
- Transcripts and metadata now come from YouTube's player API with response field masks
  plus the caption file, instead of downloading the full watch page: ~20 KB of proxy
  traffic per video instead of ~640 KB.
- A run in which YouTube blocked every video and nothing was saved now ends as **Failed**
  with a message to use a residential proxy, instead of succeeding with an empty dataset.
- Age-restricted, private and unavailable videos are reported with their own reason
  (`age_restricted`, `video_private`, `video_unavailable`); "no transcript in this
  language" errors list the languages the video does have.
- Channel and playlist listing uses the same API (about 2 KB per page instead of a
  \~120 KB page).
- README rewritten for the Store; developer notes moved to `DEVELOPMENT.md`.

### 0.1 — 2026-11-02

- Initial release: batch transcripts, language selection, segments, text/SRT
  export, metadata, per-video error isolation.
- Rotating-proxy support: keep-alive disabled and blocked requests retried so a
  flagged IP is replaced on the next attempt.
