Social & video
YouTube Scraper
youtube.com
YouTube is served through a dedicated plugin endpoint rather than the generic page fetch. Give it a channel - a handle like @mkbhd, a channel id or a channel URL - and it returns the channel's recent videos already parsed: the video id, title, view-count text, published time, a thumbnail and a watch URL, plus the channel name and id. It reads YouTube's own data, so there is no InnerTube API to reverse-engineer.
What you can extract
- Video id, title and a watch URL
- View-count text
- Published time
- Thumbnail URL
- Channel name and id
Dedicated endpoints
/content/youtube-channel A YouTube channel
A channel's recent videos: a channel summary (name, id) and a videos array with videoId, title, views, published, thumbnail and a watch url. Pass a handle, channel id or URL.
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/content/youtube-channel?channel=%40mkbhd"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/content/youtube-channel",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"channel": "@mkbhd"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const data = await su.youtubeChannel('@mkbhd');
console.log(data); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape YouTube?
Collecting publicly available YouTube data such as video titles, view counts and channel names is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. Some of it can be personal data, so follow the privacy rules that apply to you. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape YouTube without getting blocked?
YouTube is protected by in-house anti-bot systems. ScrapeUnblocker rotates residential and ISP exits and handles challenges, and the YouTube plugin returns a channel's videos as parsed JSON. In ScrapeUnblocker's benchmark it returned real content on 99.8% of 1,100 calls, about 0.6s per call.
What YouTube data can I get?
A channel's recent videos, each with the video id, title, a watch URL, the view-count text, published time and a thumbnail URL, plus the channel name and id. Pass a handle like @mkbhd, a channel id or a channel URL; tab picks videos, shorts or streams, and limit returns up to 200 videos on the videos tab.
Do I need a YouTube API key or account?
No. The YouTube plugin returns a channel's videos as JSON without a YouTube API account, API key or login on your side. Your ScrapeUnblocker key is the one credential you need, and the plugin reads public channel data.
Can I monitor YouTube channels at scale?
Yes. One call returns one channel's recent videos, so a watch list of channels is one call per channel per check, and calls run in parallel up to your plan's concurrency limit: 20 to 100 concurrent requests on Pay as you go, Starter and Pro, and 200 to 400 on Business, Scale and Ultimate.
How much does it cost to scrape YouTube?
Pricing is per request: 1 request = 1 credit, from EUR 1.00 per 1,000 on pay as you go to about EUR 0.55 per 1,000 on the Ultimate plan. Plugin calls use the same plan quota as any other request. One call returns one channel's recent videos. Blocks, timeouts and errors on ScrapeUnblocker's side are not billed, and the free trial includes 500 requests with no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.