YouTube Channel Scraper: No API Key
Pricing
$5.00 / 1,000 channels
YouTube Channel Scraper: No API Key
Scrape YouTube channel metadata and video list: subscriber count, view count, video titles, view counts and publish dates. No API key needed. Works as MCP tool in Claude.
Pricing
$5.00 / 1,000 channels
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
๐บ YouTube Channel Scraper: Subscribers, Videos & Stats (No API Key)
Overview
YouTube Channel Scraper is a fast, no-login tool that turns any YouTube channel URL, @handle, or channel ID into clean, structured JSON. Every record includes subscriber count, total video count, description, country, avatar, banner, and the channel's recent video list with views and publish dates.
No YouTube Data API key, no OAuth, no quota. Paste channels, get data. You are billed per channel returned, nothing else.
โ No login required | โ No API key | โ Pay only for successful channels | โ MCP-ready for AI agents
Features
Bulk channel enrichment. Pass many channels per run and get flat records back.
No Data API quota. Reads public channel surfaces without touching Google's key system.
Videos tab included. Up to 200 recent uploads with views, duration, thumbnails, Shorts flag.
Handles every input shape. Full URLs, @handles, or raw UC... channel IDs.
Free failure handling. Not-found or errored channels are never charged.
How it works
The official YouTube Data API makes you register a project, generate an API key, and live inside a 10,000-unit daily quota that a handful of channel lookups can burn through. This scraper reads the same public channel surfaces YouTube already serves to logged-out visitors: no key, no OAuth screen, no quota ceiling.
Each input is resolved to the canonical channel, the About panel is parsed for subscriber count, video count, country, description, avatar and banner, and the Videos tab is walked for the most recent uploads. Failed lookups are surfaced with status: not-found or status: error and are never billed.
๐งพ Input configuration
{"channelUrls": ["https://www.youtube.com/@MrBeast","@veritasium"],"maxVideos": 30,"includeVideos": true}
๐ค Output format
{"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","channelHandle": "@MrBeast","channelName": "MrBeast","subscriberCountText": "508M subscribers","subscriberCount": 508000000,"videoCount": 992,"description": "SUBSCRIBE FOR A COOKIE!","channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA","avatarUrl": "https://yt3.googleusercontent.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s160-c-k-c0x00ffffff-no-rj","bannerUrl": "https://yt3.googleusercontent.com/mHMO_eEMp0dPvh0ADwXhPXNYb_GnjSVsLI8biqF1CpxT8OPl7izhNQsDPD3JHhd5y5Mg9GrP=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj","videos": [{"videoId": "iYlODtkyw_I","title": "Survive 30 Days Chained To A Stranger, Win $250,000","url": "https://www.youtube.com/watch?v=iYlODtkyw_I","viewCountText": "71 million views","publishedTimeText": "2 weeks ago","duration": "35:05","thumbnailUrl": "https://i.ytimg.com/vi/iYlODtkyw_I/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLBr_mSSbkEXsEQf8rxuahzMDeW9Jg","isShort": false}],"videoCount_fetched": 2,"status": "ok","charged": false,"scrapedAt": "2026-07-15T04:16:13.023Z"}
This is a live capture from a real run against @MrBeast, with maxVideos set to 2 for a small, cheap test. Note that country is omitted here: this actor only includes fields YouTube actually publishes, and MrBeast's channel does not have a public country set at the time of capture. charged is false in this example because the record was served from the account's free-tier allowance, not because the lookup failed.
Every channel record contains these fields:
| Field | Description |
|---|---|
๐ท๏ธ channelId | Canonical UC... channel ID |
๐ channelHandle | @handle |
๐ channelName | Display name |
๐ฅ subscriberCountText | Rounded YouTube label (e.g. "200M subscribers") |
๐ข subscriberCount | Parsed numeric subscriber count |
๐ฌ videoCount | Total uploads on channel |
๐ description | About text |
๐ country | Channel country |
๐ channelUrl | Canonical channel URL |
๐ผ๏ธ avatarUrl / bannerUrl | Profile and banner images |
๐๏ธ videos[] | Recent uploads (see per-video schema below) |
๐ฆ status | ok / error / not-found |
๐ scrapedAt | ISO 8601 extraction timestamp |
Per-video fields: videoId, title, url, viewCountText, publishedTimeText, duration, thumbnailUrl, isShort.
๐ผ Common use cases
Competitor monitoring Schedule daily or weekly runs to chart subscriber and upload trends against rivals. Compare cadence, Shorts vs. long mix, and top-performing titles at a glance.
Influencer discovery and vetting Pull stats for a list of channels, then score on size, cadence, and content mix. Enrich a prospect list with audience size and channel metadata.
Content research Study which video titles, durations, and posting rhythms correlate with high view counts in a niche. Feed dashboards with structured channel + video data.
AI knowledge bases Feed channel and video metadata into RAG pipelines and agent workflows. Combine with the YouTube Transcript Scraper for full context.
๐ Getting started
- Open the actor in Apify Console (or call it via API or MCP).
- Under channel URLs or handles, paste one or more channels: full URL,
@handle, or channel ID. Bulk-add as many as you like. - Set max videos per channel (0 to 200) to control how many recent videos come back.
- Leave Include video list on to get the Videos tab, or turn it off for channel metadata only.
- Click Save and Start, then download the dataset as JSON, CSV, or Excel, or pull via API or MCP.
FAQ
Do I need a YouTube API key or account? No. The scraper reads only public channel pages. No API key, no login, no OAuth, and no Data API quota.
What can I pass as input?
Any mix of full channel URLs (youtube.com/@name, youtube.com/channel/UCโฆ), bare @handles, or raw channel IDs. Each resolves to the canonical channel automatically.
How many videos can I get per channel? Up to 200 of the most recent uploads from the channel's Videos tab, controlled by max videos per channel. Set it to 0 to skip videos and fetch channel metadata only.
Why are subscriber counts sometimes approximate?
YouTube publicly displays rounded figures (e.g. "200M subscribers"). We return both the exact text in subscriberCountText and a best-effort parsed subscriberCount number.
How is it priced?
Pay per result. You are charged per channel that returns status: ok. The first 10 channels on every account are free for life, so you can test before you spend.
Can I use it inside an AI agent? Yes. It is exposed as an MCP tool. See below.
Use in Claude, ChatGPT & any MCP agent
https://mcp.apify.com/?tools=themineworks/youtube-channel
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/youtube-channel').call({channelUrls: ['https://www.youtube.com/@MrBeast'],maxVideos: 30,includeVideos: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
๐ ๏ธ Complete your YouTube pipeline
Pair the channel scraper with the rest of the video suite:
- YouTube Transcript Scraper: timestamped captions as clean JSON for RAG and LLMs.
- Threads Scraper: posts, profiles, hashtags and search on Meta Threads.
- Instagram Profile Scraper: followers, bio, and stats for any public account.
Typical flow: youtube-channel maps who the creators are, youtube-transcript-scraper pulls the words, and the social suite covers cross-platform reach.
Found a bug or have a feature request? Open an issue on the actor's Apify Console page or reach out through the Apify profile.