No input field changed, no output column changed, no pricing change.
Changes since the build that was published on 2026-10-07 (0.1.8). No input field changed, no output column changed, no pricing change. One order changed: the first run of an "only new" list that follows its videos (newest first, no filters) now writes a video's rows oldest first, as every later run already did.
-
A first look that one run cannot deliver whole is carried on (0.1.12). An "only new" list started a video with a first look at its first maxCommentsPerVideo comments, and followed the video only once one run had delivered that look whole. With replies on — replies count as rows — or when the run stopped at maxComments, at a spending limit or at a timeout, the next run took the first look again, at the comments that were newest then: on a video that kept getting comments the older part was never delivered, and no message said so. An independent fact-check of the README found this; reproduced offline on recorded answers, 16 of the 30 comments that were due never came. The first look is now read whole and delivered oldest first, like every later run, and the list notes where it ends even when the run could not deliver all of it. The next runs go on from the delivered part upward, and the status message says how many comments wait. (A first look at more than 20,000 comments is still handed over newest first as it is read, and carried on only when one run delivers all of it.)
-
An answer without a single comment for a video that counts 20 comments or fewer is no longer taken for a look at the video (0.1.12): for larger videos that was already so.
-
publishedDate of a comment less than a day old is worked out from the moment the comment was read (0.1.12). It used the moment the row was made, which in a long reading — a list read whole before it is handed over — can be minutes later and, around midnight UTC, a day off.
-
Wording of a run's last word (0.1.12). A run that delivers nothing used to say "nothing charged". The run-start event ($0.00005) is charged for every run, so the message now says "no rows charged". Nothing about charging itself changed.
-
README corrected after an independent fact-check (0.1.12): 18 statements were wrong or said more than the measurements do, 10 had no record behind them. Among them: a burst is carried over only newest first and without filters — with a filter or in "top" order a run looks at a window and cannot tell what fell outside it; a thread longer than maxRepliesPerComment is read again in every run until it is exhausted; a comment that reaches YouTube's list late is found only within about a quarter of an hour of the list's last complete reading; a monitoring run took 4 to 12 seconds, not "4 to 5"; the three streams we saw on air showed no comment section. The full list is in the Actor's QA record.
-
"Only new comments" no longer loses the older part of a burst. Newest first and without filters, a run used to deliver a video's newest new comments up to maxCommentsPerVideo; if more had been written between two runs, the older ones of them were never delivered. A run now delivers a video's new comments oldest first, so what does not fit into one run — or what maxComments, the spending limit or a timeout cuts off — is delivered by the next run, and the status message says how many comments are waiting. Within a video the rows of such a run now come oldest first (they came newest first).
-
A list that was started with the published build goes on working: each video takes one more look at its first maxCommentsPerVideo comments (what was delivered is skipped) and is followed from then on.
-
A video without a comment section: the status row says why, as the video's own page tells it — the page says "Comments are turned off", the video is for the channel's members only, or the video is private. It used to name the reasons there can be. The page is read for the first 25 such videos of a run.
-
A private video in the input no longer slows the run down. YouTube's embed answer for a private video (HTTP 403) was taken for a refusal of the run's address: it was retried and moved the run's small requests to the proxy. It is now read as what it is.
-
A video whose owner has turned embedding off now carries its channel's @handle too (videoChannelHandle), read from the video's page.
-
A first page of comments that comes back without a comment is asked once more before it is believed, and an "only new" list no longer takes such an empty answer for a look at the video.
-
The Actor's title in Apify Store is now "YouTube Comments Scraper — Replies & New Comment Monitor" (it was "YouTube Comments Scraper — New Comments, Replies, Exact Counts"). Its address foxlabs/youtube-comments-scraper is the same.
-
README rebuilt in the foXLabs layout: use with AI agents (Apify MCP server, agentic payments), getting started, use cases, integration, legal notes.
-
README, build 0.1.11 (no change in what the Actor does): the Python example reads the dataset as run.default_dataset_id — with the current Apify Python client (3.x) the run['defaultDatasetId'] of the earlier example raises an error; the README's own examples were run as written; a comment list of 119,554 comments followed to its end is on record under Data quality; what a run with nothing new costs is stated as measured (one or two comment requests).
What the Actor does, as it stands with the changes above.