YouTube Channel Scraper — Latest Videos via RSS (No API Key) avatar

YouTube Channel Scraper — Latest Videos via RSS (No API Key)

Pricing

from $0.70 / 1,000 result items

Go to Apify Store
YouTube Channel Scraper — Latest Videos via RSS (No API Key)

YouTube Channel Scraper — Latest Videos via RSS (No API Key)

Latest videos of any YouTube channel or playlist without API key or quota: official RSS (15 latest, exact dates/views) or the public Videos/Shorts tab (~30/48 latest). Keyword, date and view filters, channel stats (subscribers, total views), per-video details (duration, likes, category).

Pricing

from $0.70 / 1,000 result items

Rating

0.0

(0)

Developer

Samat Makatov

Samat Makatov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

YouTube Channel Scraper — latest videos, channel stats, no API key

Monitor any YouTube channel or playlist without the Data API, quota, browser or proxy. Reads the official RSS feed (15 latest videos with exact timestamps, view counts and descriptions) or the public Videos / Shorts tab (~30 / ~48 latest), optionally enriched with channel stats (subscribers, total views, country, links) and per-video details (duration, likes, category, keywords). Give a @handle, any channel URL, a UC… id or a PL… playlist id.

Use cases

  • Competitor / creator monitoring — daily run with maxAgeDays: 1 over 50 channels; alert on new uploads that match includeKeywords.
  • Influencer lead-genincludeChannelStats: true to collect subscribers, total views, country and external links (site, Instagram, TikTok) for outreach lists.
  • Content researchsource: "videos", sort: "mostViewed" to see which recent topics perform for each channel.
  • Shorts trend trackingsource: "shorts" for the latest 48 Shorts with view counts.
  • Sponsorship due diligenceincludeVideoDetails for exact duration, likes and category of the last N videos.
  • Playlist sync — feed a course or podcast playlist (PL…) into your CMS / vector DB whenever a new episode appears.

Input

FieldTypeDefaultNotes
channelsstring[]@handle, youtube.com/@x, /channel/UC…, /c/Name, /user/Name, UC… id, PL…/UU… playlist id or playlist URL.
sourceselectrssrss (15 latest, exact data), videos (~30 latest uploads, approx. dates & rounded views, durations), shorts (~48 latest Shorts). Playlists always use RSS.
limitPerChannelint15Max videos kept per entry (1–100; the source caps apply).
includeKeywordsstring[]Keep videos whose title/description contains any (case-insensitive).
excludeKeywordsstring[]Drop videos containing any.
sinceDatedateKeep videos published on/after this date.
maxAgeDaysintKeep videos newer than N days (good for scheduled runs).
minViewsintDrop videos below this view count.
sortselectnewestnewest, mostViewed, feed. Applied before limitPerChannel.
includeChannelStatsboolfalseFetch the About page: subscribers, video count, total views, country, joined, description, links, avatar. Emits one type: "channel" row per channel + channel* columns on videos.
includeVideoDetailsboolfalseFetch each video page: durationSec, likeCount, category, keywords, exact views, isLive.
maxDetailsPerChannelint5Budget for includeVideoDetails (0–50).
descriptionLengthint1000Truncate RSS descriptions (0 = drop).
maxItemsint1000Hard cap across all channels.
dedupebooltrueSkip a videoId already emitted by an earlier entry.

Reference

What each source gives you

Fieldrssvideos tabshorts tab+ includeVideoDetails
items≤ 15≈ 30≈ 48
publishedAt (exact ISO)yesno (publishedAtApprox from "3 days ago")noyes (publishDate)
viewsexactrounded ("572K")roundedexact
descriptionyes (truncated)nonono
durationSecnoyesnoyes
rating / ratingCountyesnonolikeCount
category, keywords, isLivenononoyes

Accepted channel references

InputExample
Handle@Fireship, Fireship
Channel URLhttps://www.youtube.com/@Fireship/videos, /channel/UCsBjURrPoezykLs9EqgamOA, /c/Fireship, /user/GoogleDevelopers
Channel idUCsBjURrPoezykLs9EqgamOA
PlaylistPLrAXtmErZgOeiKm4sgNOknGvNjby9efdf, https://www.youtube.com/playlist?list=PL…, uploads playlist UU…

Examples

Daily "what's new" across a watchlist

{ "channels": ["@Fireship", "@aiDotEngineer", "@lexfridman"], "maxAgeDays": 1 }

Influencer outreach list with stats and links

{ "channels": ["@Fireship", "@ThePrimeagen", "@t3dotgg"], "includeChannelStats": true, "limitPerChannel": 3 }

Top-performing recent videos per channel

{ "channels": ["@Fireship"], "source": "videos", "sort": "mostViewed", "limitPerChannel": 10, "includeVideoDetails": true, "maxDetailsPerChannel": 10 }

Keyword watch: reviews mentioning a product

{ "channels": ["@mkbhd", "@UnboxTherapy"], "includeKeywords": ["iPhone", "Pixel"], "excludeKeywords": ["#shorts"], "maxAgeDays": 30 }

Latest Shorts

{ "channels": ["@Fireship"], "source": "shorts", "limitPerChannel": 20 }

Output

Video row (RSS + details):

{
"type": "video",
"input": "https://www.youtube.com/@Fireship",
"kind": "channel",
"source": "rss",
"playlistId": null,
"channelId": "UCsBjURrPoezykLs9EqgamOA",
"channelTitle": "Fireship",
"channelUrl": "https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA",
"channelHandle": "@Fireship",
"channelSubscribers": 4270000,
"channelVideoCount": 841,
"channelTotalViews": 744056340,
"videoId": "FluKUJyeYD8",
"title": "Did OpenAI actually build AGI? GPT-6 Astra first look",
"url": "https://www.youtube.com/watch?v=FluKUJyeYD8",
"publishedAt": "2026-09-04T20:14:12+00:00",
"updatedAt": "2026-09-11T22:17:40+00:00",
"description": "CodeRabbit Security protects your code…",
"thumbnail": "https://i3.ytimg.com/vi/FluKUJyeYD8/hqdefault.jpg",
"views": 3999521,
"rating": 5,
"ratingCount": 45194,
"durationSec": 446,
"likeCount": 45194,
"category": "Science & Technology",
"keywords": ["webdev", "app development"],
"isLive": false,
"isShort": false,
"detailsFetched": true,
"fetchedAt": "2026-09-12T23:41:12.086Z"
}
FieldDescription
typevideo or channel (stats row, only with includeChannelStats).
input, kind, sourceWhat you passed, channel/playlist, and which source produced the row.
channelId, channelTitle, channelUrl, channelHandleResolved channel identity.
channelSubscribers, channelVideoCount, channelTotalViews, channelCountryFrom About page (includeChannelStats), else null. channelCountry is null when the channel does not publish a country (common).
videoId, title, url, thumbnailVideo identity.
publishedAt / publishedAtApprox / publishedTextExact ISO (RSS/details) or approximate from relative text (tabs).
views, viewsText, rating, ratingCount, likeCountEngagement.
durationSec, durationText, isShort, isLive, category, keywordsFrom tab / details.
descriptionRSS description, truncated to descriptionLength.

Channel row (type: "channel") adds channelDescription, channelJoined, channelAvatar, channelKeywords, channelLinks[], channelIsFamilySafe and the raw subscribersText / videoCountText / totalViewsText. Key-value record SUMMARY: { videos, channels, source, errors[] }.

Use it from code / agents

curl -X POST "https://api.apify.com/v2/acts/yadroo~youtube-channel-feed/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' -d '{"channels":["@Fireship"],"maxAgeDays":7}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yadroo/youtube-channel-feed').call({ channels: ['@aiDotEngineer'], includeChannelStats: true });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yadroo/youtube-channel-feed").call(run_input={"channels": ["@Fireship"], "source": "videos", "sort": "mostViewed"})
items = client.dataset(run["defaultDatasetId"]).list_items().items

MCP: connect https://mcp.apify.com and call the yadroo/youtube-channel-feed tool with the same JSON.

Pricing

Pay per event: $0.001 per run start + $0.001 per video. Channel-stats rows are billed like videos. Typical: 10 channels × 15 videos = 150 rows ≈ $0.15; a daily maxAgeDays: 1 watchlist usually yields a handful of rows, under $0.01.

Limits & FAQ

  • Only 15 videos? That is YouTube's RSS cap. Use source: "videos" (~30) or "shorts" (~48); for full back-catalogues use a full YouTube scraper.
  • Approximate dates on tabs. The Videos/Shorts tabs only show "3 days ago"; publishedAtApprox is computed from that. Turn on includeVideoDetails for exact dates on the videos you care about.
  • Rate limits / blocks. 0.5–0.6 s pauses between page fetches, 3 retries with backoff on 429/5xx. Heavy includeVideoDetails budgets on many channels are the only way to get throttled — keep them ≤ 10.
  • Private / deleted / renamed. 404 → clear error for that entry in SUMMARY.errors; the run continues with the others and fails only if nothing at all was fetched.
  • Members-only / age-restricted videos may miss details.
  • Roadmap. Comments count, transcript availability flag, uploads-playlist paging for older videos.

Made by Yadroo · Sibling actors: google-news-search · rss-to-json · hackernews-search · crypto-news