All scrapers

Social & video

YouTube Scraper

youtube.com

99.8% Success rate
0.6s Avg response
In-house anti-bot Protection
1,100 calls Measured over

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.

Read the API docs

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.