ViewStats Scraper - YouTube Channel Stats & Search avatar

ViewStats Scraper - YouTube Channel Stats & Search

Pricing

from $2.75 / 1,000 results

Go to Apify Store
ViewStats Scraper - YouTube Channel Stats & Search

ViewStats Scraper - YouTube Channel Stats & Search

Scrape ViewStats search results and channel details: YouTube subscribers, views, video count, global/country/category rankings, long-vs-short splits and average views. Search by keyword or pass channel handles/URLs. No login, no API key, no browser. Export JSON, CSV, Excel.

Pricing

from $2.75 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

ViewStats Scraper — YouTube Channel Stats, Rankings & Analytics

Scrape ViewStats search results and YouTube channel analytics in one run — subscribers, total views, video count, global / country / category rankings, average views, estimated revenue and long-form-vs-Shorts splits — by keyword or by channel handle. This ViewStats scraper reads the same JSON data ViewStats' own front-end uses, so you get clean, structured records with no login, no API key, no browser extension, and no coding.

Export to JSON, CSV, Excel, HTML, XML, or pull straight from the API.

Built for influencer-marketing teams, talent agencies, brand-sponsorship scouts, media researchers, data journalists, and YouTube creators who want ViewStats channel data as a clean dataset instead of copying numbers off a web page.


🔎 Why scrape ViewStats?

ViewStats is a YouTube analytics platform (co-founded by MrBeast) that tracks millions of channels and surfaces the kind of numbers the native YouTube UI hides: global and country subscriber rankings, category rankings, views-per-video signals, upload cadence, estimated ad revenue, and a long-form-vs-Shorts breakdown. It is one of the richest free sources of comparative creator data on the web.

The problem is that this data lives behind a search box and interactive dashboards. If you want to compare 50 cooking channels, build an outreach list for a sponsorship campaign, or benchmark a competitor over time, you end up clicking through profiles and copy-pasting numbers by hand. That does not scale, it is error-prone, and it leaves you with no structured dataset to filter, sort, or feed into a spreadsheet or CRM.

This ViewStats scraper automates all of it. Give it search keywords and/or channel handles and it returns one clean row per channel with every headline metric already parsed into typed fields — ready for Sheets, BI tools, or your own pipeline.

Common reasons people scrape ViewStats:

  • Build influencer shortlists for a niche, then sort by subscribers, views, or ranking.
  • Benchmark competitors — compare channels on subs, views, rankings, and upload frequency.
  • Source brand-deal and sponsorship candidates by size, country, and engagement signals.
  • Track creator growth by running the scraper on a schedule and diffing the numbers.
  • Assemble market and trend datasets of YouTube channels by topic or country.
  • Enrich an existing list of channel handles with full ViewStats analytics in bulk.
  • Feed estimated-revenue and Shorts-vs-long-form data into monetization research.

✨ What this ViewStats scraper does

  • ✅ Two input modes, combinable in one run — search by keyword (searchQueries) to discover matching channels, and/or pass specific channels (channels) by @handle, viewstats.com/@handle URL, youtube.com/@handle URL, or a UC… channel id.
  • ✅ Automatic pagination across ViewStats search pages, collecting and de-duplicating results up to your maxResultsPerQuery limit.
  • ✅ Core channel stats — subscriberCount, viewCount, videoCount, verified, country.
  • ✅ ViewStats rankings — globalSubscribersRanking, globalViewsRanking, countrySubscriberRanking, categorySubscriberRanking.
  • ✅ Engagement signal — vpv90 (90-day views-per-video).
  • ✅ Identity & media — displayName, handle, channelId, avatarUrl, bannerUrl, plus a channel description when the search surfaces one.
  • ✅ Ready-made links — viewstatsUrl and youtubeUrl for every channel.
  • ✅ Deep analytics (optional) — with includeStats on, each row also carries averages (daily / weekly / monthly / yearly views, subscriber gains, and estimated low/high USD revenue, plus uploadFrequency) and longsAndShorts (video / Shorts / long-form counts and views across weekly, monthly, 90-day, yearly, and all-time windows).
  • ✅ Fast HTTP, no browser — reads ViewStats' JSON API directly (handling its bot-prevention token and encrypted payloads automatically), so runs are quick and cheap on datacenter proxies.
  • ✅ Robust — automatic retries with back-off, proxy rotation, and graceful handling of channels that can't be resolved.
  • ✅ Export anywhere — JSON, CSV, Excel, HTML, XML, or the Apify dataset API.

🎯 Use cases

  • Influencer-marketing agencies — discover creators in a niche and export a vetted shortlist with subs, rankings, and country.
  • Brand & sponsorship teams — source channels by size and geography, and use estimated-revenue and view-average signals to gauge reach.
  • Talent managers — monitor a roster of channels' subscriber and view rankings over time.
  • Competitor & market analysts — benchmark a set of channels on growth, upload cadence, and Shorts-vs-long-form strategy.
  • Media & data journalists — build reproducible datasets of top creators by topic or country.
  • MCN / network operators — bulk-enrich a list of channel handles with ViewStats analytics.
  • Creators & editors — track your own channel's rankings and compare against peers.
  • Data teams & SaaS products — pull ViewStats data via API into dashboards, warehouses, or lead databases.

📥 Input

Provide at least one search query or one channel. Every field is optional; sensible defaults apply.

FieldTypeDescription
searchQueriesarray of stringsKeywords to search ViewStats for channels (e.g. mrbeast, tech reviews). Each keyword returns its matching channels.
channelsarray of stringsSpecific channels to fetch details for — a @handle, a viewstats.com/@handle URL, a youtube.com/@handle URL, or a UC… channel id.
includeDetailsbooleanFetch complete channel details (subscribers, views, rankings, etc.) for every search result. Default true. Turn off to return only lightweight search info.
includeStatsbooleanAlso fetch each channel's averages (views, subscriber gains, estimated revenue, upload frequency) and longsAndShorts breakdown. Default false.
maxResultsPerQueryintegerMaximum channels to collect per search keyword. Default 50.
proxyConfigurationobjectProxy settings. Defaults to Apify Proxy (datacenter), which is recommended.

Example input

{
"searchQueries": ["tech reviews"],
"channels": ["@MrBeast", "https://www.youtube.com/@mkbhd"],
"includeDetails": true,
"includeStats": true,
"maxResultsPerQuery": 20
}

📤 Output

The actor writes one row per channel to the dataset. Here is a representative record (with includeStats enabled):

{
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"handle": "mrbeast",
"displayName": "MrBeast",
"subscriberCount": 523000000,
"viewCount": 144353642443,
"videoCount": 1009,
"verified": true,
"country": "US",
"globalSubscribersRanking": 1,
"globalViewsRanking": 12,
"countrySubscriberRanking": 1,
"categorySubscriberRanking": 1,
"vpv90": 110584326,
"totalFollowing": 0,
"description": "SUBSCRIBE FOR A COOKIE!",
"avatarUrl": "https://yt3.ggpht.com/…",
"bannerUrl": "https://yt3.googleusercontent.com/…",
"viewstatsUrl": "https://www.viewstats.com/@mrbeast",
"youtubeUrl": "https://www.youtube.com/@mrbeast",
"averages": {
"daily": { "viewsAverage": 53611, "subsAverage": 33, "estimatedRevenueLowUsd": 8, "estimatedRevenueHighUsd": 18 },
"weekly": { "viewsAverage": 375277, "subsAverage": 231, "estimatedRevenueLowUsd": 56, "estimatedRevenueHighUsd": 124 },
"monthly": { "viewsAverage": 1608341, "subsAverage": 1000, "estimatedRevenueLowUsd": 241, "estimatedRevenueHighUsd": 531 },
"yearly": { "viewsAverage": 9484715, "subsAverage": 16000, "estimatedRevenueLowUsd": 1422, "estimatedRevenueHighUsd": 3130 },
"uploadFrequency": 9
},
"longsAndShorts": {
"weekly": { "videos": 2, "shorts": 0, "longs": 2, "views": 223222, "longViews": 222246, "shortViews": 975 },
"monthly": { "videos": 6, "shorts": 0, "longs": 6, "views": 1581187, "longViews": 1574430, "shortViews": 6756 },
"ninetyDays": { "videos": 28, "shorts": 4, "longs": 24, "views": 3372772, "longViews": 3333083, "shortViews": 39688 },
"yearly": { "videos": 120, "shorts": 20, "longs": 100, "views": 9484715, "longViews": 9300000, "shortViews": 184715 },
"allTime": { "videos": 1009, "shorts": 50, "longs": 959, "views": 144353642443, "longViews": 143000000000, "shortViews": 1353642443 }
},
"searchQuery": "tech reviews",
"scrapedAt": "2026-10-25T12:00:00.000Z"
}

Field reference

FieldDescription
channelIdYouTube channel id (UC…).
handleYouTube/ViewStats @handle (without the @).
displayNameChannel display name.
subscriberCountTotal subscribers.
viewCountLifetime total views.
videoCountNumber of public videos.
verifiedWhether the channel is verified.
countryTwo-letter country code.
globalSubscribersRankingViewStats global rank by subscribers.
globalViewsRankingViewStats global rank by total views.
countrySubscriberRankingRank by subscribers within the channel's country.
categorySubscriberRankingRank by subscribers within the channel's category.
vpv90Views-per-video signal over the last 90 days.
totalFollowingAccounts the channel follows (YouTube reports 0).
descriptionChannel description — present when surfaced by a search query.
avatarUrl / bannerUrlChannel avatar and banner image URLs.
viewstatsUrl / youtubeUrlDirect links to the ViewStats and YouTube pages.
averagesDaily/weekly/monthly/yearly view & subscriber averages, estimated low/high USD revenue, and uploadFrequency. Present with includeStats.
longsAndShortsVideo / Shorts / long-form counts and views across weekly, monthly, 90-day, yearly, and all-time windows. Present with includeStats.
searchQueryThe keyword that surfaced this channel (search mode only).
scrapedAtISO 8601 timestamp of when the row was scraped.

Some fields are populated only when ViewStats has the data for a given channel. Ranking fields can be null for very small or new channels, bannerUrl/avatarUrl may be empty for channels without art, and description appears when the data comes from a search result. The deep averages and longsAndShorts objects are only included when you enable includeStats.

🔁 Pagination & scale

For each keyword in searchQueries, the ViewStats scraper calls the search API with withPagination=true and walks pages (page=1, page=2, …), reading totalPages from each response. It keeps requesting pages until it reaches the end of the results or hits your maxResultsPerQuery cap, then de-duplicates and trims to that limit. Each explicit entry in channels triggers a direct channel-details lookup (plus the optional stats endpoints). Set maxResultsPerQuery high to pull every matching channel for a keyword, or low to keep runs lean — and add more keywords or handles to scale out breadth. Because it runs over fast HTTP with no browser, large multi-keyword jobs stay quick and inexpensive.

⚙️ How to use

  1. Open the actor on the Apify Console.
  2. Enter one or more search keywords in searchQueries and/or paste channel handles/URLs into channels.
  3. (Optional) Toggle includeStats on for averages, estimated revenue, and the Shorts-vs-long-form breakdown.
  4. (Optional) Set maxResultsPerQuery to control how many channels each keyword returns.
  5. Click Start and watch rows stream into the dataset.
  6. Export the results as JSON, CSV, Excel, HTML, or XML — or fetch them from the Apify API.
  7. Automate it: schedule recurring runs, or trigger via API and connect to Make, Zapier, Google Sheets, or a webhook.

💡 Tips

  • Build a niche list: search a topic (e.g. cooking) with a high maxResultsPerQuery, keep includeDetails on, and sort the dataset by subscriberCount.
  • Deep-dive a creator: pass the handle in channels with includeStats on to get averages, estimated revenue, upload frequency, and the long/short split.
  • Mix modes: combine searchQueries and channels in a single run to discover and enrich in one pass.
  • Keep runs cheap: leave includeStats off when you only need headline stats and rankings — that skips the extra per-channel analytics calls.
  • Track growth over time: schedule the same input daily or weekly and diff subscriberCount, viewCount, and the ranking fields.
  • Rank by reach: globalSubscribersRanking and globalViewsRanking are great primary sort keys for comparing channels of different sizes.

❓ FAQ

Is scraping ViewStats legal? This actor collects publicly available YouTube channel statistics that ViewStats surfaces on its public pages. Use the output responsibly and in line with ViewStats' and YouTube's Terms and applicable laws. You are responsible for how you use the data.

Do I need a ViewStats account, login, or API key? No. There is no login, no API key, and no browser extension. Just provide keywords and/or handles.

How many channels can I get, and how fast? Search mode returns up to maxResultsPerQuery channels per keyword; add more keywords or handles to scale. Because it runs over fast HTTP with no browser, runs are quick and typically finish in seconds to a couple of minutes depending on how many channels and whether includeStats is on.

Do I need proxies? Apify Proxy (datacenter) is enabled by default and recommended — it rotates IPs and keeps requests reliable. You can supply your own proxy configuration if you prefer.

Is there a ViewStats API I can use instead? This actor is your ViewStats API: it reads ViewStats' internal JSON endpoints (handling the bot-prevention token and encrypted responses for you) and returns clean, typed records you can fetch through the Apify API or export to a file.

How fresh is the data? Every field is scraped live from ViewStats on each run, so the numbers reflect ViewStats' current figures at run time.

Can I get estimated revenue and a Shorts-vs-long-form breakdown? Yes — enable includeStats. Each row then includes averages (with estimated low/high USD revenue and view/subscriber averages) and longsAndShorts across multiple time windows.

What handle and URL formats are accepted? @handle, viewstats.com/@handle, youtube.com/@handle, youtube.com/channel/UC…, or a bare UC… channel id.

Why is description sometimes empty? ViewStats returns a description on search-result objects but not on its channel-detail endpoint, so description is populated for channels found via searchQueries. Ranking fields can also be null for very small or brand-new channels that ViewStats hasn't ranked yet.

Can I export to Google Sheets or my own app? Yes — export to CSV/Excel, pull the dataset via the Apify API, or wire the output into Make, Zapier, a webhook, or a database.


Ready to go? Click Start, drop in a keyword or a handle, and get clean ViewStats YouTube channel data — subscribers, views, rankings, and analytics — in seconds. Export to JSON, CSV, Excel, or API.