YouTube Channel Videos & Stats Scraper avatar

YouTube Channel Videos & Stats Scraper

Pricing

from $0.70 / 1,000 video scrapeds

Go to Apify Store
YouTube Channel Videos & Stats Scraper

YouTube Channel Videos & Stats Scraper

Scrape all videos from YouTube channels. Get titles, views, duration, publish dates, thumbnails, and optional enriched stats (likes, comments, category, tags).

Pricing

from $0.70 / 1,000 video scrapeds

Rating

0.0

(0)

Developer

LurkAPI

LurkAPI

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

3

Monthly active users

a day ago

Last modified

Share

Enter any YouTube channel and get a clean list of every video with metadata and stats. No coding required.

๐ŸŽฌ What it does

Give it one or more YouTube channels (or playlists), and it will:

  1. Pull every video from each channel with title, views, duration, publish date, and thumbnail
  2. Filter and sort by content type, date range, title keywords, or view count
  3. Return structured results you can export as JSON, CSV, or Excel

You can scrape up to 200 channels per run, with up to 5,000 videos each. Results appear in real time in the Output tab as they are scraped.

๐Ÿ“‹ How to use it

Step 1: Enter your channels

Add one or more YouTube channels. Supported formats:

  • @mkbhd (handle)
  • https://www.youtube.com/@mkbhd (channel URL)
  • UCBJycsmduvYEL83R_U4JriQ (channel ID)
  • https://www.youtube.com/playlist?list=PLDIoUOhQQPl... (playlist URL)
  • PLDIoUOhQQPl... (playlist ID)
  • Any video URL (the scraper will find its channel automatically and scrape all videos from it, not just the linked video)

Step 2: Configure your filters

  • Content Type: All content, videos only, Shorts only, or livestreams only.
  • Sort By: Newest first (default), oldest first, or most viewed.
  • Published After / Before: Only get videos from a specific date range.
  • Title Filter: Only keep videos whose title contains specific keywords. Separate multiple keywords with commas (e.g. review, unboxing).
  • Max Videos Per Channel: Default is 50. Set to 0 for unlimited (up to 5,000).

Step 3: Run it

Click Start. Results appear in real time in the Output tab. You do not have to wait for the full run to finish. When done, export your results from the Output tab.

For developers

You can call this tool through the Apify API:

{
"channels": ["@mkbhd", "@veritasium"],
"maxVideosPerChannel": 100,
"contentType": "all",
"sortBy": "newest",
"includeVideoStats": true,
"concurrency": 3
}

๐Ÿ”„ Incremental scraping

If you scrape the same channels regularly, pass video IDs from your previous run to the skipVideoIds input. The scraper will skip those videos and only return new ones. This saves time and cost on repeated runs.

Example workflow:

  1. Run the scraper for @mkbhd with maxVideosPerChannel: 100
  2. Save the videoId column from the results
  3. Next week, run again with the same channel and pass the saved IDs in skipVideoIds
  4. Only new videos since your last run will be returned

๐Ÿ“Š Output

Every result includes a status field. When it says "Success", the video was scraped correctly. If something went wrong, the status will tell you what happened and what to do about it.

Free fields (every video)

FieldDescription
status"Success" or an error message explaining what went wrong
channelNameChannel name
channelHandleChannel handle (e.g. "@mkbhd")
channelIdYouTube channel ID
channelUrlLink to the channel
subscriberCountSubscriber count (e.g. "20.9M")
totalChannelViewsTotal views across all channel videos (e.g. "5,347,960,537")
totalChannelVideosTotal number of videos on the channel (e.g. "1,814")
channelCountryChannel country (e.g. "United States")
channelJoinedDateWhen the channel was created (e.g. "Mar 21, 2008")
isVerifiedWhether the channel has a verified badge
videoIdYouTube video ID
videoUrlDirect link to the video
titleVideo title
thumbnailUrlLink to the video thumbnail
viewCountView count as a number
viewCountTextView count as text (e.g. "3.4M views")
publishedTextWhen it was published (e.g. "2 days ago")
durationVideo length (e.g. "12:34")
durationSecondsVideo length in seconds
contentType"video", "short", "livestream-active", "livestream-completed", or "livestream-upcoming"
playlistIdPlaylist ID (only when scraping a playlist)
playlistTitlePlaylist title (only when scraping a playlist)
scrapedAtWhen this data was collected (ISO timestamp)

Video Stats add-on (paid)

Enable Include Video Stats to get these extra fields per video:

FieldDescription
descriptionFull video description
likeCountNumber of likes
commentCountNumber of comments
categoryYouTube category (e.g. "Science & Technology")
tagsArray of video tags
publishedDateExact publish date (e.g. "Apr 1, 2026")

๐ŸŒ Proxy settings

By default, the scraper uses Apify's datacenter proxies.

  • Automatic (default): Apify selects the best proxy.
  • Datacenter: Fast and cheap. Works for most runs.
  • Residential: Use if you get frequent blocks or empty results. Recommended for large runs (500+ videos).
  • Own proxies: Provide your own proxy URLs.
  • No proxy: Disable proxies. There will be no IP rotation if you get blocked.

๐Ÿ’ฐ Pricing

What you pay forPriceWhen it's charged
Base (every video)$1.00 per 1,000 videosFor each video in the output
Video Stats add-on$0.25 per 1,000 videosOnly when the add-on is enabled

Example: Scraping 2 channels with 500 videos each (1,000 total) costs $1.00. With Video Stats enabled, it costs $1.25.

๐Ÿ’ก Good to know

  • Start small: Try a single channel with 10-20 videos first to test your filters before running large batches.
  • Use incremental scraping for repeated runs to avoid paying for the same videos twice.
  • Shorts have limited metadata: The Shorts feed does not include publish dates or duration. Enable Video Stats to get exact publish dates for Shorts.
  • Video URL input resolves to the full channel: If you paste a video URL, the scraper will find its channel and scrape all channel videos, not just that one video.
  • Playlists have limited channel data: When scraping playlists, subscriber count and channel metadata come from each video's author, not from a channel page.
  • Results are stored in your Apify storage. How long they are kept depends on your Apify plan.

โ“ FAQ

Why are some fields empty (null)? Fields like description, likeCount, category, and tags require the Video Stats add-on. Enable it in the input to get those fields. Some fields like publishedDate (exact date) also require the add-on. The free publishedText field gives you a relative date (e.g. "2 days ago").

Why did my run return no results? Check that the channel URL or handle is correct. If the channel has no public videos, or all videos were filtered out by your date/title filters, you will see a message explaining what happened. Try removing filters to confirm the channel has content.

Which proxy should I use? Start with the default (datacenter). If you get frequent blocks or empty results, switch to residential proxies in the Proxy Configuration section.

Can I scrape playlists? Yes. Paste a playlist URL or playlist ID (starting with "PL") in the channels input. Videos from playlists include playlistId and playlistTitle in the output.

๐Ÿ”— Other tools you might like

โš–๏ธ Disclaimer

This tool is intended for personal, research, and educational use. You are responsible for complying with YouTube's Terms of Service and applicable laws in your jurisdiction. The developer is not liable for misuse. Data availability depends on YouTube at run time.

Keywords: youtube channel scraper, youtube video scraper, youtube stats, channel videos, youtube data extraction, youtube api