# Viewstats.com Search Results and Channel Details Scraper (`memo23/viewstats-scraper`) Actor

Unlock powerful insights from YouTube channels with the Viewstats Search Results and Channel Details Scraper. Get in-depth analytics, growth metrics, and channel comparisons effortlessly.

- **URL**: https://apify.com/memo23/viewstats-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Automation, Jobs, Lead generation
- **Stats:** 64 total users, 3 monthly users, 99.8% runs succeeded, 9 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$5.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Overview

The Viewstats.com Scraper enables you to collect detailed analytics and statistics for YouTube channels directly from Viewstats.com. Whether you're a digital marketer, content creator, or researcher, this scraper helps you efficiently gather important data such as subscriber counts, growth trends, video metrics, and other valuable insights for YouTube channels.

Viewstats.com is a platform that provides an in-depth analysis of YouTube channels, allowing users to compare creators' performance and view growth trajectories. It also offers a Chrome extension to view video and channel analytics while browsing YouTube, making it an ideal tool for anyone interested in tracking the success of content creators.

### Features

- Scrape comprehensive YouTube analytics from Viewstats.com, including channel growth trends and performance metrics.
- Extract detailed profile information about creators, including engagement rates, subscriber counts, and channel statistics.
- Capture each channel's ViewStats rankings — overall ViewStats rank, global views/subscribers rank, and country/category rank — along with its featured video.
- Pull daily/weekly time-series (7 / 28 / 90 / 365-day and all-time) with subscriber, view, and estimated-revenue trends.
- Retrieve long-form and short-form video lists with per-video view, like, and comment counts.
- Optionally enrich every video with its estimated revenue (low / mid / high) via `includeVideoRevenue`, and with per-video averages + a typical-performance benchmark curve via `includeVideoPerformance`.
- Configure scraping settings to adjust for concurrency, retries, and the number of items to be scraped.
- Built-in proxy configuration for reliable, anonymous scraping.

### How to Use

1. **Set Up**: Ensure you have an Apify account and access to the Apify platform.
2. **Provide Start URLs**: Copy and paste the desired Viewstats URL or channel name (e.g., "https://www.viewstats.com/@cohhcarnage/channelytics" or "cohhcarnage") to define your scraping scope.
3. **Adjust Scraper Settings**: Modify settings such as `maxItems`, `maxConcurrency`, and `minConcurrency` to match your requirements.
4. **Include Profile Details**: If you want to scrape detailed profile data, set `includeProfileDetails` to `true`.
5. **Configure Proxy Settings**: (Optional) Configure proxy settings to avoid rate limiting or IP blocks.
6. **Run the Scraper**: Execute the scraper on the Apify platform. The output will be available in various formats, including JSON, CSV, or Excel.

### Input Configuration

Here is an example of how to set up the input for the Viewstats.com Scraper:

```json
{
    "startUrls": [
        "cohhcarnage",
        "https://www.viewstats.com/?q=kill",
        "https://www.viewstats.com/@cohhcarnage/channelytics"
    ],
    "includeProfileDetails": true,
    "includeVideoRevenue": false,
    "includeVideoPerformance": false,
    "maxItems": 30,
    "maxConcurrency": 50,
    "minConcurrency": 1,
    "maxRequestRetries": 100,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
}
```

#### Input Fields Explanation

- **Start URLs** (`startUrls`): URLs or channel names to start scraping from. This can include search result pages or direct channel analysis pages on Viewstats.com.
- **Include Profile Details** (`includeProfileDetails`): Boolean to specify if detailed profile data for each channel should be scraped. Default is `false`.
- **Include Per-Video Revenue** (`includeVideoRevenue`): Boolean. When `true`, every scraped video (long and short) is enriched with its estimated revenue (`estimatedRevenueUsd`, `estimatedLowRevenueUsd`, `estimatedHighRevenueUsd`). This makes one extra request per video, so runs are slower and cost more — leave `false` unless you specifically need per-video monetization estimates. Default is `false`.
- **Include Per-Video Performance** (`includeVideoPerformance`): Boolean. When `true`, every scraped video is enriched with `averages` (average daily/weekly views and revenue range) and `typicalPerformance` (the expected min/max view band by hours after upload — useful for outlier/benchmark analysis). This makes two extra requests per video, so runs are slower and cost more. Default is `false`.
- **Max Items per Crawl** (`maxItems`): Maximum number of items that will be scraped during a single run. Default is `30`.
- **Max Concurrency** (`maxConcurrency`): Maximum number of pages processed simultaneously. Default is `50`.
- **Min Concurrency** (`minConcurrency`): Minimum number of pages processed simultaneously. Default is `1`.
- **Max Request Retries** (`maxRequestRetries`): Number of times the crawler will retry a failed request before giving up. Default is `100`.
- **Proxy Configuration** (`proxy`): Specifies proxy servers that will be used to ensure anonymity and bypass rate limits.

### Output Structure

The scraper produces a list of YouTube channels or search results, with each item containing fields such as:

```json
{
    "id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
    "displayName": "MrBeast",
    "handle": "mrbeast",
    "subscriberCount": 449000000,
    "viewCount": 99159989754,
    "videoCount": 914,
    "verified": true,
    "totalFollowing": 0,
    "country": "US",
    "bannerUrl": "https://yt3.googleusercontent.com/5KWiriZZ_KEoEdSMFTJKj2M6vR_XSiRZeQ-ix0cvG3TGZuGoi8sfAjrSiZAP0GzXBkmF8ZGytw",
    "avatarUrl": "https://yt3.ggpht.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s800-c-k-c0x00ffffff-no-rj",
    "globalViewsRanking": 12,
    "globalSubscribersRanking": 1,
    "countrySubscriberRanking": 1,
    "categorySubscriberRanking": 1,
    "vpv90": 110584326,
    "recentTests": 0,
    "totalTests": 0,
    "longsAndShorts": {
        "weekly": {
            "videos": 2,
            "shorts": 1,
            "longs": 1,
            "views": 584043320,
            "longViews": 195850633,
            "shortViews": 388192686
        },
        "monthly": {
            "videos": 10,
            "shorts": 7,
            "longs": 3,
            "views": 2630254339,
            "longViews": 660930247,
            "shortViews": 1969324091
        },
        "ninetyDays": {
            "videos": 30,
            "shorts": 21,
            "longs": 9,
            "views": 8097634282,
            "longViews": 1925474032,
            "shortViews": 6172160249
        },
        "yearly": {
            "videos": 96,
            "shorts": 71,
            "longs": 25,
            "views": 37848087961,
            "longViews": 9757975106,
            "shortViews": 28090112854
        },
        "allTime": {
            "videos": 930,
            "shorts": 136,
            "longs": 794,
            "views": 99159989754,
            "longViews": 48870003919,
            "shortViews": 50289985834
        }
    },
    "stats7": [
        {
            "insertedAt": "2025-10-25T06:01:37Z",
            "subscriberCount": 447000000,
            "subscriberCountDelta": 0,
            "viewCount": 98641803377,
            "viewCountDelta": 67743821,
            "videoCount": 912,
            "videoCountDelta": 0,
            "date": "2025-10-24",
            "estimatedLowRevenueUsd": 41970,
            "estimatedHighRevenueUsd": 117047,
            "estimatedRevenueUsd": 79508,
            "dayOfWeek": "FRIDAY",
            "isToday": false
        },
        ...
    ],
    "stats28": [
        {
            "insertedAt": "2025-10-03T21:02:09Z",
            "subscriberCount": 443000000,
            "subscriberCountDelta": 1000000,
            "viewCount": 96568513198,
            "viewCountDelta": 40664661,
            "videoCount": 905,
            "videoCountDelta": 1,
            "date": "2025-10-03",
            "estimatedLowRevenueUsd": 20234,
            "estimatedHighRevenueUsd": 56529,
            "estimatedRevenueUsd": 38381,
            "events": [
                {
                    "id": "F0OkwXKcPSE",
                    "date": "2025-10-04",
                    "duration": "long_upload",
                    "type": "long_upload",
                    "viewCount": 45701373,
                    "title": "Hi Me In 10 Years"
                },
                {
                    "id": "686PL7rt654",
                    "date": "2025-10-03",
                    "duration": "short_upload",
                    "type": "short_upload",
                    "viewCount": 196735570,
                    "title": "World’s Fastest Dinner Date"
                }
            ],
            "totalUploads": 2,
            "dayOfWeek": "FRIDAY",
            "isToday": false
        },
        ...
    ],
    "stats90": [
        {
            "insertedAt": "2025-08-11T06:01:36Z",
            "subscriberCount": 421000000,
            "subscriberCountDelta": 0,
            "viewCount": 92988356969,
            "viewCountDelta": 671684453,
            "videoCount": 893,
            "videoCountDelta": 0,
            "date": "2025-08-04",
            "estimatedLowRevenueUsd": 335733,
            "estimatedHighRevenueUsd": 937893,
            "estimatedRevenueUsd": 636813,
            "events": [
                {
                    "id": "vpRW4JhzfSE",
                    "date": "2025-08-08",
                    "duration": "short_upload",
                    "type": "short_upload",
                    "viewCount": 65981888,
                    "title": "1 Subscriber = 1 Second In The Arctic"
                },
                {
                    "id": "qXW93Cois2s",
                    "date": "2025-08-05",
                    "duration": "short_upload",
                    "type": "short_upload",
                    "viewCount": 65404778,
                    "title": "Guess What Hit You"
                }
            ],
            "totalUploads": 2,
            "dayOfWeek": "SUNDAY",
            "isToday": false
        },
        ...
    ],
    "stats365": [
        {
            "insertedAt": "2024-11-11T07:02:07Z",
            "subscriberCount": 329000000,
            "subscriberCountDelta": 0,
            "viewCount": 63092467197,
            "viewCountDelta": 612343849,
            "videoCount": 826,
            "videoCountDelta": 0,
            "date": "2024-11-04",
            "estimatedLowRevenueUsd": 325768,
            "estimatedHighRevenueUsd": 909572,
            "estimatedRevenueUsd": 617670,
            "dayOfWeek": "SUNDAY",
            "isToday": false
        },
        ...
    ],
    "statsAllTime": [
        {
            "insertedAt": "2022-11-07T00:00:00Z",
            "subscriberCount": 110000000,
            "subscriberCountDelta": 0,
            "viewCount": 18256128086,
            "viewCountDelta": 0,
            "videoCount": 731,
            "videoCountDelta": 0,
            "date": "2022-10-31",
            "estimatedLowRevenueUsd": 0,
            "estimatedHighRevenueUsd": 0,
            "estimatedRevenueUsd": 0,
            "dayOfWeek": "SUNDAY",
            "isToday": false
        },
        ...
    ],
    "projections": {
        "viewProjectionList": [
            {
                "date": "2025-12-31",
                "viewCount": 106982760722
            },
            {
                "date": "2026-02-28",
                "viewCount": 109351680056
            },
            {
                "date": "2026-04-30",
                "viewCount": 112431275191
            },
            {
                "date": "2026-06-30",
                "viewCount": 116434748867
            },
            {
                "date": "2026-08-31",
                "viewCount": 121639264645
            },
            {
                "date": "2026-10-31",
                "viewCount": 128405135156
            },
            {
                "date": "2026-12-31",
                "viewCount": 137200766821
            },
            {
                "date": "2027-02-28",
                "viewCount": 148635087986
            },
            {
                "date": "2027-04-30",
                "viewCount": 163499705500
            },
            {
                "date": "2027-06-30",
                "viewCount": 182823708268
            },
            {
                "date": "2027-08-31",
                "viewCount": 207944911866
            },
            {
                "date": "2027-10-31",
                "viewCount": 240602476544
            }
        ],
        "subProjectionList": [
            {
                "date": "2025-12-31",
                "subscribers": 474284908
            },
            {
                "date": "2026-02-28",
                "subscribers": 482170380
            },
            {
                "date": "2026-04-30",
                "subscribers": 492421494
            },
            {
                "date": "2026-06-30",
                "subscribers": 505747942
            },
            {
                "date": "2026-08-31",
                "subscribers": 523072325
            },
            {
                "date": "2026-10-31",
                "subscribers": 545594023
            },
            {
                "date": "2026-12-31",
                "subscribers": 574872230
            },
            {
                "date": "2027-02-28",
                "subscribers": 612933899
            },
            {
                "date": "2027-04-30",
                "subscribers": 662414069
            },
            {
                "date": "2027-06-30",
                "subscribers": 726738290
            },
            {
                "date": "2027-08-31",
                "subscribers": 810359777
            },
            {
                "date": "2027-10-31",
                "subscribers": 919067710
            }
        ],
        "milestonesList": {
            "viewMilestoneList": [
                {
                    "views": 100000000000,
                    "days": 10
                },
                {
                    "views": 101000000000,
                    "days": 19
                }
            ],
            "subMilestoneList": [
                {
                    "subs": 449000000,
                    "days": 3
                },
                {
                    "subs": 450000000,
                    "days": 6
                }
            ]
        }
    },
    "infoCards": {
        "weekly": {
            "views": 584043320,
            "viewsDelta": -43923905,
            "subscribers": 1000000,
            "subscribersDelta": 0,
            "estimatedRevenueLowUsd": 513283,
            "estimatedRevenueHighUsd": 1428442,
            "estimatedRevenueDelta": 392001
        },
        "monthly": {
            "views": 2630254339,
            "viewsDelta": 344841051,
            "subscribers": 6000000,
            "subscribersDelta": -5000000,
            "estimatedRevenueLowUsd": 1759397,
            "estimatedRevenueHighUsd": 4904045,
            "estimatedRevenueDelta": 755607
        },
        "quarterly": {
            "views": 7800696295,
            "viewsDelta": -2057172798,
            "subscribers": 30000000,
            "subscribersDelta": 4000000,
            "estimatedRevenueLowUsd": 4967307,
            "estimatedRevenueHighUsd": 13850204,
            "estimatedRevenueDelta": -3353534
        },
        "yearly": {
            "views": 37473122061,
            "viewsDelta": 9864970260,
            "subscribers": 121000000,
            "subscribersDelta": -2000000,
            "estimatedRevenueLowUsd": 25806019,
            "estimatedRevenueHighUsd": 71916621,
            "estimatedRevenueDelta": -6646658
        },
        "allTime": {
            "views": 99159989754,
            "viewsDelta": 0,
            "subscribers": 449000000,
            "subscribersDelta": 0,
            "estimatedRevenueLowUsd": 108732527,
            "estimatedRevenueHighUsd": 302066112,
            "estimatedRevenueDelta": 0
        }
    },
    "similar": [
        {
            "channel": {
                "id": "UCIPPMRA040LQr5QPyJEbmXA",
                "displayName": "MrBeast Gaming",
                "handle": "mrbeastgaming",
                "subscriberCount": 51300000,
                "viewCount": 9582008347,
                "verified": false,
                "totalFollowing": 0,
                "country": "https://flagcdn.com/h240/us.png",
                "avatarUrl": "https://yt3.ggpht.com/ytc/AIdro_lMiSL6eHqg2dVxvll6mVMeXo1qVak4TZ4_7mEWdobRRCk=s800-c-k-c0x00ffffff-no-rj",
                "recentTests": 0,
                "totalTests": 0
            },
            "subscriberCount": 51300000,
            "subscriberCountDelta": 0,
            "viewCount": 9582008347,
            "viewCountDelta": 0,
            "videoCount": 156,
            "videoCountDelta": 0,
            "similarity": 90.14199877568466
        },
        {
            "channel": {
                "id": "UCwIWAbIeu0xI0ReKWOcw3eg",
                "displayName": "Unspeakable",
                "handle": "unspeakable",
                "subscriberCount": 19300000,
                "viewCount": 11801505877,
                "verified": false,
                "totalFollowing": 0,
                "country": "https://flagcdn.com/h240/us.png",
                "avatarUrl": "https://yt3.ggpht.com/ytc/AIdro_l9fWjJ_HbQgKpYTpi5Y21Cwow2-m0OBsxwzXyf6CE28ro=s800-c-k-c0x00ffffff-no-rj",
                "recentTests": 0,
                "totalTests": 0
            },
            "subscriberCount": 19300000,
            "subscriberCountDelta": 0,
            "viewCount": 11801505877,
            "viewCountDelta": 0,
            "videoCount": 1082,
            "videoCountDelta": 0,
            "similarity": 87.85321811555053
        },
        ...
    ],
    "averages": {
        "daily": {
            "viewsAverage": 91749870,
            "estimatedRevenueLowUsd": 56463,
            "estimatedRevenueHighUsd": 157473,
            "subsAverage": 200000
        },
        "weekly": {
            "viewsAverage": 642249090,
            "estimatedRevenueLowUsd": 395242,
            "estimatedRevenueHighUsd": 1102308,
            "subsAverage": 1400000
        },
        "monthly": {
            "viewsAverage": 2752496106,
            "estimatedRevenueLowUsd": 1693894,
            "estimatedRevenueHighUsd": 4724177,
            "subsAverage": 6000000
        },
        "yearly": {
            "viewsAverage": 39715953080,
            "estimatedRevenueLowUsd": 24441319,
            "estimatedRevenueHighUsd": 68165459,
            "subsAverage": 131000000
        },
        "uploadFrequency": 10
    },
    "shortVideos": [
        {
            "id": "PryTbmudhS8",
            "channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
            "channelName": "MrBeast",
            "channelAvatarUrl": "https://yt3.ggpht.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s800-c-k-c0x00ffffff-no-rj",
            "title": "Can We Stop World's Best Tennis Player",
            "description": "",
            "viewCount": 2185851,
            "likeCount": 103200,
            "commentCount": 2428,
            "uploadDate": "2025-10-31T16:00:02Z",
            "duration": 23,
            "shorts": true,
            "latestThumbnail": {
                "id": "080d1bfa574945beb9bc4c427107269b",
                "insertedAt": "2025-10-31T16:00:13Z",
                "imageUrl": "https://storage.googleapis.com/vs-img/PryT/bmudhS8/98492f2f1ae4cd9593a84b31df8041b5.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=vs-img-rw%40viewstats-383317.iam.gserviceaccount.com%2F20251031%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251031T224020Z&X-Goog-Expires=86400&X-Goog-SignedHeaders=host&X-Goog-Signature=adf3d7250f9dec061ebf8435db0958be7259d11bf764f47a9b52e6325825623d759c5b4777d079269622346d5eca9f1403985c135cb9b1c42bc562210d40b58840e8417ed11351637d1d0f87bb07c567582adb3da5b7e7810d4624e77f478db8b68740fa31db67edbfe98dca0cdc46e5d001c8c154e76205607d56684a2654d8b7290660fab215f018bc0d4cad1c4477423e83fc88eb9a9f66148184e130aa15bffffebb9ea901683e7ae0a78c693e451e19341b2c879c285c1f2cb7ca78617a0caba8b31bfb1b2844a93caf353ff65079977a03ec2fc14f8c6e252072fbdbb5fb9d40a7722a26b012bc2c10fc68c15dddc3bece80e560988b9f1090b533ec64"
            },
            "outlierScore": 0.35045715834225877,
            "averageViews": 2518548
        },
        ...
    ],
    "longVideos": [
        {
            "id": "Oo9EbArcQ1c",
            "channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
            "channelName": "MrBeast",
            "channelAvatarUrl": "https://yt3.ggpht.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s800-c-k-c0x00ffffff-no-rj",
            "title": "I Saved 1,000 Animals From Dying",
            "description": "Hey everyone, just wanted to leave this note here as a thank you to all of the organizations we got to work with! Obviously I’m just one person and without any kind of expertise, I look to these organizations and people for help in doing videos like this. This took months to put together and I can't thank these organizations enough for giving us the info we needed to be able to help!\n\nHelp save the next 1,000 animals:\nhttps://beastphilanthropy.org/savethenextthousand\n\nTo see how Lowe's is helping other communities across the nation, visit: https://www.lowes.com/howwehelp.\n\nSpecial thanks to WeQare by Qatar Airways Cargo for donating the flights to the lion rescue: https://www.qatarairways.com/en-us/about-qatar-airways/environmental-awareness/wildlife-protection.html\n\nLionWatch:  https://www.instagram.com/lionwatchprojectsa?igsh=MTV6Nnd4azdsb2FlOQ==\nAlveus Sanctuary: https://www.alveussanctuary.org/\nAngels for Minis: https://angelsforminis.com/\nMarine Mammal Care Center: https://marinemammalcare.org/\nLos Angeles County Animal Care Foundation: https://animalcare.lacounty.gov/\nFlamingo Gardens: https://flamingogardens.org/\nLucky's Place: https://www.facebook.com/LuckyBelle2021/\nPossumbilities: https://www.facebook.com/Possumbilities21/\nSalty Fox Sanctuary: https://www.saltyfoxsanctuary.com/\nSmithwick Station Rescue & Rehab: https://www.smithwickstation.org/\nSteadfast Wildlife: https://steadfastwildlife.weebly.com/\nTurtle Rescue of The Hamptons: https://www.turtlerescueofthehamptons.org/\nWaddle On Inn: https://www.waddleoninnrescue.org/\nWildlife Critters Circle of Life Rehabilitation Center: http://www.wlcritters.com/\nWild Nest Bird Rehab: https://www.wildnestbirdrehab.org/\nWild Souls Wildlife: https://wildsoulswildliferescuerehab.org/\n\nNew Merch - https://mrbeast.store\nCheck out Viewstats! - https://www.viewstats.com/\n\nSUBSCRIBE OR I TAKE YOUR DOG\n╔═╦╗╔╦╗╔═╦═╦╦╦╦╗╔═╗\n║╚╣║║║╚╣╚╣╔╣╔╣║╚╣═╣ \n╠╗║╚╝║║╠╗║╚╣║║║║║═╣\n╚═╩══╩═╩═╩═╩╝╚╩═╩═╝\n\nFor any questions or inquiries regarding this video, please reach out to chucky@mrbeastbusiness.com\n\nMusic Provided by https://www.extrememusic.com\n----------------------------------------------------------------\nfollow all of these or i will kick you\n• Facebook - https://www.facebook.com/MrBeast/\n• Twitter - https://twitter.com/MrBeast\n•  Instagram - https://www.instagram.com/mrbeast\n•  Im Hiring! - https://www.mrbeastjobs.com/\n--------------------------------------------------------------------",
            "viewCount": 67407127,
            "likeCount": 2263850,
            "commentCount": 36509,
            "uploadDate": "2025-10-25T16:00:01Z",
            "duration": 1056,
            "shorts": false,
            "latestThumbnail": {
                "id": "c84343362ce64c1fb1ff18b171218583",
                "insertedAt": "2025-10-27T00:25:30Z",
                "imageUrl": "https://storage.googleapis.com/vs-img/Oo9E/bArcQ1c/f6b590f55c74c67f06f2aa86232cab0b.jpg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=vs-img-rw%40viewstats-383317.iam.gserviceaccount.com%2F20251031%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20251031T215616Z&X-Goog-Expires=86400&X-Goog-SignedHeaders=host&X-Goog-Signature=30c3bd70ad2c2d7518df48145c5c97f9b1f59ecabf321fa704106f5cc3a4189a1ce5aa54ba6fd4b97e36e290b4c865d596a794eeddd17ec0ae07e40dc3e00c85a08c491c91824aac56965de4764b8242be776b5f2617d1372062ae276e4f4cff2061a5d8d083d37e94a2f802a8b9901b3bd9264c19d58eb6c4f8b0f5d636dfa5cb6c30a357f1e61f2033d146a08a448bc3c01b54ee1c4e829ec1588c8dbd9ef20d1f78d585de28370b8b622eea2e9632fd37c2f6b64f3ae22f98a9e16ac560ab7ddffdee1be701816fab50b40afd4a68a1238e283ccac1d7ff7b426300a884de841d338e0bffa62943c6ce8731abd83d7804e007f59847cf6b71470dc110f07d"
            },
            "outlierScore": 0.9782075181823828,
            "averageViews": 65737671
        },
        ...
    ]
}
```

#### Output Fields Explanation

- **id**: Unique identifier for the YouTube channel.
- **displayName**: Name of the YouTube channel (e.g., "Kill-eye").
- **handle**: Unique handle or username associated with the channel.
- **avatarUrl**: URL to the channel's avatar or profile picture.
- **country**: Country where the channel is based (e.g., "PH" for the Philippines).
- **description**: Channel description provided by the creator.
- **videoCount**: Total number of videos uploaded by the channel.
- **category**: Numeric ID representing the category of the channel.
- **viewCount**: Total number of views across all videos on the channel.
- **subscriberCount**: Total number of subscribers to the channel.
- **verified**: Boolean indicating if the channel is verified by YouTube.
- **totalFollowing**: Number of channels this channel is following.
- **bannerUrl**: URL to the channel's banner image.
- **globalViewsRanking**: Global ranking based on the number of views.
- **globalSubscribersRanking**: Global ranking based on the number of subscribers.
- **countrySubscriberRanking**: Ranking within the country based on the number of subscribers.
- **categorySubscriberRanking**: Ranking within the category based on the number of subscribers.
- **vpv90**: Views per video over the last 90 days.
- **recentTests**: Number of recent tests performed on the channel.
- **totalTests**: Total number of tests performed on the channel.
- **aboutMe**: The channel's ViewStats ranking block — `viewstatsRanking` (overall ViewStats rank), `globalViewsRanking`, `globalSubscribersRanking`, `countrySubscriberRanking`, `categorySubscriberRanking` — plus `dateCreated`, `country`, and `primaryCategory`.
- **featuredVideo**: The channel's featured video with full metadata (title, description, view/like/comment counts, duration, upload date).
- **stats7 / stats28 / stats90 / stats365 / statsAllTime**: Time-series of subscriber, view, and video counts (with daily estimated revenue) over the last 7 / 28 / 90 / 365 days and all-time.
- **shortVideos / longVideos**: Arrays of the channel's short-form and long-form videos, each with title, view/like/comment counts, upload date, duration, and outlier score. When `includeVideoRevenue` is enabled, each video also carries `estimatedRevenueUsd`, `estimatedLowRevenueUsd`, and `estimatedHighRevenueUsd`. When `includeVideoPerformance` is enabled, each video also carries `averages` (daily/weekly average views + revenue range) and `typicalPerformance` (expected min/max views by hours after upload).
- **longsAndShorts**: Aggregate view/upload split between long-form and short-form content across time windows.
- **similar**: Channels ViewStats considers similar to this one.
- **projections**: Subscriber/view milestone projections.
- **infoCards / averages**: Summary cards and average view/upload metrics across time windows.

### Explore More Scrapers

If you found this actor useful, be sure to check out our other powerful scrapers and actors at [memo23's Apify profile](https://apify.com/memo23). We offer a wide range of tools to enhance your web scraping and automation needs across various platforms and use cases.

### Support

- For issues or feature requests, please use the [Issues](https://console.apify.com/actors/RuOxoBM1bnc5pQ3TJ/issues) section of this actor.
- If you need customization or have questions, feel free to contact the author:
  - Author's website: <https://muhamed-didovic.github.io/>
  - Email: <muhamed.didovic@gmail.com>

### Additional Services

- Request customization or whole dataset: <muhamed.didovic@gmail.com>
- If you need anything else scraped, or this actor customized, email: <muhamed.didovic@gmail.com>
- For API services of this scraper (no Apify fee, just usage fee for the API), contact: <muhamed.didovic@gmail.com>
- Email: muhamed.didovic@gmail.com

# Actor input Schema

## `startUrls` (type: `array`):

YouTube channel URLs, ViewStats URLs, or bare @handles to scrape. Examples: https://www.youtube.com/@mrbeast, @mrbeast, mrbeast, https://www.viewstats.com/@cohhcarnage/channelytics.

## `includeProfileDetails` (type: `boolean`):

Set to true if you want to include profile details of each search result.

## `includeVideoRevenue` (type: `boolean`):

Enrich every scraped video (long + short) with its estimated revenue (estimatedRevenueUsd / low / high). Adds one request per video, so runs are slower and cost more — leave off unless you need per-video monetization estimates.

## `includeVideoPerformance` (type: `boolean`):

Enrich every scraped video with its averages (average daily/weekly views + revenue range) and a typicalPerformance curve (expected min/max views by hours-after-upload, useful for outlier analysis). Adds two requests per video, so runs are slower and cost more — leave off unless you need per-video benchmarking.

## `maxItems` (type: `integer`):

Maximum number of listings/items that will be scraped.

## `maxConcurrency` (type: `integer`):

Maximum number of pages that can be processed at the same time.

## `minConcurrency` (type: `integer`):

Minimum number of pages that will be processed at the same time.

## `maxRequestRetries` (type: `integer`):

Number of times the crawler will retry a failed request before giving up.

## `proxy` (type: `object`):

Specifies proxy servers that will be used by the scraper in order to hide its origin.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#proxy-configuration' target='_blank' rel='noopener'>Proxy configuration</a> in README.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.youtube.com/@mrbeast",
    "@cohhcarnage",
    "https://www.viewstats.com/@cohhcarnage/channelytics"
  ],
  "includeProfileDetails": false,
  "includeVideoRevenue": false,
  "includeVideoPerformance": false,
  "maxItems": 30,
  "maxConcurrency": 50,
  "minConcurrency": 1,
  "maxRequestRetries": 100,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "startUrls": [
        "https://www.youtube.com/@mrbeast",
        "@cohhcarnage",
        "https://www.viewstats.com/@cohhcarnage/channelytics"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/viewstats-scraper").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 = {
    "startUrls": [
        "https://www.youtube.com/@mrbeast",
        "@cohhcarnage",
        "https://www.viewstats.com/@cohhcarnage/channelytics",
    ],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/viewstats-scraper").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 '{
  "startUrls": [
    "https://www.youtube.com/@mrbeast",
    "@cohhcarnage",
    "https://www.viewstats.com/@cohhcarnage/channelytics"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call memo23/viewstats-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,memo23/viewstats-scraper"
        }
    }
}

```

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/0W4hjkGOgG0a7jLNA/builds/ND88xQ2iQD9xfhrVt/openapi.json
