Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in
All collectors

YouTube scraper API

Social & communities · v1.1.0 · youtube_search

$0.0008 / video

$0.80 / 1K · pay per delivered video

A YouTube scraper API with no Data API key and no quota: search YouTube and get id, title, channel and channel URL, view count as text and as a number, publish age, duration, description snippet, badges and thumbnail.

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

What it does

What a YouTube scraper API does

The official Data API is fine until the quota runs out, and it costs units for exactly the queries a research workload repeats. The results page, meanwhile, ships its entire model in the page — so a single request returns the same fields the interface renders, with no key to manage and no daily budget to ration.

View counts come back twice: as YouTube prints them and as an integer you can sort on. Live streams are the exception the collector refuses to fudge — "1.2K watching" is a concurrent viewer count, not a view total, so the numeric field stays null instead of quietly under-reporting.

Inputs

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

InputTypeRequiredWhat it does
querystringyesWhat to search on YouTube.
sortstringnoResult order. One of: relevance, upload_date, view_count, rating.
countrystringnoISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool.
langstringnoInterface language (hl), e.g. en, it, de.
max_resultsintegernoHow many videos to deliver at most (1–100). You pay only for delivered videos.

Outputs — 18 fields, one row per video

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.
video_idstringYouTube video id.
titlestringVideo title.
urlstringWatch URL.
channelstring · nullableChannel name.
channel_urlstring · nullableChannel URL.
viewsstring · nullableView count as shown.
views_valueinteger · nullableView count as a number (null for live viewer counts).
publishedstring · nullablePublish age ("6 months ago").
durationstring · nullableDuration (m:ss).
livebooleanTrue for live streams.
descriptionstring · nullableDescription snippet.
thumbnailstring · nullableThumbnail URL.
badgesstring[]Badges (4K, CC, New…).
channel_idstring · nullableChannel id (UC…).
channel_verifiedbooleanChannel has the verified badge.
views_shortstring · nullableCompact view count as shown on the tile (26K views).
duration_secondsinteger · nullableDuration in seconds.

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_search/run.

curl -X POST https://api.quanticdata.io/v1/scraper/collectors/youtube_search/run \
  -H "Authorization: Bearer $QD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"residential proxies explained","country":"us","max_results":20}'

Example response

POST /v1/scraper/collectors/youtube_search/run
$ curl $QD/youtube_search/run \
    -H "Authorization: Bearer $QD_API_KEY" \
    -d '{"query": "residential proxies explained", "country": "us", "max_results": 20}'
{ "status": "done", "count": 20,
  "results": [
    {
      "video_id": "…",
      "title": "…",
      "url": "…",
      "channel": "…" } ],
  "cost": 0.016 }
# 20 videos × $0.0008 · nothing delivered, nothing charged

Try it

YouTube search, running now

Change the input and run it against the live collector — nothing to install, no sign-up.

Run it from your own code, on your own inputs

Same collector, same rows — $2 of free API credit every month, no card.

Get my free API key
YouTube scraper API: from query and country, QuanticData reads the YouTube results and returns one row per video with title, channel and views, at $0.0008 per delivered video.
You send query and sort; the run goes out through a residential exit and comes back as videos with rank, video_id and title — 18 fields on every row — and you are billed $0.0008 for each video actually delivered, nothing for a run that delivers none.
$0.0008 / video2,500 videos on the free $2 every month
Semantic inputquery, sort, country — no URL lists
Up to 100videos per run, pagination handled for you
No browserread over HTTP/TLS — cheaper and faster than rendering

Pricing

YouTube 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

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.

What people build with the YouTube scraper API

Three shapes of work this endpoint was designed around.

Topic research

See which videos and channels own a query before you script your own.

Creator discovery

Collect channels ranking for your niche with view counts attached.

Trend tracking

Sort by upload date to watch a topic's newest coverage.

YouTube scraper API versus rolling your own

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

DIY scraperThis collector
QuotaUnits per call, daily ceilingNone — pay per delivered video
Key managementGoogle Cloud project requiredYour existing API key
Live streamsViewer count reported as viewsLeft null: it is not a view total

What people search for

Live autocomplete demand around YouTube search, pulled with our own Keyword ideas collector.

Quota is the whole story

A search against YouTube's Data API costs 100 quota units and a default project gets 10,000 a day — one hundred searches, for everything the project does. Simple metadata reads cost one unit, which is why quota rarely bites until the moment you start searching, and why continuous topic monitoring turns into a quota-increase application rather than a dataset.

For anything that feeds a model or a dashboard, the second difference matters as much: the Data API returns YouTube's API ranking, while the results page returns what a viewer in that country was actually shown. Only one of those is a measurement of the surface.

Limits, coverage and the legal bit

Up to 100 videos per run. 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.

Views arrive twice, as YouTube's display string and as an integer, and published is a relative age rather than a timestamp because that is what the page publishes. Resolve it against the collection time consistently or a time series will drift.

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. Metadata and links only — no media is fetched, and video content belongs to its creators. None of this is legal advice — get some for your actual use case.

YouTube scraper API: the POST to the youtube_search collector, 20 videos delivered and the bill, 20 × $0.0008 = $0.016 in usage.cost_usd; zero videos would cost $0.
The same call you would paste into a terminal: a Bearer key, query, country and sort in the body, and back the envelope every QuanticData endpoint returns — type, message, payload — where count is how many videos arrived and usage.cost_usd is $0.016, which is 20 × $0.0008. A run that delivers nothing costs nothing. The key is good for 60 req/min on the free tier.

Sources and standards

The platform documentation and standards this collector is built against — check any claim on this page against the primary source:

FAQ

Questions we get about the YouTube scraper API.

Something else? Ask us

Do I need a YouTube Data API key?

No. The collector reads the public results page, so there is no Google Cloud project, no quota and no per-call unit accounting.

How many videos per run?

Up to 100: the run follows YouTube's own paging until it reaches max_results.

Can I sort by upload date?

Yes: sort accepts relevance, upload_date, view_count and rating.

Is there a free YouTube 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 100 videos — the maximum for this collector — costs $0.08 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.

Do I need a Data API key?

No. Your QuanticData key is the only credential — no Google Cloud project, no OAuth and no quota application. That is the practical reason most people arrive at this endpoint.

Run the YouTube scraper API now

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

Run in dashboard
Illustration: three coloured zones of the page that is read (YouTube results) turn into clean JSON with the fields title, channel and views; 18 fields on every row.