YouTube Channel Scraper avatar

YouTube Channel Scraper

Pricing

from $0.80 / 1,000 video results

Go to Apify Store
YouTube Channel Scraper

YouTube Channel Scraper

Get every video, Short and stream of any YouTube channel, plus channel stats: subscribers, total views, links, country. 0.80 USD per 1,000 videos, no minimum charge per run.

Pricing

from $0.80 / 1,000 video results

Rating

0.0

(0)

Developer

Brahim Sliti

Brahim Sliti

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

11 days ago

Last modified

Share

Give it YouTube channels, get back their videos with views, durations and publish dates, plus the channel's own stats: subscribers, total views, video count, country, links. You get one row per video, with the channel info attached to each row.

Need only the channel stats? Set the video count to 0 and you get one row per channel.

What people use it for

  • Competitor and creator tracking. Pull the latest videos of 50 channels every week and see what's getting views.
  • Influencer research. Compare subscriber counts, posting frequency and average views before you pick who to work with.
  • Content analysis. Get a channel's full back catalogue, sorted by most popular, to see which topics work.
  • Building a channel database. Run thousands of channels with 0 videos and get one clean row of stats each.

How to use it

  1. Add channels in Channel URLs / handles / ids, one per line: @mkbhd, https://www.youtube.com/@veritasium or a UC... id.
  2. Set how many items you want per channel: Max videos (default 50), Max Shorts and Max streams (both off by default).
  3. Optional: Sort videos by newest, most popular or oldest, and an Oldest post date to stop at a date (2026-01-01 or 30 days).
  4. Click Start. Export as JSON, CSV or Excel, or pull the results through the API.
{
"startUrls": ["@mkbhd", "https://www.youtube.com/@veritasium"],
"maxResults": 50,
"sortVideosBy": "POPULAR"
}

What you get

{
"id": "DkUuOr21v4s",
"title": "Xiaomi 18 Pro Max: They've Done It Again!",
"url": "https://www.youtube.com/watch?v=DkUuOr21v4s",
"viewCount": 4400000,
"duration": "11:56",
"durationSeconds": 716,
"publishedAt": "2026-09-23T09:00:00.000Z",
"type": "video",
"thumbnailUrl": "https://i.ytimg.com/vi/DkUuOr21v4s/hq720.jpg",
"channelName": "Marques Brownlee",
"aboutChannelInfo": {
"numberOfSubscribers": 21300000,
"channelTotalViews": 5690904427,
"channelTotalVideos": 1853,
"channelLocation": "United States",
"channelJoinedDate": "2008-03-21T00:00:00.000Z",
"channelDescriptionLinks": [{ "text": "Twitter", "url": "https://twitter.com/MKBHD" }],
"isChannelVerified": true
}
}
  • Every video, Short or stream comes with views, duration, thumbnail and publish date.
  • aboutChannelInfo carries the channel's stats, description, links, avatar and banner, so you don't need a second actor for them.
  • Turn on Include video details to also get likes, comment count, full description and the exact publish date of each video. Same price per video.
  • Without video details, YouTube's channel page only gives relative dates ("3 weeks ago"). We convert them to an ISO date and flag them with dateIsApproximate: true.

Pricing

0.80 USD per 1,000 videos. Shorts and streams cost the same, and so does a channel-stats row when you set videos to 0. Likes and comment counts are included at no extra cost when you turn them on.

There is no minimum charge per run: one channel with 10 videos costs 0.008 USD. Error rows are free, and there's no monthly fee or Apify platform usage on top.

Example: the last 50 videos of 20 channels (1,000 videos) costs 0.80 USD.

Good to know

  • Shorts get their duration and exact publish date from the Short's own page, same as videos and streams. If you only need Shorts, our YouTube Shorts Scraper also gives you likes and comment count.
  • This actor does not download videos or captions. For captions, use our YouTube Transcript Scraper.
  • Set Language to the channel's own language if you want the original titles: when a creator translated their titles, YouTube shows the translation matching your language.
  • You don't need a proxy, a YouTube account or a YouTube API key.

Use it from n8n, Make or an API

  • Small inputs: call run-sync-get-dataset-items and read the items back directly. Set Time budget (seconds) (default 240) to how long you are willing to wait: the actor stops picking up new channels/tabs before that point and returns what it already has, so you never hit Apify's 300 second run-sync limit and lose the whole run. Any channel left unfinished comes back as a TIME_BUDGET_EXCEEDED row instead of being silently dropped.
  • Big inputs: start the run with POST /v2/acts/vakitek~youtube-channel-videos/runs, poll GET /v2/actor-runs/<runId> (or add waitForFinish=60) until the status is SUCCEEDED, then read GET /v2/datasets/<datasetId>/items. Set Time budget (seconds) to 0 (no limit) for this pattern.

Errors

A bad input never crashes the run. It becomes a row with an error code, and you are not charged for it.

errorWhat happenedRetry?
NOT_FOUNDThe handle, URL or id doesn't match a real channelNo
NO_RESULTSThe channel exists but has nothing in the tabs you asked forNo
INVALID_INPUTAn option value (for example a date) is invalidNo
PARSE_ERRORYouTube changed its page and we could not read it; we fix these fast, open an issueNo
BLOCKEDYouTube refused us for now, usually an age-restricted channel, even after trying every proxy tierYes
UPSTREAM_ERRORSomething went wrong on YouTube's side or oursYes
UPSTREAM_UNAVAILABLEOur API was unreachableYes
TIME_BUDGET_EXCEEDEDThe time budget ran out before this channel finishedYes

Some rows also carry a legacyError field with the old, pre-unification code name (for example CHANNEL_NOT_FOUND or LOGIN_REQUIRED) so a pipeline still matching on it keeps working while it migrates to error.

Reliability

Success rate, last 30 days: 99.8 % of 1041 results across 32 runs (updated 2026-10-10). Failures counted: blocks, errors on our side, and runs that failed or timed out. Not counted: videos with no captions, private or deleted videos, bad links.

FAQ

How many videos can I get per channel? All of them. Set Max videos as high as you need and the actor goes through the whole channel.

I already use another YouTube channel actor. Do I have to change my code? Probably not. The input startUrls and the output field names (aboutChannelInfo, viewCount, channelName...) follow the most used channel scraper on the Store.

Can I call it from my code or from an AI agent? Yes, like any Apify actor: REST API, the Python and JavaScript clients, or the Apify MCP server. The examples are in the API tab.

Something broke or a field is missing? Open an issue on this page. We read every one and usually answer within a day.