Get Youtube videos from multiple @channels in one fast run avatar
Get Youtube videos from multiple @channels in one fast run

Pricing

$29.00/month + usage

Go to Apify Store
Get Youtube videos from multiple @channels in one fast run

Get Youtube videos from multiple @channels in one fast run

Get the videos id, title and links from a Youtube page. Multiple Youtube urls in one fast run.

Pricing

$29.00/month + usage

Rating

5.0

(1)

Developer

scraping automation

scraping automation

Maintained by Community

Actor stats

3

Bookmarked

84

Total users

2

Monthly active users

12 days ago

Last modified

Share

YouTube Channel Video Scraper

A powerful Apify actor that extracts video information from YouTube channels. This tool allows you to scrape video IDs, titles, and URLs from multiple YouTube channels in a single run. If you focus on one channels and need more features please see https://apify.com/runtime/youtube-channel-scraper

Features

  • Extract video data from multiple YouTube channels simultaneously
  • Get video IDs, titles, and direct URLs
  • Extract view counts (e.g., "12K views", "1.2M views")
  • Extract publication dates (e.g., "2 weeks ago", "1 month ago")
  • NEW: Convert views to integers (e.g., "2.5K views" → 2500)
  • NEW: Convert dates to days (e.g., "1 month ago" → 30)
  • NEW: Filter videos by publication date (last 1, 7, 15, 30, 60, or 90 days)
  • NEW: Filter videos by minimum views (e.g., only videos with 1000+ views)
  • Handles infinite scrolling and lazy loading
  • Simple and efficient data collection
  • JSON output format for easy integration
  • No API key required

Use Cases

  • Content research and analysis
  • Video cataloging
  • Channel monitoring
  • Data collection for analytics
  • Content aggregation
  • Channel Activity Tracking: Use filterByDays to follow a channel's recent activity and update your database periodically (e.g., daily or weekly) to track only the latest content without re-scraping the entire channel history

Input Format

Provide an array of YouTube channel URLs in the following format:

https://www.youtube.com/@channelname

Basic Input Example:

{
"urls": [
"https://www.youtube.com/@channel1",
"https://www.youtube.com/@channel2"
]
}

Advanced Input Options:

{
"urls": [
"https://www.youtube.com/@channel1"
],
"convertViewsToInteger": true,
"convertDateToDays": true,
"filterByDays": 30,
"minViews": 1000
}

Input Parameters:

  • urls (required): Array of YouTube channel URLs

    • Supports formats: @channelname, /c/channelname, /channel/channelname
    • Automatically normalizes to /videos endpoint
  • convertViewsToInteger (optional, default: false):

    • If true, converts view strings to integers
    • Example: "2.5K views"2500, "1.2M views"1200000
    • Supports: K (thousands), M (millions), B (billions)
  • convertDateToDays (optional, default: false):

    • If true, converts date strings to number of days
    • Example: "1 month ago"30, "2 weeks ago"14
    • Approximations: 30 days/month, 365 days/year
  • filterByDays (optional, default: 60):

    • Filters videos published within the last N days
    • Options: 0 (all videos), 1, 7, 15, 30, 60, 90
    • Default: 60 (returns videos from the last 60 days)
    • Example: 30 returns only videos from the last 30 days
    • Note: The scraper will automatically stop scrolling early when enough recent videos are found, optimizing performance
    • Use Case: Perfect for tracking channel activity and keeping your database updated periodically. Instead of scraping the entire channel history each time, you can run the scraper daily/weekly with filterByDays: 7 to capture only the latest content, making it ideal for monitoring channels and staying up-to-date with new releases
  • minViews (optional, default: 0):

    • Filters videos with at least this number of views (integer)
    • Set to 0 or leave empty to disable this filter
    • Example: 1000 returns only videos with at least 1000 views
    • Note: Works with both string format ("2.5K views") and integer format (if convertViewsToInteger is enabled). The filter automatically converts view strings to integers for comparison.
    • Use Case: Useful for finding popular content, filtering out low-engagement videos, or focusing on videos that have reached a certain view threshold

Output Format

The actor returns a structured JSON array containing channel information and their respective videos:

[
{
"title": "Channel1 - YouTube",
"videos": [
{
"id": "RfTgYhUU791",
"url": "https://www.youtube.com/watch?v=RfTgYhUU791",
"title": "Video one of page",
"views": "12K views",
"publishedDate": "2 weeks ago"
},
{
"id": "RfTgYhUU792",
"url": "https://www.youtube.com/watch?v=RfTgYhUU792",
"title": "Video two of page",
"views": "1.2M views",
"publishedDate": "1 month ago"
}
// ... more videos
]
}
]

Data Fields Explained

Each video object contains the following fields:

  • id: Unique YouTube video identifier
  • url: Direct link to the video
  • title: Video title as displayed on YouTube
  • views: View count (format depends on convertViewsToInteger option)
    • Default: String format (e.g., "12K views", "1.2M views", "500 views")
    • With convertViewsToInteger: true: Integer (e.g., 12000, 1200000, 500)
  • publishedDate: Publication date (format depends on convertDateToDays option)
    • Default: String format (e.g., "2 weeks ago", "1 month ago", "3 days ago")
    • With convertDateToDays: true: Number of days (e.g., 14, 30, 3)

Note: View counts and publication dates are extracted from YouTube's metadata and may not be available for all videos depending on YouTube's display settings.

Example Output with Conversions:

With convertViewsToInteger: true and convertDateToDays: true:

{
"id": "RfTgYhUU791",
"url": "https://www.youtube.com/watch?v=RfTgYhUU791",
"title": "Video Title",
"views": 2500,
"publishedDate": 14
}

With filterByDays: 30:

  • Only videos published within the last 30 days are included in the output

Advanced Usage

For more advanced features and channel-specific scraping, check out our dedicated YouTube Channel Scraper.

Limitations

  • Rate limiting may apply based on YouTube's policies
  • Some channels may have restricted access
  • Video count may be limited by YouTube's pagination

Support

For questions, issues, or feature requests, make an issue.

This project is intended for educational and research purposes only. Use of this Actor must comply with Youtube's Terms of Service and robots.txt policies.

  • Compliance: Ensure your scraping activities do not violate Youtube's policies.
  • Ethical Considerations: Avoid aggressive scraping practices that might harm Youtube's infrastructure.
  • Intended Use: For commercial or production use, consider exploring Youtube's official API solutions.