# YouTube Channel Monitor: New Videos & Growth (`offerastudio/youtube-channel-monitor`) Actor

Watch up to 500 YouTube channels. Get the new videos with views, likes and comments (with an optional free API key), views per hour since publishing, shorts flag and a summary per channel with the top and fastest-growing video. No video download, no proxy.

- **URL**: https://apify.com/offerastudio/youtube-channel-monitor.md
- **Developed by:** [Offera Studio](https://apify.com/offerastudio) (community)
- **Categories:** Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 video returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does YouTube Channel Monitor do?

**YouTube Channel Monitor** is built for **brands, agencies and creators who watch competitors and other creators**. Give it up to **500 channels** and every morning it returns the **new videos** with their **first-day views** (and, with a free YouTube API key, **likes, comments, duration and subscribers**), the **views per hour since publishing** so you see which videos are growing fastest, and one **summary row per channel** with the average views, the top video and the fastest-growing video. Run it daily in **monitor mode** and send the new rows to **Slack, e-mail, Google Sheets or your BI tool** with an Apify integration or webhook. It never downloads videos and needs no proxy.

Per video you get:

- 🎬 **channel**, **title**, **published date**, **URL**, **thumbnail**, description start
- 📈 **views**, and with a key **likes**, **comments**, **duration**, **Shorts flag**
- 🚀 **views per hour** since publishing
- 👥 **subscribers** of the channel (with a key)
- ✨ **isNew** in monitor mode

### How it works

- **Discovery** uses each channel's **public RSS feed** (the latest 15 videos, no key). The feed already publishes the **view count**.
- **Numbers** (likes, comments, duration, subscribers) come from the official **YouTube Data API v3** when you set a free key: `videos.list` and `channels.list`, 50 ids per call. A daily run over 100 channels uses about **40 of the 10,000 free daily quota units**.
- **@handles and channel URLs** are resolved with the key (`channels.list?forHandle=`) or by reading the channel page's canonical link. If YouTube blocks that lookup you get a free row asking for the channel id (`UC…`).

### How to use it

1. Click **Try for free**: three big public channels given as ids, last 7 days, no key.
2. Add your **Channels** (ids, `@handles` or URLs).
3. Optional: paste a **YouTube Data API key** (or set the secret `YOUTUBE_API_KEY`) for likes, comments, duration and subscribers.
4. For a daily digest set **Mode** to `monitor`, give it a **Monitor name**, save as a **task** and **schedule** it.

### Input example

```json
{
    "channels": ["UCX6OQ3DkcsbYNE6H8uQQuVA", "@mkbhd", "https://www.youtube.com/@TED"],
    "sinceDays": 3,
    "mode": "monitor",
    "monitorName": "competitors-daily",
    "includeShorts": true
}
```

### Output example

Real rows from a run on 7 October 2026, without a key (shortened):

```json
[
    {
        "rowType": "video",
        "channel": "MrBeast",
        "title": "Eat Everything In A Grocery Store, Win $1,000,000",
        "publishedAt": "2026-10-03T16:00:01.000Z",
        "views": 160544776,
        "likes": null,
        "viewsPerHour": 1596344,
        "source": "rss",
        "url": "https://www.youtube.com/watch?v=plN7JMbadRg"
    },
    {
        "rowType": "summary",
        "channel": "MrBeast",
        "videosInWindow": 1,
        "averageViews": 160544776,
        "topVideo": { "title": "Eat Everything In A Grocery Store, Win $1,000,000", "views": 160544776 },
        "note": "No YouTube API key: likes, comments, duration and subscribers are not available (views come from the RSS feed)."
    }
]
```

That run read 4 channels and returned 20 videos in a few seconds. Summary rows and error rows (`invalid-input`, `channel-not-resolved`, `feed-failed`, `rate-limited`, `api-error`) are free.

### How much does it cost?

This Actor uses **pay per event**:

| Event | Price |
| --- | --- |
| Video returned | **$0.0005** per video |
| Channel summary rows and error rows | **free** |

- 30 channels with about 3 new videos each per day cost **about $0.05 a day**.
- The YouTube Data API is free within Google's daily quota; the key is yours.
- Apify also charges a tiny standard start fee per run. **Maximum cost per run** caps spending.

### Data sources and terms

- **YouTube channel RSS feeds** (`youtube.com/feeds/videos.xml`), public.
- **YouTube Data API v3**, used with your own key and subject to the [YouTube API Services Terms](https://developers.google.com/youtube/terms/api-services-terms-of-service) and Google's quota. Keep to those terms when you store or display the data.
- Video titles, thumbnails and descriptions belong to their creators. This Actor is **not affiliated with or endorsed by YouTube or Google**.

### Limitations

- The RSS feed shows only each channel's **latest 15 videos**; a channel that posts more than 15 videos in your window will be cut off.
- **Without a key**: no likes, comments, duration, Shorts flag or subscribers; `isShort` is null.
- Shorts are detected by **duration of 60 seconds or less** (longer Shorts count as videos).
- Views in the RSS feed can lag the live number by a few minutes to hours.
- Live streams, premieres and private or deleted videos behave as the feed shows them.
- Handle lookup without a key depends on YouTube serving the channel page, which it may block; channel ids always work.

### FAQ

#### Where do I get the channel id?

On the channel page: About > Share channel > Copy channel ID. It starts with `UC` and has 24 characters.

#### How do I get an API key?

Create a project in Google Cloud Console, enable "YouTube Data API v3" and create an API key. It is free within the daily quota.

#### How does monitor mode work?

Video ids you received are remembered per Monitor name in a named key-value store; the next run returns only videos not seen before. The first run returns everything in the window.

### More tools from the same developer

All pay-per-result, no proxy or login needed, built and maintained by the same developer:

**Website audits**

- [Website Accessibility Checker: WCAG 2.2 & EAA](https://apify.com/offerastudio/website-accessibility-audit): accessibility issues with fixes, SEO basics and security headers.
- [Cookie & Tracker Audit: GDPR Consent Checker](https://apify.com/offerastudio/cookie-tracker-audit): cookies and tracking tags that load before consent.
- [AI Crawler Access Checker: robots.txt & llms.txt](https://apify.com/offerastudio/ai-crawler-access-audit): which AI crawlers a site allows, plus llms.txt.
- [Structured Data Validator: Schema & Rich Results](https://apify.com/offerastudio/structured-data-validator): JSON-LD and Microdata checked against Google's rich result rules.
- [Website Change Monitor: Diffs, Prices & Alerts](https://apify.com/offerastudio/website-change-monitor): get a row only when a page changes, with a clean diff.
- [Policy Change Monitor: Privacy & Terms Tracker](https://apify.com/offerastudio/policy-change-monitor): privacy policy and terms changes, classified clause by clause.
- [SaaS Pricing Monitor: Track Competitor Plans](https://apify.com/offerastudio/saas-pricing-monitor): competitor pricing plans as structured data, with price-change diffs.
- [Sitemap Change Monitor: New & Removed URLs](https://apify.com/offerastudio/sitemap-change-monitor): new, removed and changed URLs from a site's sitemaps.
- [Site SEO Crawler: Broken Links & On-Page Audit](https://apify.com/offerastudio/site-seo-crawler-audit): site-wide crawl for broken links, redirects and on-page SEO issues.
- [Website Tech Stack Detector: Bulk Lead Filters](https://apify.com/offerastudio/website-tech-stack-detector): technologies used by websites, with filters for lead lists.
- [Domain Availability & Expiry Checker (RDAP)](https://apify.com/offerastudio/domain-whois-availability): domain availability, registrar and expiry dates from RDAP.
- [Status Page SLA Monitor: Uptime & Incidents](https://apify.com/offerastudio/status-page-sla-monitor): SaaS vendor uptime, incidents and a monthly SLA table from public status pages.

**Company data and compliance**

- [Company Contact Finder: Emails, Phones & Socials](https://apify.com/offerastudio/company-contact-finder): contact details published on company websites.
- [UK New Companies Feed: Companies House Daily](https://apify.com/offerastudio/uk-new-companies-feed): newly incorporated UK companies with sector filters.
- [EU VAT Number Validator: Bulk VIES Checker](https://apify.com/offerastudio/eu-vat-number-validator): bulk VAT checks with name, address and consultation number.
- [LEI Corporate Tree: GLEIF Parents & Subsidiaries](https://apify.com/offerastudio/gleif-lei-corporate-tree): LEI lookup with parents, subsidiaries and a KYC summary.
- [UK Company Distress Watch: Insolvency Alerts](https://apify.com/offerastudio/uk-company-distress-watch): administrations, liquidations and winding-up petitions from The Gazette.
- [IBAN Validator: Bulk Check & Bank Lookup](https://apify.com/offerastudio/iban-bank-validator): IBAN format and checksum, plus bank name and BIC where open data exists.
- [Sanctions Screening: OFAC, EU, UN & UK Lists](https://apify.com/offerastudio/sanctions-screening): names screened against official sanctions lists, with match scores.
- [OSHA & EPA Violation Monitor: Fines by Company](https://apify.com/offerastudio/osha-epa-violation-monitor): US OSHA and EPA enforcement cases and penalties by company.
- [Email List Precheck: Syntax, MX & Disposable Check](https://apify.com/offerastudio/email-list-precheck): cheap email list hygiene before a real verification.
- [UK Company Officer Changes: Director & PSC Alerts](https://apify.com/offerastudio/uk-company-officer-changes): director, owner, address and status changes for a watchlist of UK companies.
- [FDA Warning Letters Monitor: By Company & Subject](https://apify.com/offerastudio/fda-warning-letters-monitor): FDA warning letters by company and subject, with cited regulations.
- [Supplier Risk Report: Sanctions, VAT & Insolvency](https://apify.com/offerastudio/supplier-risk-report): one risk row per supplier from eight official registers, with changes since last run.
- [Brand Impersonation Domain Monitor: Look-alikes](https://apify.com/offerastudio/brand-impersonation-domain-monitor): look-alike domains and certificates that imitate your brand, with a risk score.

**Media and AI**

- [Audio & Video Transcriber: Podcasts, SRT, Speakers](https://apify.com/offerastudio/audio-video-transcriber): audio, video, podcasts and social links to text, SRT and VTT.
- [Podcast Mention Alerts: Brand Mentions by Second](https://apify.com/offerastudio/podcast-mention-alerts): where your brand is said in new podcast episodes, with the exact second.
- [News Brand Mentions Monitor: New Articles Only](https://apify.com/offerastudio/news-brand-mentions-monitor): new news articles about your brand, people or topics.

**Market signals**

- [US WARN Layoff Notices: 12 States Daily Feed](https://apify.com/offerastudio/us-warn-layoff-notices): layoff and plant closure notices from official state sources.
- [US Product Recalls Monitor: FDA & CPSC Feed](https://apify.com/offerastudio/us-product-recalls-monitor): FDA and CPSC recalls in one feed, with severity.
- [EU Tenders Feed: TED Public Procurement Alerts](https://apify.com/offerastudio/eu-tender-feed): EU public tenders from TED with CPV, country and value filters.
- [Liquor License Openings: New Bars & Stores (US)](https://apify.com/offerastudio/liquor-license-openings): new US liquor licences from official state open data.
- [Clinical Trials Change Monitor: Status & Updates](https://apify.com/offerastudio/clinicaltrials-change-monitor): status, enrollment and results changes on ClinicalTrials.gov studies.
- [Career Site Jobs Monitor: ATS Jobs & New Roles](https://apify.com/offerastudio/career-site-jobs-monitor): open roles from company career sites, with new and closed roles since the last run.
- [App Reviews Monitor: App Store & Google Play](https://apify.com/offerastudio/app-store-reviews-monitor): app reviews from both stores, only new ones in monitor mode.
- [US Federal Contracts Feed: SAM.gov & USAspending](https://apify.com/offerastudio/us-federal-contracts-feed): SAM.gov contract opportunities with the buyer's award history.
- [Grants.gov Opportunities: US Federal Grants Feed](https://apify.com/offerastudio/grants-gov-opportunities): US federal grant opportunities by keyword, eligibility and agency.
- [Federal Register Monitor: US Rules & Notices Feed](https://apify.com/offerastudio/federal-register-monitor): new US rules, proposed rules and notices by agency or topic.
- [B2B Sales Trigger Feed: Hiring + Tech Leads](https://apify.com/offerastudio/b2b-sales-trigger-feed): companies hiring for a role and using (or not using) a technology, with contacts.
- [Local Business Leads: OpenStreetMap, No Website](https://apify.com/offerastudio/local-business-leads-osm): local businesses by city and category, including those with no website.
- [Solana Token Pair Monitor: New & Trending Pairs](https://apify.com/offerastudio/solana-token-pair-monitor): new and trending Solana pairs with liquidity, volume and safety flags.

### Feedback

Missing a source, a filter or a field? Open an issue on the **Issues** tab.

# Changelog

This Actor's version history is a separate document: https://apify.com/offerastudio/youtube-channel-monitor/changelog.md

# Actor input Schema

## `channels` (type: `array`):

Channel ids (UC…), @handles or channel URLs, one per line. Up to 500. Channel ids always work; handles need the API key or a successful lookup of the channel page (YouTube may block it, then you get a free row asking for the UC id).

## `sinceDays` (type: `integer`):

Only videos published within this many days. The public feed lists each channel's latest 15 videos, so very active channels may need a shorter window. Default 7.

## `mode` (type: `string`):

All: return every video in the window. Monitor: only videos not returned in an earlier run with the same monitor name.

## `includeShorts` (type: `boolean`):

Shorts are detected by duration (60 seconds or less), which needs the API key. Without a key every video is returned and isShort is null.

## `monitorName` (type: `string`):

Names this watch (monitor mode). Runs with the same name share a memory of returned videos in a named key-value store.

## `youtubeApiKey` (type: `string`):

A free key from Google Cloud Console with "YouTube Data API v3" enabled (10,000 units a day free; this Actor needs about 1 unit per 50 videos and 1 per 50 channels). Adds likes, comments, duration, shorts flag, subscribers and handle lookup. Stored encrypted.

## Actor input object example

```json
{
  "channels": [
    "UCX6OQ3DkcsbYNE6H8uQQuVA",
    "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "UCAuUUnT6oDeKwE6v1NGQxug"
  ],
  "sinceDays": 7,
  "mode": "all",
  "includeShorts": true
}
```

# Actor output Schema

## `videos` (type: `string`):

No description

## `channels` (type: `string`):

No description

## `errors` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "channels": [
        "UCX6OQ3DkcsbYNE6H8uQQuVA",
        "UC_x5XG1OV2P6uZZ5FSM9Ttw",
        "UCAuUUnT6oDeKwE6v1NGQxug"
    ],
    "sinceDays": 7,
    "mode": "all"
};

// Run the Actor and wait for it to finish
const run = await client.actor("offerastudio/youtube-channel-monitor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "channels": [
        "UCX6OQ3DkcsbYNE6H8uQQuVA",
        "UC_x5XG1OV2P6uZZ5FSM9Ttw",
        "UCAuUUnT6oDeKwE6v1NGQxug",
    ],
    "sinceDays": 7,
    "mode": "all",
}

# Run the Actor and wait for it to finish
run = client.actor("offerastudio/youtube-channel-monitor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "channels": [
    "UCX6OQ3DkcsbYNE6H8uQQuVA",
    "UC_x5XG1OV2P6uZZ5FSM9Ttw",
    "UCAuUUnT6oDeKwE6v1NGQxug"
  ],
  "sinceDays": 7,
  "mode": "all"
}' |
apify call offerastudio/youtube-channel-monitor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,offerastudio/youtube-channel-monitor"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/58DExDD1gUuvTRncp/builds/SSsaofgFlh1DW2BLN/openapi.json
