YouTubePOST /v1/youtube/search

YouTube Search Scraper API

Search YouTube by keyword: videos, Shorts, channels and playlists with views, publish time, duration and channel. Optional type, popularity sort and upload-date filters.

Cost
1 credit
Failed requests
Refunded
Cache hits
Free
Response fields
7
Limits
Up to 50 results · no date sort
All limits

What the YouTube Search Scraper API does

The YouTube Search Scraper API runs a YouTube keyword search and returns videos, Shorts, channels and playlists with titles, view counts, publish time, duration, thumbnails and channel details. Filter by type (all, video, shorts, channel or playlist), sort by relevance or popularity, and restrict recency with upload_date (today, week, month or year). Up to 50 results per request are fetched in pages of about 20. It is built for monitoring what gets published about a topic, discovering creators and feeding research pipelines, without Google Cloud quota planning. Note that YouTube no longer supports sorting by upload date, so use upload_date for recency. Each request costs 1 credit.

What you get

Top-level fields of the response. Every field is typed and documented; nullable fields are null when the platform does not show them.

FieldTypeDescription
querystringNormalized search query
typestringApplied type filter: all, video, shorts, channel or playlist
sortstringApplied sort: relevance or popularity
upload_datestring | nullApplied upload-date filter, null when not set
results_fetchedintegerNumber of results returned
has_morebooleanYouTube has more results beyond limit
resultsarray<object> (25 fields each)Results in YouTube's order, max limit. Fields depend on type

Request example

Send the API key as a Bearer token. The body is a small JSON object.

curl -X POST https://api.scrapeeverything.com/v1/youtube/search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"lofi hip hop","limit":10}'
ParameterRequiredDescription
queryYesSearch keywords (max 200 characters).
typeNoResult type: all, video, shorts, channel or playlist. Default all.
sortNorelevance or popularity (view_count is accepted as an alias). Default relevance.
upload_dateNoOnly results uploaded within: today, week, month or year.
limitNoMaximum number of results to return.

What it costs

Each successful request costs 1 credit. Your first 100 credits are free. With credit packs, 1,000 requests to this endpoint cost:

  • Builder pack

    $1.56

    25,000 credits for $39.00

  • Growth pack

    $1.19

    100,000 credits for $119.00

  • Scale pack

    $0.90

    500,000 credits for $449.00

See pricing for all packs and rate limits.

Use cases

  • Monitor new videos about your brand, product or competitors every day.
  • Discover creators in a niche by searching for topics and collecting channels.
  • Find Shorts on a topic with type shorts for short-form trend research.

Limitations: Unofficial API: not affiliated with or endorsed by the platform. Public data only, as a logged-out visitor sees it. Counts can be YouTube's rounded figures; comments are top-level only; transcripts exist only for videos with captions.

  • Results are fetched in pages of about 20 (up to 3 pages for limit 50).
  • Sorting by upload date or rating is not available: YouTube removed those sorts and ignores them. Use upload_date to restrict recency; popularity is YouTube's own ranking, not a strict view-count order.
  • With type all, YouTube's Shorts shelves are skipped; use type shorts to get Shorts. Shorts from shelves have no channel, publish time or duration.

Questions

Can I sort by newest?

No. YouTube removed the upload-date sort. Use upload_date (today, week, month or year) to limit results to recent uploads.

How many results do I get?

Up to 50 per request (default 20). has_more tells you whether YouTube has more results.

Are Shorts included?

With type all, Shorts shelves are skipped. Use type shorts to search Shorts specifically.

How much does the YouTube Search Scraper API cost?

1 credit per successful request. Credits are bought in one-time packs and never expire. New accounts get 100 free credits. No payment details needed.

Am I charged for failed requests?

No. If the platform blocks the request, it times out or something fails on our side, the credits are refunded automatically. A definitive answer such as "this account does not exist" is billed because the lookup completed.

Can I re-read a result without paying again?

Yes. Send cache_days (1 to 14) and a repeat request for the same target within that window is served from your cache for free.

More YouTube endpoints

Start with 100 free credits.

Continue with Google, create an API key and send your first request in under a minute.

Get 100 free credits