YouTube Scraper — Videos, Channels & Search Results avatar

YouTube Scraper — Videos, Channels & Search Results

Pricing

Pay per usage

Go to Apify Store
YouTube Scraper — Videos, Channels & Search Results

YouTube Scraper — Videos, Channels & Search Results

Extract YouTube video data from search results and channel pages. Scrape titles, view counts, durations, thumbnails, publish dates, channel info, subscriber counts, and descriptions. Sort by relevance, date, views, or rating. Perfect for content research, competitor analysis, influencer discovery, a

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

5

Monthly active users

6 days ago

Last modified

Categories

Share

YouTube Scraper — Extract Videos, Channels & Search Data

Scrape YouTube search results and channel pages without using the official API. Extract video titles, view counts, durations, thumbnails, publish dates, channel stats, and subscriber counts at scale.

What It Does

  • Search scraping — Enter any search query and get structured data for every YouTube video result, sorted by relevance, date, views, or rating
  • Channel scraping — Provide channel URLs to extract their uploaded videos, subscriber counts, total views, and channel metadata
  • No API key needed — Works by parsing YouTube's public HTML pages, so you never need a Google API key or quota
  • Pay-per-result pricing — Only pay for the data you actually receive, starting at $0.003 per video

Input Parameters

ParameterTypeDefaultDescription
searchQueriesarray["coffee shop"]YouTube search queries to scrape (e.g., ["react tutorial", "python tips"])
channelUrlsarray["https://www.youtube.com/@MrBeast"]YouTube channel URLs to scrape videos from
maxVideosinteger10Maximum number of videos to extract per query or channel (max 500)
sortBystring"relevance"Sort search results: relevance, date, view_count, or rating
scrapeChannelInfobooleantrueAlso extract channel metadata (subscribers, total views, description)
maxConcurrencyinteger3Number of parallel browser sessions
proxyConfigurationobject{"useApifyProxy": true}Proxy settings for avoiding blocks

Output Example

Each video result includes the following fields:

{
"type": "video",
"title": "I Built 100 Wells In Africa",
"videoId": "hQKfk2aGzis",
"videoUrl": "https://www.youtube.com/watch?v=hQKfk2aGzis",
"thumbnailUrl": "https://i.ytimg.com/vi/hQKfk2aGzis/hq720.jpg",
"viewCount": 214000000,
"viewCountText": "214M views",
"duration": "18:22",
"publishedDate": "2024-01-21T00:00:00.000Z",
"publishedText": "1 year ago",
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"descriptionSnippet": "We built 100 wells across Africa to bring clean drinking water to communities that need it most.",
"scrapedAt": "2026-03-03T14:22:05.123Z"
}

When scrapeChannelInfo is enabled, you also get channel metadata:

{
"type": "channel",
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"description": "SUBSCRIBE FOR A COOKIE!",
"subscriberCount": 358000000,
"subscriberCountText": "358M subscribers",
"videoCount": 850,
"videoCountText": "850 videos",
"totalViews": 62500000000,
"totalViewsText": "62.5B views",
"avatarUrl": "https://yt3.googleusercontent.com/ytc/AIdro_mKz...",
"bannerUrl": "https://yt3.googleusercontent.com/banner/abc123...",
"joinDate": "2012-02-20",
"country": "US",
"keywords": ["MrBeast", "philanthropy", "challenges"],
"scrapedAt": "2026-03-03T14:22:08.456Z"
}

Use Cases

  • Content research — Find trending videos in any niche to plan your own content strategy
  • Competitor analysis — Track competitor channels' upload frequency, view counts, and engagement
  • Influencer discovery — Search for creators by topic and compare subscriber counts and view metrics
  • Market research — Analyze which video topics and formats get the most views in your industry
  • Academic research — Collect large datasets of YouTube metadata for media studies or trend analysis
  • Ad placement research — Identify high-performing channels and videos for YouTube ad targeting

API Usage

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/youtube-scraper').call({
searchQueries: ['machine learning tutorial'],
maxVideos: 50,
sortBy: 'view_count',
scrapeChannelInfo: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('sovereigntaylor/youtube-scraper').call(run_input={
'searchQueries': ['machine learning tutorial'],
'maxVideos': 50,
'sortBy': 'view_count',
'scrapeChannelInfo': True,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl "https://api.apify.com/v2/acts/sovereigntaylor~youtube-scraper/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"searchQueries": ["machine learning tutorial"],
"maxVideos": 50,
"sortBy": "view_count",
"scrapeChannelInfo": true
}'

Pricing

This actor uses pay-per-event pricing — you only pay for results successfully scraped.

EventPrice
Video scraped$0.003
Channel metadata scraped$0.005

Example: Scraping 100 videos + 5 channel profiles = (100 x $0.003) + (5 x $0.005) = $0.325

Limitations

  • YouTube may rate-limit or block requests during heavy scraping — use proxy rotation and moderate concurrency
  • View counts and subscriber numbers are approximate (YouTube rounds large numbers)
  • Video descriptions are returned as snippets, not full text
  • Live streams and premieres may appear in results but have limited metadata
  • Maximum 500 videos per search query or channel per run