YouTube Search Scraper - Video Results by Keyword & Filters avatar

YouTube Search Scraper - Video Results by Keyword & Filters

Pricing

from $0.80 / 1,000 results

Go to Apify Store
YouTube Search Scraper - Video Results by Keyword & Filters

YouTube Search Scraper - Video Results by Keyword & Filters

Search YouTube by keyword and filter the way the site does: upload date, duration, 4K, subtitles, sort by views, plus Shorts search. Exact view counts, channel, verified badge, duration and description snippet for every result.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

mochi

mochi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

YouTube Search Scraper - videos and Shorts by keyword, with real filters

Search YouTube the way the site does and get structured rows: exact view counts, channel, verified badge, duration and the description snippet for every result.

  • Search by keyword, sorted and filtered. Sort by relevance or view count; filter by upload date (last hour, today, this week, this year), duration (under 4 minutes, 4-20 minutes, over 20 minutes), 4K and subtitles/CC.
  • Exact view counts. 3,394,425 views is returned as the number 3394425, not 3.4M, together with the channel, channel link, verified badge, duration in seconds and the description snippet.
  • Shorts search included. Switch contentType to shorts. Pay per result: see the pricing on this page.

What you get

One row per result. Video row:

{"query":"sourdough bread","position":1,"contentType":"video","videoId":"4gEoh3sk2AE","url":"https://www.youtube.com/watch?v=4gEoh3sk2AE","title":"Bake the Perfect Sourdough Bread: A Step-by-Step Guide","channelName":"Natashas Kitchen","channelId":"UC-pC1xsFPzcrL09DaW4jlBA","channelHandle":"@Natashaskitchen","channelUrl":"https://www.youtube.com/@Natashaskitchen","isVerifiedChannel":true,"publishedText":"2 years ago","viewCount":3394425,"viewCountText":"3,394,425 views","durationText":"11:53","durationSeconds":713,"descriptionSnippet":"Learn how to bake sourdough bread with the perfect rise, ear, and texture...","badges":["5 products","Earns commission"],"thumbnailUrl":"https://i.ytimg.com/vi/4gEoh3sk2AE/hqdefault.jpg","filters":{"sortBy":"relevance","uploadDate":"any","duration":"any","subtitles":false,"fourK":false},"scrapedAt":"2026-10-19T09:26:05.034Z"}
  • position counts results per query from 1. filters echoes the settings that were applied.
  • publishedText is YouTube's relative date (2 years ago, 5 hours ago), not a calendar date.
  • Shorts rows have contentType short, a /shorts/ url, the title, viewCountText as YouTube shows it (3.6M views) and viewCountApprox (that text as a number, so rounded the way YouTube rounds it). Shorts search results carry no channel, duration or publish date, so those fields are not in Shorts rows.
  • Collaboration videos ("A and 2 more") have no single channel: channelId, channelHandle and channelUrl are null there. A handle can also be missing on other videos (16 of 50 rows in one test search), so treat channelHandle as optional. A stream that is live right now has no view count, publish date or duration yet, so those are null until it ends.
  • badges is whatever YouTube shows on the result (4K, CC, 5 products, ...). The 4K and subtitles filters are applied by YouTube; the badge is not guaranteed on every filtered result.

Input

FieldDefaultWhat it does
searchQueriesone exampleKeywords to search (up to 200 per run).
maxResultsPerQuery50 (max 1000)Results per query.
contentTypevideosvideos or shorts.
sortByrelevancerelevance or viewCount. View-count order is approximate: YouTube sorts on cached counts, so neighbouring results can be slightly out of order.
uploadDateanylastHour, today, thisWeek or thisYear.
durationanyshort (under 4 min), medium (4-20 min) or long (over 20 min).
subtitles, fourKfalseOnly videos with subtitles/CC; only 4K videos.
proxyConfigurationApify datacenter proxyProxy used for all requests.

For Shorts search, YouTube's filters were not verified, so sortBy, uploadDate, duration, subtitles and fourK are ignored and the log says which. Not offered, because YouTube ignores them in our tests: sort by upload date, sort by rating, "this month".

Measured behaviour

Platform runs on 2026-10-19, default datacenter proxy, 512 MB:

  • sourdough bread + standing desk review, 60 each: 120 rows in 6.9 seconds. Title, channel name, channel id and handle, view count, duration, publish text and description snippet were filled in 120 of 120 rows; 56 of 120 had a verified channel; positions ran 1-60 without gaps for both queries.
  • iphone 18 review, this week + 4-20 minutes + sort by views, 40 requested: 40 rows, every publishedText in minutes, hours or days, every duration between 240 and 1,200 seconds.
  • Shorts search sourdough, 60 requested: 60 rows, all short, all /shorts/ links.
  • Nothing was blocked on the default proxy in any run (0 blocked of 6 runs).
  • Peak memory 48-76 MB on small runs, 132 MB on the 1,288-row run below. The same 120-row run took 6.9 s at 512 MB and 4.4 s at 4096 MB.

Stopping early, blocks and the run summary

  • The run keeps a time budget. A very large run (up to 200 queries at 1,000 results each) may stop early: it starts no new request, writes what it has and ends as succeeded. The RUN_SUMMARY record (complete, terminationReason, rowsPushed) says whether it finished or stopped early; terminationReason is one of finished, max_results, charge_limit, time_budget, blocked, request_failed. Checked with the maximum input and a 45-second timeout: succeeded after 36 seconds with 1,288 rows and time_budget.
  • If YouTube answers with HTTP 403, a consent page or a sign-in page, the actor stops at once with YouTube blocked the request (HTTP <status>); stopping. and keeps the rows already written. It never retries a block. Run again later.
  • Temporary errors (HTTP 429, 5xx, network) are retried three times (2, 4, 8 seconds); a page that still fails ends only that query and the summary says request_failed.
  • Results are billed per row; if you set a maximum charge per run the run stops there.

Privacy

Only public, logged-out YouTube search results are read: no login, no cookies. Email addresses and phone numbers in titles, channel names and description snippets are replaced with [email redacted] and [phone redacted] (best effort on the formats it recognises).

Keywords

youtube search scraper, youtube keyword scraper, youtube video search api, youtube search results, youtube shorts search, youtube filters, youtube videos by keyword, trending youtube videos