Youtube Profile & Channel List Scraper avatar
Youtube Profile & Channel List Scraper

Pricing

Pay per usage

Go to Apify Store
Youtube Profile & Channel List Scraper

Youtube Profile & Channel List Scraper

Developed by

Transcript Downloader

Transcript Downloader

Maintained by Community

Verified 99.4% Success Rate. Extract YouTube channel profiles & video lists. Scrape subscriber counts, metadata & transcripts using Transcript Downloader API. Perfect for competitor analysis, content research & market intelligence.

0.0 (0)

Pricing

Pay per usage

0

1

1

Last modified

7 minutes ago

๐Ÿ“บ Youtube Profile & Channel List Scraper

Verified 99.4% Success Rate. Extract YouTube channel profiles & video lists. Scrape subscriber counts, metadata & transcripts using Transcript Downloader API. Perfect for competitor analysis, content research & market intelligence.


โœจ Features

  • ๐Ÿข Channel profile extraction: Get channel metadata, subscriber count, total views, and creation date
  • ๐Ÿ“‹ Complete video lists: Extract all videos from a channel with basic metadata
  • ๐Ÿ“Š Optional detailed metadata: Fetch full transcripts and metadata for individual videos
  • ๐Ÿ” Batch processing: Handle multiple channels simultaneously
  • โš™๏ธ Concurrency control: Adjust processing speed with configurable limits
  • ๐Ÿ”„ Automatic retries: Handles API errors and retryable failures
  • ๐Ÿšฆ Rate limiting: Built-in delays to respect API limits
  • ๐Ÿ’ฐ Cost tracking: Monitor API usage and costs per channel
  • ๐Ÿง  Error tracking: All failures logged with detailed error information

๐Ÿ”ง Input Parameters

The actor accepts the following input:

ParameterTypeRequiredDefaultDescription
channelUrlsarrayโœ… Yes-List of YouTube channel URLs (supports @username and /channel/)
apiTokenstringโœ… Yes-Your Transcript Downloader API bearer token
includeVideoDetailsbooleanNofalseWhether to fetch complete metadata for each video
includeCommentsbooleanNofalseWhether to fetch comments (only shown when includeVideoDetails=true)
maxConcurrencynumberNo2Max concurrent channel requests (range: 1-5)
videoLimitnumberNo50Max videos to process per channel when includeVideoDetails=true

๐Ÿ“ฅ Sample Input

{
"channelUrls": [
"https://www.youtube.com/@google",
"https://www.youtube.com/channel/UCK8sQmJBp8GCxrOtXWBpyEA"
],
"apiToken": "your-api-token",
"includeVideoDetails": false,
"includeComments": false,
"maxConcurrency": 2,
"videoLimit": 50
}

๐Ÿ“ค Output Format

Each channel will produce a dataset item with the following structure:

Basic Channel Profile Output

{
"channelUrl": "https://www.youtube.com/@google",
"profile": {
"youtube_id": "UCK8sQmJBp8GCxrOtXWBpyEA",
"title": "Google",
"url": "https://www.youtube.com/@google",
"thumbnail": "https://yt3.ggpht.com/...",
"description": "Channel description...",
"total_media": 1234,
"subscriber_count": 5000000,
"total_views": 100000000,
"country": "US",
"creation_date": "2005-02-14 23:41:51"
},
"videos": [
{
"youtube_id": "abc123",
"title": "Video Title",
"thumbnail": "https://i.ytimg.com/vi/abc123/default.jpg",
"published_at": "2024-01-01 12:00:00",
"duration": 300
}
],
"summary": {
"totalVideos": 1234,
"videosInResponse": 1234,
"videosWithDetails": 0,
"totalCost": "0.500",
"processingTime": "15.2s"
},
"downloadInfo": {
"id": "01K31YQ38SNP30F7218NX4SMN7",
"type": "list",
"cost": "0.500",
"status": "success",
"created_at": "2025-01-23T20:01:17.000000Z"
}
}

With Detailed Video Metadata

When includeVideoDetails: true, each video will include additional metadata:

{
"youtube_id": "abc123",
"title": "Video Title",
"thumbnail": "https://i.ytimg.com/vi/abc123/default.jpg",
"published_at": "2024-01-01 12:00:00",
"duration": 300,
"detailedMetadata": {
"description": "Full video description...",
"viewCount": 100000,
"likeCount": 5000,
"commentCount": 250,
"channelName": "Channel Name",
"channelUrl": "https://www.youtube.com/channel/...",
"fullTranscript": "Complete video transcript...",
"transcriptsWithTimeStamps": [
{
"start": "0.0",
"dur": "3.5",
"text": "Welcome to this video..."
}
],
"comments": {
"mostRelevant": [
{
"author": "User123",
"text": "This helped me so much!"
}
],
"mostRecent": [
{
"author": "User456",
"text": "Just watched it!"
}
]
}
}
}

Note: The comments field only appears when both includeVideoDetails: true and includeComments: true.


๐Ÿš€ How to Use

  1. Get your API token from Transcript Downloader
  2. Add channel URLs in supported formats:
    • https://www.youtube.com/@username
    • https://www.youtube.com/channel/CHANNEL_ID
    • https://www.youtube.com/c/channelname
    • https://www.youtube.com/user/username
  3. Configure options based on your needs:
    • Set includeVideoDetails: false for basic channel info (faster, cheaper)
    • Set includeVideoDetails: true for complete video metadata (slower, more expensive)
  4. Run the actor and access results in the dataset

โŒ Error Handling

The actor gracefully handles common API errors:

Status CodeMeaningAction
400Invalid channel URL or channel restrictedCheck URL format and availability
401Insufficient credits or invalid tokenCheck credits and API token
403Invalid API tokenRegenerate API token
429Rate limit exceededActor handles with delays
503Service temporarily unavailableRetry automatically

Failed channels are captured in the dataset with error information:

{
"channelUrl": "https://www.youtube.com/@invalid",
"error": "Invalid channel URL or channel restricted",
"status": "failed"
}


๐Ÿ’ณ Pricing & Billing

The Transcript Downloader API used by this actor requires a valid API token. API usage is billed separately and is based on processing time and file size.

๐Ÿ“Š We charge on a per transcript/metadata basis. Visit our site to checkout pricing. View full details and subscription plans on our pricing page


โš ๏ธ Rate Limiting & Performance

  • ๐Ÿ”„ API Rate Limit: 75 requests per minute
  • โฑ๏ธ Built-in delays: Automatic delays between requests
  • ๐Ÿšฆ Concurrency control: Recommended maxConcurrency: 1-3
  • ๐Ÿ“Š Processing time:
    • Basic profile: ~5-15 seconds per channel
    • With video details: ~1-2 minutes per video

๐Ÿ’ก Best Practices

For Basic Channel Analysis

{
"channelUrls": ["https://www.youtube.com/@channel1", "https://www.youtube.com/@channel2"],
"apiToken": "your-token",
"includeVideoDetails": false,
"maxConcurrency": 3
}

For Detailed Content Analysis

{
"channelUrls": ["https://www.youtube.com/@channel"],
"apiToken": "your-token",
"includeVideoDetails": true,
"includeComments": true,
"maxConcurrency": 1,
"videoLimit": 10
}

General Tips

  • โœ… Start with includeVideoDetails: false to explore channels
  • โœ… Use videoLimit to control costs when getting video details
  • โœ… Enable includeComments: true only when you need comment analysis (requires video details)
  • โœ… Keep maxConcurrency low (1-2) to avoid rate limits
  • โœ… Monitor costs using the summary.totalCost field
  • โœ… Validate channel URLs before running large batches

๐Ÿ”— Supported URL Formats

The actor supports all major YouTube channel URL formats:

โœ… https://www.youtube.com/@username
โœ… https://www.youtube.com/channel/UCxxxxxxxxxxxxxxxxxx
โœ… https://www.youtube.com/c/channelname
โœ… https://www.youtube.com/user/username
โœ… http://www.youtube.com/@username (HTTP also supported)

๐Ÿ“ˆ Monitoring & Analytics

Track your usage with the built-in summary data:

{
"summary": {
"totalVideos": 1234,
"videosInResponse": 1234,
"videosWithDetails": 50,
"totalCost": "0.500",
"processingTime": "45.2s"
}
}

Use this data to:

  • Monitor API costs per channel
  • Track processing performance
  • Plan batch processing strategies
  • Optimize concurrency settings

๐Ÿ™‹ Support

Need help? Visit Transcript Downloader Support. We respond within 24 business hours.

For technical issues with this actor, check the run logs for detailed error messages.


๐Ÿ“„ License

This actor is provided under the ISC License.