Operated by Sourcelane✓ verified
Scrape YouTube channel details in bulk from handles or URLs — subscribers, total views, video count, join date, country, upload cadence, emails and social links.
A bulk YouTube channel scraping connector that collects structured channel identity, audience size, recent activity and contact/link data from lists of channel handles, URLs, IDs or video links; it extracts profile and banner images, country and join date, creator-provided tags and topic categories, subscriber and view totals (with an indicator when subscriber counts are hidden), video counts and average views, and assigns a size tier (nano, micro, mid, macro, mega). The connector analyzes the channel's most recent uploads to compute posting cadence, last upload date, recent average views/likes/comments, an engagement-rate percentage based on likes+comments per view, and the share of recent content that are Shorts; it also scrapes business email addresses and all external About-panel links and social profiles (Instagram, TikTok, Twitter/X, Facebook, LinkedIn, Discord, Patreon, etc.). Technical capabilities include large-scale web scraping of YouTube channel pages and recent videos, cross-input deduplication, per-channel aggregation of identity, reach, recent performance and contact enrichment, and support for runs of thousands of channels without requiring a YouTube login.
Verified Sep 28, 3:56 AM
$0.003
per channel
Up to 100 per call. Only pay for results returned; failed calls are refunded.
Influencer vetting
Check subscribers, engagement and posting cadence for a list of creators before you reach out
Subscriber tracking
Schedule the connector daily or weekly to monitor subscriber and view growth for a watchlist of channels
Lead enrichment
Turn a spreadsheet of channel links into emails, websites and social profiles
Competitor benchmarking
Compare size, upload frequency and engagement across competing channels
Agency reporting
Pull fresh stats for every creator on your roster in one run
YouTube channels to scrape, one per line.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"youtube-channel-scraper","params":{"channels":["@mkbhd","https://www.youtube.com/@veritasium","UCX6OQ3DkcsbYNE6H8uQQuVA"]},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
channels | array | required | YouTube channels to scrape, one per line. Accepts @handles (@mkbhd), channel URLs (youtube.com/@handle, /channel/UC…, /c/name, /user/name), raw channel IDs (UC…), or any video / Shorts URL to get the uploader's channel. Up to 5,000 per run. |
includeRecentActivity | boolean | optional | Analyze each channel's 10 latest uploads for last upload date, uploads per month, average views/likes/comments, engagement rate and Shorts share. |
includeLinks | boolean | optional | Read each channel's About panel for its external links (website, Instagram, TikTok, X, Facebook, LinkedIn, Discord, Patreon) and pull any public email from the description. |
Each result contains
| Field | Type | Description |
|---|---|---|
input | string | Input |
channelId | string | Channel Id |
channelUrl | string | Channel Url |
handle | string | Handle |
title | string | Title |
description | string | Description |
thumbnailUrl | string | Thumbnail Url |
bannerUrl | string | Banner Url |
subscriberCount | integer | Subscriber Count |
subscriberCountHidden | boolean | Subscriber Count Hidden |
totalViews | integer | Total Views |
videoCount | integer | Video Count |
avgViewsPerVideo | integer | — |
sizeTier | string | — |
country | string | — |
joinedAt | string | — |
madeForKids | boolean | — |
channelKeywords | array | — |
topicCategories | array | — |
externalLinks | array | — |
lastUploadAt | string | — |
recentVideosAnalyzed | integer | — |
uploadsPerMonth | number | — |
avgViewsRecent | integer | — |
avgLikesRecent | integer | — |
avgCommentsRecent | integer | — |
engagementRate | number | — |
shortsShareRecent | number | — |
latestVideoTitle | string | — |
latestVideoUrl | string | — |
email | string | — |
allEmails | array | — |
website | null | — |
instagram | string | — |
tiktok | null | — |
twitter | string | — |
facebook | null | — |
linkedin | null | — |
discord | string | — |
patreon | null | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Get the transcript of this video and turn it into a blog outline: <url>”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"youtube-channel-scraper","params":{"channels":["@mkbhd","https://www.youtube.com/@veritasium","UCX6OQ3DkcsbYNE6H8uQQuVA"]},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "youtube-channel-scraper",
"params": {"channels":["@mkbhd","https://www.youtube.com/@veritasium","UCX6OQ3DkcsbYNE6H8uQQuVA"]},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…