OrbTop

YouTube Scraper

SOCIAL MEDIAVIDEOS

YouTube Scraper

Scrape YouTube videos, channels, and metadata without an API key. Search by keyword or scrape a full channel's video catalogue. Returns structured records with video ID, title, view count, channel, duration, publish date, and thumbnail URLs.

What it does

The actor uses YouTube's InnerTube REST API — the same JSON API used by YouTube's own web client. No API key, no browser rendering, and no proxy needed. Requests run on standard datacenter infrastructure, keeping costs low.

Two scraping modes are available:

  • Search mode (mode: search) — submit one or more keyword queries and collect matching video results, paginated via InnerTube continuation tokens.
  • Channel mode (mode: channel) — supply a channel URL, handle, or bare channel ID and collect all videos from that channel's Videos tab.

Input

Field Type Description
mode string search (default) or channel
queries array Keywords to search for (search mode only)
channelUrl string Channel URL, @handle, or UC... ID (channel mode only)
maxItems integer Maximum videos to return per query / total for channel mode

Channel URL formats accepted:

  • https://www.youtube.com/@MrBeast
  • https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
  • Bare ID: UCX6OQ3DkcsbYNE6H8uQQuVA

Output

Each record contains:

Field Type Description
videoId string YouTube video ID
videoUrl string Full watch URL
title string Video title
description string Description snippet (if shown in search results)
channelId string YouTube channel ID (UC...)
channelName string Channel display name
channelUrl string Channel canonical URL
viewCount integer Total view count
likeCount integer Like count (null if hidden)
commentCount integer Comment count (null if unavailable)
durationSeconds integer Duration in seconds
publishedAt string Relative publish date (e.g. "1 year ago")
thumbnailUrl string Highest-resolution thumbnail URL
tags string Comma-separated tag list (if available)
isLive boolean Whether the video is a live stream
categoryId string Video category name
query string The search query or channel URL that produced this record
scrapedAt string ISO timestamp when the record was collected

Example: search mode

{
  "mode": "search",
  "queries": ["python tutorial", "javascript crash course"],
  "maxItems": 50
}

Example: channel mode

{
  "mode": "channel",
  "channelUrl": "https://www.youtube.com/@MrBeast",
  "maxItems": 100
}

Performance and cost

  • Memory: 256 MB
  • Proxy: none required
  • Approximate throughput: 20 videos per InnerTube page, ~200 ms delay between pages
  • Pricing: pay-per-result (DATA_RECORD events)

Notes

  • publishedAt returns YouTube's relative format ("3 days ago", "1 year ago") rather than an absolute ISO date — the InnerTube browse/search API does not expose absolute timestamps in these endpoints.
  • likeCount and commentCount are not available from the InnerTube browse/search endpoints and will always be null.
  • description is populated only when YouTube includes a snippet in search results; it is typically null in channel mode.
  • The actor handles YouTube's EU consent mechanism automatically via a session cookie header.