All scrapers

Social & video

YouTube Scraper

youtube.com

In-house anti-bot Protection
Served by plugin endpoints

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(results);

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

Related scrapers

Start scraping this site today

Free tier included. No credit card required to test it.