YouTube

YouTube Channel Scraper

[Fast + Cheap] YouTube channel scraper: scrape YouTube channel pages for subscriber, video and view counts, join date, country, description and recent YouTube channel videos, for creator research and audience tracking.

Run on Apify36 userson Apify, measured 2026-11-04

What it extracts

Every field below comes from the Actor’s published dataset schema.

FieldDescriptionType
channel.urlChannel URLlink
channel.subscriberCountSubscriberstext
channel.videoCountVideostext
channel.viewCountViewstext
channel.joinedDateJoinedtext
channel.countryCountrytext
channel.descriptionDescriptiontext
scrapedAtScraped atdate

Input parameters

Generated from the Actor’s input schema — the same fields the Apify console shows.

ParameterTypeRequiredDescription
startUrlsarrayRequiredYouTube channel URLs to scrape, for example https://www.youtube.com/@MrBeast. Handle, /channel/, /c/ and /user/ URLs are all accepted, and each channel produces one dataset item.
maxItemsintegerOptionalStop after this many channels have been stored in the dataset. Leave empty to scrape every start URL.
maxVideosintegerOptionalMaximum number of videos collected from each channel.
sortBystringOptionalAccepted for backwards compatibility. Videos are currently returned in the channel's default order on its Videos tab.
proxyConfigurationobjectOptionalProxy settings. The scraper runs without a proxy by default; enable Apify Proxy if your runs start getting blocked or you need a specific country.

API access

Run this Actor from your own code over the Apify API.

Inputjson
{
  "startUrls": [
    {
      "url": "https://www.youtube.com/@MrBeast"
    },
    {
      "url": "https://www.youtube.com/@mkbhd"
    },
    {
      "url": "https://www.youtube.com/@NASA"
    }
  ]
}
REST — run and get resultsbash
curl -X POST \
  "https://api.apify.com/v2/acts/logical_scrapers~youtube-channel-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"startUrls":[{"url":"https://www.youtube.com/@MrBeast"},{"url":"https://www.youtube.com/@mkbhd"},{"url":"https://www.youtube.com/@NASA"}]}'
JavaScript — apify-clientjavascript
import { ApifyClient } from 'apify-client'

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' })

const run = await client.actor('logical_scrapers~youtube-channel-scraper').call({
  "startUrls": [
    {
      "url": "https://www.youtube.com/@MrBeast"
    },
    {
      "url": "https://www.youtube.com/@mkbhd"
    },
    {
      "url": "https://www.youtube.com/@NASA"
    }
  ]
})

const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
Python — apify-clientpython
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("logical_scrapers~youtube-channel-scraper").call(run_input={
    "startUrls": [
        {
            "url": "https://www.youtube.com/@MrBeast",
        },
        {
            "url": "https://www.youtube.com/@mkbhd",
        },
        {
            "url": "https://www.youtube.com/@NASA",
        },
    ],
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

Runs are executed on Apify. Create an API token in your Apify account, then call the Actor over REST or with the official client for your language. The same input object works in the Apify console, so you can test interactively before automating.

Pricing

Pay per event — you are charged for each successfully scraped result item.

Current rates are published on the Apify listing and can change, so they are not duplicated here. See pricing on Apify

Reliability

99.7% run success rate

Measured across all public Goldmine Actors on Apify, 2026-11-04. This is an account-level figure, not a per-Actor benchmark — per-Actor speed and completeness benchmarks are not yet published. Source.

Field and input tables are generated from this Actor's published schemas. Usage figures measured 2026-11-04 from the Apify listing.