YouTube Channel Monitor — New Upload Tracker avatar

YouTube Channel Monitor — New Upload Tracker

Pricing

from $10.00 / 1,000 new video detecteds

Go to Apify Store
YouTube Channel Monitor — New Upload Tracker

YouTube Channel Monitor — New Upload Tracker

Monitors YouTube channels (by @handle, URL, or UC ID) and returns each channel's newest uploads as structured JSON — title, video URL, duration, view count, thumbnail, and a Shorts flag. Remembers seen video IDs across runs, so each run returns onl

Pricing

from $10.00 / 1,000 new video detecteds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

4 hours ago

Last modified

Share

YouTube Channel Monitor

Watch a list of YouTube channels and get their newest uploads back as structured data: title, URL, duration, view count, thumbnail, published date, and a Shorts flag. It keeps track of which videos it has already returned, so each run gives you only the new ones. That makes it a clean trigger for automations that should fire when a creator posts: a repurposing pipeline, a competitor tracker, a "new video" alert, or a growing content dataset.

How it works

It resolves each channel (handle, URL, or ID) to its uploads playlist, reads the latest items via the YouTube Data API v3, and pushes one dataset record per video. With onlyNewSinceLastRun on, it stores the video IDs it has seen in a named key-value store and skips them next time, so repeat runs only surface uploads that weren't there before.

Input

You bring your own YouTube Data API v3 key (Google Cloud, enable the YouTube Data API v3, create an API key). The actor uses the uploads-playlist path, which costs about one quota unit per page, so it stays comfortably inside the default free 10,000 units/day.

FieldRequiredNotes
channelsyesAny mix of @handles, channel URLs, and UC… IDs, e.g. @MrBeast, https://youtube.com/@veritasium, UCX6OQ3DkcsbYNE6H8uQQuVA.
youtubeApiKeynoYour Data API v3 key. Required in practice; can also be passed via the YOUTUBE_API_KEY env var. Stored as a secret.
maxResultsPerChannelnoHow many of the latest uploads to check per channel each run. Default 10, max 50.
onlyNewSinceLastRunnoDedupe across runs and return only newly-found videos. Default true.
maxVideoAgeHoursnoSkip videos older than this. 0 means no age limit.
minDurationSeconds / maxDurationSecondsnoDuration bounds in seconds. 0 means no limit.
shortsOnly / longFormOnlynoRestrict to Shorts (185s or less) or to long-form. Leave both off for everything.

Output

One dataset record per new video. The fields you'll usually want are videoId, title, url, channelTitle, publishedAt, durationSeconds, isShort, viewCount, and thumbnail. Each record also carries channelId, description, the sourceInput you passed for that channel, and a detectedAt timestamp for when this run picked it up.

Example

{
"channels": ["@MrBeast", "@veritasium"],
"maxResultsPerChannel": 10,
"onlyNewSinceLastRun": true,
"longFormOnly": true,
"youtubeApiKey": "YOUR_YOUTUBE_DATA_API_V3_KEY"
}

Pricing

$0.01 per new video detected, pay per result, no subscription. You still cover your own Google API quota, which is free for normal use.

Notes

Cross-run dedupe relies on a named key-value store. If a run doesn't have permission to open one, the actor logs a warning and returns all recent videos instead of just the new ones, so pair onlyNewSinceLastRun: true with an Apify Schedule (for example hourly) for a steady stream of new uploads. The Shorts flag is based on a 185-second cutoff and is a heuristic, not a guarantee.