# Changelog of Fast YouTube Channel Scraper (`streamers/youtube-channel-scraper`) Actor

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

This changelog summarizes all changes of the Youtube actors provided by the [Streamers organization](https://apify.com/streamers).
If some change affects only a subset of actors, they will be listed in parentheses.

#### 2026-09-10

*Fixes*

- Videos YouTube marks unplayable (removed audio, licensing/region block, etc.) are now scraped with
  whatever metadata is still available (title, views, likes, channel, duration) instead of being
  discarded entirely.

#### 2026-09-08

*Features*

- Added the `transcriptionAndSubtitle` input option (`streamers/youtube-scraper`). It controls how text is collected for a video:
  - `ALWAYS_SUBTITLES` – download the video's existing subtitles only.
  - `TRANSCRIPTION_AS_FALLBACK` – download existing subtitles, and transcribe videos without subtitles using speech-to-text AI ($).
  - `ALWAYS_TRANSCRIBE` – always transcribe with speech-to-text AI, ignoring existing subtitles ($).
    AI transcripts are saved to the key-value store and linked from dataset items via the new `transcriptionUrl` field.

*Deprecations*

- The `downloadSubtitles` input is deprecated in favor of `transcriptionAndSubtitle`. It still works (`downloadSubtitles: true` behaves like `ALWAYS_SUBTITLES`) but will be removed in a future version.

#### 2026-07-23

*Fixes*

- Fixed crawling of playlist URLs - e.g. https://www.youtube.com/playlist?list=PLObrtcm1Kw6PmbXg8bmfJN-o2Hgx8sidf (`streamers/youtube-scraper`)

#### 2026-07-09

*Features*

- Added `aiVideoDescription` and `aiVideoSummary` input options that enrich each video with an AI-generated, time-segmented description and/or a short summary of its content. Both are off by default and billed per video-minute (`streamers/youtube-scraper`)

#### 2026-04-28

*Fixes*

- `commentsSortBy` now accept human readable values. The change is backward compatible.

#### 2026-03-04

*Fixes*

- `shorts` can be searched properly with filter.

#### 2026-03-04

*Fixes*

- Removed blocking for subtitle download (`streamers/youtube-scraper`)

#### 2026-03-02

*Fixes*

- Improved number of collected videos for hashtag (All) pages (for the first 100 results) (`streamers/youtube-scraper`)

#### 2026-02-20

*Features*

- `channelId` is extracted for collaborators info in videos

#### 2026-02-06

*Features*

- Added `oldestCommentDate` input parameter to filter comments by date (`streamers/youtube-comments-scraper`)

#### 2026-01-30

*Feat*

- Items of type `stream` now have an additional property `streamType` that can be one of the following: `scheduled`, `live`, `ended`

#### 2025-12-15

*Fixes*

- `http:` URLs from input are now correctly handled

#### 2025-12-08

*Features*

- Added an `isPaidContent` boolean flag to videos dataset items based on the presence of `paidContentOverlay` property.

#### 2025-11-27

*Fixes*

- Fixed a bug where the scraped `channelAvatarUrl` was of a different collaborator present in the video list.

#### 2025-11-27

*Fixes*

- Fixed a bug where video pages were mistakenly flagged as unavailable. (`streamers/youtube-scraper`, `streamers/youtube-shorts-scraper`)

#### 2025-11-13

*Fixes*

- Fixed a bug when an erroneous dataset item would be pushed even though all videos were scraped successfully (`streamers/youtube-scraper`)

#### 2025-11-03

*Fixes*

- Will push an error item to the dataset if a channel is not found (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`)

#### 2025-10-16

*Fixes*

- Fixed a case when channel's videos or streams would not be scraped (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`)

#### 2025-10-08

*Features*

- Added video collaborators extractions for videos with multiple creators. E.g. MrBeast and Mark Rober as collaborators.
  - You can find it under the new `collaborators` output property :)

#### 2025-09-29

*Fixes*

- A rare issue with migration causing less results than expected has been fixed (`streamers/youtube-comments-scraper`)

#### 2025-09-26

*Fixes*

- Reduced blocking

#### 2025-09-02

*Features*

- Untranslated version is now extracted for `title` and `text` output fields. If there is a translation, it is put under `translatedTitle`/`translatedText`
  *Performance*
- Improved initial and subsequent performance scraping speed

#### 2025-08-15

*Changes*

- You can now scrape channel metadata by providing a channel URL in `startUrls` and setting all video result limits (`maxResults`, `maxResultsShorts`, `maxResultStreams`) to `0`

#### 2025-06-23

*Changes*

- When scraping for comments, an output item without comments will contain `error` and `note` properties to explain why no
  comments were scraped. (`streamers/youtube-comments-scraper`)

#### 2025-06-19

*Fixes*

- Fixed OOM error on finish for runs with many results

#### 2025-06-11

*Fixes*

- Bypassed new blocking for extracting subtitles

#### 2025-06-02

*Fixes*

- Subtitle extraction

#### 2025-04-25

*Input*

- Input schemas now support `oldesPostDate` in a relative format. See input UI for details. Old input is still valid

### 2025-05-06

*Fixes*

- The erroneous items pushed in the dataset now contains the `aboutChannelInfo`, if this is eventually captured during the run.
- Also, the items contain a new `error` property to quickly detect the cause that generated the item.
- The `error` property will be one of this strings: `CHANNEL_DOES_NOT_EXIST`, `NOT_FOUND`, `VIDEO_UNAVAILABLE`, `AGE_RESTRICTED`, `CHANNEL_HAS_NO_VIDEOS`, `CHANNEL_HAS_NO_LIVE_VIDEOS`, `CHANNEL_HAS_NO_SHORTS`, `DATE_FILTER_TOO_STRICT`, `NO_VIDEOS`, `NO_RESULTS`, `NO_VALID_START_URLS`, `INVALID_INPUT`.

### 2025-04-22

*Fixes*

- Channels with `about` in their name are correctly scraped now (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`)

### 2025-04-07

*Features*

- The property `scheduledStartTime` is now scraped, both from detail page and from channels' live tab

### 2025-04-03

*Changes*

- Will not output time in `date` if the date on the page contained no specific time.
- Reduced number of navigations when scraping shorts with date filters

### 2025-03-31

*Features*

- When scraping a detail page for a video or a short, the `isMembersOnly` boolean property is added to the dataset item

### 2025-03-18

*Fixes*

- Output items from lists should now contain `order` property (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`)
- `thumbnailUrl` is extracted for shorts pages (`streamers/youtube-shorts-scraper`, `streamers/youtube-scraper`)

### 2025-03-06

*Fixes*

- When scraping a short it will detect blocking and retry (`streamers/youtube-scraper`, `streamers/youtube-shorts-scraper`)

### 2025-02-24

*Fixes*

- Duration extraction for short videos has been returned (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`, `streamers/youtube-shorts-scraper`)

### 2025-01-29

*Features*

- Now the scrapers accept `https://www.youtube.com/live/VIDEO_ID` formatted urls as `startUrls` for scraping a video, short or livestream. (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`, `streamers/youtube-shorts-scraper`, `streamers/youtube-comments-scraper`)

### 2025-01-27

*Changes*

- `formats` output property now is always empty, until we find a better way to reliably extract the source media file URLs (`streamers/youtube-scraper`)

### 2025-01-08

*Fixes*

- Date filtering is applied to shorts correctly (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`, `streamers/youtube-shorts-scraper`)

### 2025-01-06

*Features*

- Can now scrape auto-generated topic channels (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`)
  *Fixes*
- Can scrape some previously unsupported channels (like Cisco) (\`\`streamers/youtube-scraper`, `streamers/youtube-channel-scraper\`)

### 2024-12-23

*Fixes*

- Can now scrape age-restricted videos

### 2024-12-11

*Fixes*

- Channel username is now correctly extracted for shorts (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`, `streamers/youtube-shorts-scraper`)
- Fixed extraction of channel URLs and channel IDs (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`, `streamers/youtube-shorts-scraper`)

### 2024-12-09

*Features*

- Can now scrape comments on shorts (`streamers/youtube-comments-scraper`)

### 2024-12-04

*BREAKING*

- If values in any of the `maxResults*` input properties are omitted, they are initialized to zeroes to avoid unintentional infinite scraping. If you actually want to scrape all
  the videos, make sure to initialize these fields to e.g. `9999999`
  *Features*
- Channel usernames are now extracted (`streamers/youtube-scraper`, `streamers/youtube-channel-scraper`)

### 2024-11-25

*Changes*

- Input for search terms is now a `stringList` (a list of strings) instead of a regular `string` (`streamers/youtube-scraper`)
  *Features*
- Added `input` output property for search items (`streamers/youtube-scraper`)

### 2024-11-21

*Fixes*

- Video count is extracted correctly for channels

### 2024-11-18

*BREAKING*

- All actors now require at least 1GB of run memory
  *Fixes*
- A dataset result with an error note is pushed for blocked channels (or any channels that are inaccessible for some reason)
  instead of failing

### 2024-10-29

*Fixes*

- Comments are now again collected if you select sorting order (`streamers/youtube-comments-scraper`)

### 2024-10-01

*Features*

- The URL to the source media file is now extracted for regular videos (`formats` output property). Although it usually only is in 360p resolution, it combines both audio and video,
  and we plan to extract sources of better resolutions in the future, as well as sources for shorts. The URL has an expiration time of several hours

### 2024-09-20

*Fixes*

- Exact upload date is extracted again

### 2024-09-10

*Fixes*

- Shorts are now extracted for channels

### 2024-08-29

*Features*

- Added scraping functionality for hashtags (`streamers/youtube-scraper`)
  - Scrape all video type hashtags https://www.youtube.com/hashtag/apify
  - Scrape shorts only hashtags https://www.youtube.com/hashtag/apify/shorts
- We will soon release a standalone scraper for hashtags :)

*Fixes*

- Sub count is now extracted correctly

### 2024-08-21

*Fixes*

- Fixed "Request batch insert failed" error when scraping search and channels (`streamers/youtube-scraper`)

### 2024-08-19

*Features*

- You can now select comment sorting option in the input (`streamers/youtube-comments-scraper`)

### 2024-08-08

*Fixes*

- Fixed cases when scraper would get stuck in a row of errors when date filter was reached

### 2024-07-29

*Fixes*

- Detailed channel information is again extracted correctly when you provide channel URLs

### 2024-07-18

*Fixes*

- Fixed date extraction for recently finished premieres

### 2024-07-17

*Features*

- Hashtag info has been added to the output (the once in the super-title, above description; hashtags from description are separately present in `descriptionLinks`) (`streamers/youtube-scraper`)
- `isAgeRestricted` channel attribute is now present in output items (except for direct video URLs)
  *Fixes/BREAKING*
- Scraper now again can bypass YT blocking. However, the following attributes are currently missing:
  - `thumbnailUrl` and `duration` if the video was scraped via a direct URL;
  - `duration` for all cases with shorts;
  - `isMonetized` in all cases
- Correctly handles age-restricted channels by pushing just their channel info

### 2024-07-03

*Fixes*

- Scraper now uses Datacenter proxies again, which should make it faster

### 2024-07-02

*Features*

- Added published time with `publishedTimeText` property (`streamers/youtube-comments`)

### 2024-07-01

*Fixes*

- Date filters for channels now work correctly

### 2024-06-29

*Fixes*

- Restored functionality of the scraper
- RESIDENTIAL proxies are now used

### 2024-05-14

*Fixes*

- `type` field designating whether the video is a short, stream or a regular video has been added for missing cases
- Shorts with turned off comments are now correctly scraped

### 2024-05-09

*Fixes*

- Channel avatar, banner and `isVerified` fixed in several rare cases (`*`)

### 2024-04-30

*Fixes*

- Fixed comments scraping and crawling issues (`streamers/youtube-comments-scraper`)

### 2024-04-17

*Fixes*

- Approximate date filtering is now supported (`streamers/youtube-channel-scraper`)

### 2024-04-11

*Features*

- If scraper doesn't collect any results (e.g. because the channel or search has no videos) it will push an "empty" item with
  input, URL and note about the reason why no results were collected.

### 2024-04-09

*Features*

- shorts sorting/filtering by date has also been added to the input (`streamers/youtube-shorts-scraper`)

### 2024-04-05

*Features*

- added `isChannelVerified`, `channelAvatarUrl`, `channelBannerUrl` fields to output when scraping channels

### 2024-04-02

*Features*

- added "Any" subtitle language option to download all available subtitles

### 2024-03-06

*Features*

- in addition to channel username, you can now also use channel link for the shorts scraper (`streamers/youtube-shorts-scraper`)

### 2024-02-29

*Features*

- added support for shorts URLs
- added shorts `text` (description), `commentsCount` and `likes`
- added `channelId` to videos scraped from channel pages and from video detail pages, i.e. `channelId` won't be present when using `search_query` URL in `streamers/youtube-channel-scraper`.

### 2024-02-13

*Fixes*

- BREAKING CHANGE: store total channel's views (`channelTotalViews`) as a number, not a string

### 2024-02-12

*Features*

- Added `type` and `replyToCid` to comments (`streamers/youtube-comments-scraper`)

### 2024-02-06

*Fixes*

- Fixed scraping `voteCount` in comments (`streamers/youtube-comments-scraper`)

### 2024-01-18

*Fixes*

- Fixed scraping shorts when using `searchKeywords`

### 2024-01-16

*Fixes*

- `inputChannelUrl` now contains unmodified URL from the input

*Features*

- Added `channelDescriptionLinks`

### 2023-12-19

*Fixes*

- Added missing `thumbnailUrls` field (`streamers/youtube-channel`)
- Actor should now get correct number of results with respect to "Maximum search results" (`streamers/youtube-scraper`)

### 2023-12-07

*Fixes*

- video likes extraction
- apply date filters also to streams and shorts

### 2023-11-21

*Fixes*

- Fixed pagination when using search keywords

### 2023-11-16

*Features*

- add new comment fields: `replyCount`, `voteCount`, `authorIsChannelOwner`, `hasCreatorHeart` (`streamers/youtube-comments`)

### 2023-11-11

*Fixes*

- Fixed pagination scraping - actor now scrapes more than just one page

### 2023-11-08

*Fixes*

- Fixed channel info extraction after Youtube changed API

### 2023-11-01

*Features*

- Scrape shorts' `date` and `duration`

### 2023-09-27

*Fixes*

- Fix `numberofubscribers` extraction (`streamers/youtube-main`)

*Features*

- Added `isMonetized` field for video detail (`streamers/youtube-main`)

### 2023-09-12

*Features*

- Added basic sorting/filtering for channel videos. More might be coming in the future (`streamers/youtube-main`, `streamers/youtube-channel`)

### 2023-08-28

*Fixes*

- For some videos not all comments used to get scraped, this is now fixed (`streamers/youtube-comments`)

### 2023-08-17

*Fixes*

- Proxy is again used

*Features*

- You can now apply search filters and sorting in the input (`streamers/youtube-main`)

### 2023-08-14

*Fixes*

- The scraper now again respects limits, which were broken in the previous release (`*`).

*Features*

- The search workflow now can also pick up Shorts and Live videos from the corresponding tabs.
  Set the appropriate limits for each type of videos.

### 2023-07-31

*Input changes*

- You are allowed to pass 0 to the max limits for shorts/streams (`bernardo/youtube-scraper`).

### 2023-07-25

*Fixes*

- The scraper now correctly extracts comment count for big videos

### 2023-07-24

*Fixes*

- The scraper can now correctly scrape videos without a description

### 2023-07-07

*Features*

- Now videos have `fromYTUrl` and `inputChannelUrl` fields in the output. The first
  one tells on what page the video was scraped, the other one will point to the channel url as specified in the input
  (it may differ from `channelUrl`, although both will lead to the same channel).

### 2023-07-06

*Features*

- Autogenerated channels parsed as "recent" tab

### 2023-07-04

*Fixes*

- Subs are now pushed to dataset items, as they used to be

### 2023-06-22

*Fixes*

- If a channel doesn't exist, the scraper can now detect it, and will not retry to scrape this channel

### 2023-06-20

*Features*

- You can now select in what format to save subtitles: plaintext, vtt, srt or xml

*Fixes*

- Now the scraper better handles some subtitle locales (for some of them, it would often not download subtitles, because it
  couldn't match `fr` with `fr-FR`, for example)

### 2023-06-02

*Features*

- You can now input playlist URLs (in the format of `https://www.youtube.com/playlist?list=PLObrtcm1Kw6PmbXg8bmfJN-o2Hgx8sidf`) and scrape all videos from it.

*Fixes*

- You can now submit URLs in the `youtu.be/id` format. In addition, if you submit some incorrect URLs, they will just be skipped, without exiting the scraper as before.

### 2023-06-01 (0.0.107)

*BREAKING CHANGES*

- Removed `dislikes` field from the output as they are no longer publicly available.
- Removed `details` field from the output, which was a full HTML version of the description. Use `text` and `descriptionLinks` instead.

*Features*

- Added `descriptionLinks` field to the output, which contains all links found in the description. Some of them would not be extracted by the `text` field alone.

*Changes*

- The scraper is now significantly faster (and thus cheaper) because it no longer requires a full browser interaction.
- `extendOutputFunction` and `extendScraperFunction` are deprecated. They will still be supported and we will reach out to users that regularly use it before we completely remove them.

*Fixes*

- Scrolling through videos can now be restored from any point which makes the scraper much more reliable

### 2023-04-25

*Fixes*

- Video duration is now correctly extracted
- Description is now correctly extracted

### 2023-03-29

*Update*

- Added new fields to the output in case of processing channelUrl:
  {
  "channelTotalVideos": 3200,
  "channelDescription": "Learn how to speak English with the BBC...",
  "channelLocation": "United Kingdom",
  "channelJoinedDate": "Jun 17, 2008",
  "channelTotalViews": "261,770,375",
  }

### 2023-03-29

*Feautures*

- Added "saveStreams" feature.

### 2023-02-22

*Features*

- Added `thumbnailUrl` to video item output

### 2023-01-13

*Fixes*

- Extract the title text only without html
- Extract the description full urls

### 2022-11-30

*Feautures*

- Added "saveShorts" feature.

### 2022-07-20

*Fixes*

- Correctly handle videos with comments turned off.
- Add `commentsTurnedOff` to output.

### 2022-06-10

*Fixes*:

- Channel page without `/watch` selector

### 2021-09-15

*Features*

- Add possibility to scrape video comments. See `maxComments` input field.

2021-06-16
*Features*

- Revamped subtitles downloading - added possibility to download all available subtitles
  (availability defined by languages) and to prefer automatically generated subtitles before the user generated
  ones.

2021-06-14
*Features*:

- Add subtitle type to output (extendedOutputFunction). **Note**: You must set `downloadSubtitles` variable to `true` for this
  feature to take effect.

2021-06-11
*Features*:

- Subtitles are now downloadable (saved to KeyValueStore as `videoID_languageCode`)

2021-05-21
*Features*:

- Update SDK

*Fixes*

- Random zero results when searching
- Click consent dialog

2021-04-14
*Fixes*

- Fixed changed selector that completely prevented the scrape

2021-03-21
*Features*:

- Updated SDK version for session pool changes
- Add `handlePageTimeoutSecs` parameter to INPUT\_SCHEMA

2021-03-15
*Fixes:*

- Fixed selector causing no data scraped
- Removed stealth causing issues with new layout

2020-09-27

- Increased waiting timeouts to better handle concurrency
- Added saving screenshots on errors
- Better handling of Captchas, a page is automatically retried and the browser is restarted with a new proxy
- `verboseLog` is off by default
- Added info how many videos were enqueued and overall better logging
