# 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:** 63 total users, 4 monthly users, 100.0% 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/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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.
- Ability to scrape both search results and detailed channel analysis pages for deeper insights.
- 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,
    "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`.
- **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.

### Explore More Scrapers

If you found this Apify Smartbuyglasses Scraper 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.

## `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,
  "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("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=memo23/viewstats-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Viewstats.com Search Results and Channel Details Scraper",
        "description": "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.",
        "version": "0.0",
        "x-build-id": "tVW0SOPfVCiZu1wJb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~viewstats-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-viewstats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/memo23~viewstats-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-viewstats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/memo23~viewstats-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-viewstats-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "YouTube channel URLs, ViewStats URLs, or bare @handles to scrape. Examples: https://www.youtube.com/@mrbeast, @mrbeast, mrbeast, https://www.viewstats.com/@cohhcarnage/channelytics.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeProfileDetails": {
                        "title": "Include profile details as well",
                        "type": "boolean",
                        "description": "Set to true if you want to include profile details of each search result.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max number of listings/items per crawl/scrape",
                        "type": "integer",
                        "description": "Maximum number of listings/items that will be scraped.",
                        "default": 30
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "type": "integer",
                        "description": "Maximum number of pages that can be processed at the same time.",
                        "default": 50
                    },
                    "minConcurrency": {
                        "title": "Min Concurrency",
                        "type": "integer",
                        "description": "Minimum number of pages that will be processed at the same time.",
                        "default": 1
                    },
                    "maxRequestRetries": {
                        "title": "Max Request Retries",
                        "type": "integer",
                        "description": "Number of times the crawler will retry a failed request before giving up.",
                        "default": 100
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "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.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
