Documentation Blog Free tools [email protected]Log in

YouTube channel scraper API

A YouTube channel scraper API: pass a handle, a channel id or a URL and get the channel's uploads — title, video id, views, publish age, duration and thumbnail — with the channel's own name, subscriber count and video total stamped on every row.

$0.0008 per delivered video · $2 free every month · Failed runs never billed

POST /v1/scraper/collectors/youtube_channel/run
$ curl $QD/youtube_channel/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"channel": "@NASA", "tab": "videos", "max_results": 30}'
{ "status": "done", "count": 30,
  "results": [
    {
      "channel": "…",
      "channel_id": "…",
      "channel_url": "…",
      "channel_description": "…" } ],
  "cost": 0.024 }
# 30 videos × $0.0008 · nothing delivered, nothing charged
$0.0008 / video2,500 videos on the free $2 every month
Semantic inputchannel, tab, country — no URL lists
Up to 60videos per run, pagination handled for you
No browserread over HTTP/TLS — cheaper and faster than rendering

What a YouTube channel scraper API does

Monitoring a creator means reading the uploads tab, not the search page. That tab has already migrated to YouTube's newer card format, where the old video renderer object simply does not exist — which is why search-based scrapers return zero rows on a channel page that visibly has thirty videos.

This collector reads the new format directly, expands abbreviated counts (15.1M subscribers becomes a number) and covers the videos, shorts and streams tabs. One page per run, and the response says so rather than looking truncated.

What one video looks like

Every delivered video carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.

FieldTypeWhat it holds
rankinteger1-based position on the tab.
channelstring · nullableChannel name.
channel_idstring · nullableChannel id (UC…).
channel_urlstring · nullableCanonical channel URL.
channel_descriptionstring · nullableChannel description (trimmed).
channel_subscribersinteger · nullableSubscribers (15.1M → 15100000).
channel_videosinteger · nullableTotal videos on the channel.
video_idstringVideo id.
titlestringVideo title.
urlstringWatch URL.
viewsstring · nullableViews as shown.
views_valueinteger · nullableViews as a number.
publishedstring · nullablePublish age.
durationstring · nullableDuration (m:ss).
livebooleanTrue for live/premiere items.
thumbnailstring · nullableThumbnail URL.

Inputs

The whole request. Anything you leave out falls back to the default shown in the catalog.

InputTypeRequiredWhat it does
channelstringyesHandle (@NASA), channel id (UC…) or channel URL.
tabstringnoWhich uploads tab to read. One of: videos, shorts, streams.
countrystringnoISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool.
max_resultsintegernoHow many videos to deliver at most (1–60). You pay only for delivered videos.

Pricing

YouTube channel scraper API pricing

$0.0008 per delivered video. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 2,500 videos before you spend anything.

$0.0008per delivered video$0.8 per 1,000 delivered videos
2,500 videoson the free allowance$2 every month, no card
Zero rowszero chargeblocks, captchas and retries are on us
−30%on volume tiersthe catalog returns your key's price

Pay as you go

$0/mo
  • $2 free credit / month
  • 60 requests / min
  • List unit prices

Starter

$19/mo
  • $15 free credit / month
  • 300 requests / min
  • 10% off unit prices

Scale

$299/mo
  • $250 free credit / month
  • 1,200 requests / min
  • 30% off unit prices

Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.

Integration

One POST, typed rows

Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/scraper/collectors/youtube_channel/run.

curl -X POST https://api.quanticdata.io/v1/scraper/collectors/youtube_channel/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"channel":"@NASA","tab":"videos","max_results":30}'

What people build with the YouTube channel scraper API

Three shapes of work this endpoint was designed around.

Competitor content audit

Pull a rival channel's recent uploads with views and duration in one call.

Influencer vetting

Check publishing cadence and view distribution before a partnership.

Content datasets

Collect a channel corpus for topic modelling or transcription pipelines.

YouTube channel scraper API versus rolling your own

The differences that actually cost time when you build this in-house.

DIY scraperThis collector
Card formatSearch parser returns zero rows hereReads the current uploads format
Channel statsA second callOn every row

Three calls, or one row shape

Reading a channel through the Data API means resolving the handle, fetching the uploads playlist, then making a separate statistics call because playlist items do not carry view counts. Three resources, three responses to join, and a quota bill that returns once you do it across a few hundred channels.

The other gap is structural: the Data API does not model shorts and streams as distinct catalogues, so separating a creator's short-form output from their long-form means inferring it from duration. Here it is an input, and channel-level stats are stamped onto every video row so one flat table answers both the channel and the video question without a join.

Limits, tabs and the legal bit

One grid page per run, roughly 30 videos and up to 60; the back catalogue sits behind continuation tokens and is out of scope. Pick the tab deliberately — averaging shorts and long-form together misrepresents any channel that posts both. Throughput is your plan's rate limit rather than anything about the collector: 60 requests/minute on pay-as-you-go, up to 1,200 on the top tier.

Collecting publicly visible data is generally lawful in most jurisdictions, and courts have repeatedly declined to treat reading a public page as unauthorised access. YouTube's terms restrict automated access. Creator names and channel descriptions can be personal data. None of this is legal advice — get some for your actual use case.

FAQ

Questions we get about the YouTube channel scraper API.

Something else? Ask us →

Can I read shorts or live streams?

Yes — tab accepts videos, shorts and streams.

How far back does it go?

One page of the tab, around 30 videos. Older uploads sit behind a continuation token this collector does not follow; the run notes exactly how many it returned.

Is there a free YouTube channel scraper API?

Every account gets $2 of credit every month with no card, which is about 2,500 delivered videos on this endpoint at $0.0008 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.

How much does one run cost?

Multiply the rows you actually receive by $0.0008. A run capped at 60 videos — the maximum for this collector — costs $0.048 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.

Why are channel stats repeated on every row?

So the output stays one flat table. Subscriber and video totals on each row mean per-video performance relative to audience size is a single expression, with no join and no second call — which is what makes the output usable directly as a dataset.

Can I get a channel's whole back catalogue?

No — one grid page per run, roughly 30 videos. Everything beyond that requires walking YouTube's continuation protocol, which this collector deliberately does not claim to do. The recent uploads are what it covers.

Run the YouTube channel scraper API now

$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.

Get my free API key
Get my free API key