YouTube Search Scraper - Video Results by Keyword & Filters
Pricing
from $0.80 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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 viewsis returned as the number3394425, not3.4M, together with the channel, channel link, verified badge, duration in seconds and the description snippet. - Shorts search included. Switch
contentTypetoshorts. 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"}
positioncounts results per query from 1.filtersechoes the settings that were applied.publishedTextis YouTube's relative date (2 years ago,5 hours ago), not a calendar date.- Shorts rows have
contentTypeshort, a/shorts/url, the title,viewCountTextas YouTube shows it (3.6M views) andviewCountApprox(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,channelHandleandchannelUrlarenullthere. A handle can also be missing on other videos (16 of 50 rows in one test search), so treatchannelHandleas optional. A stream that is live right now has no view count, publish date or duration yet, so those arenulluntil it ends. badgesis 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
| Field | Default | What it does |
|---|---|---|
searchQueries | one example | Keywords to search (up to 200 per run). |
maxResultsPerQuery | 50 (max 1000) | Results per query. |
contentType | videos | videos or shorts. |
sortBy | relevance | relevance or viewCount. View-count order is approximate: YouTube sorts on cached counts, so neighbouring results can be slightly out of order. |
uploadDate | any | lastHour, today, thisWeek or thisYear. |
duration | any | short (under 4 min), medium (4-20 min) or long (over 20 min). |
subtitles, fourK | false | Only videos with subtitles/CC; only 4K videos. |
proxyConfiguration | Apify datacenter proxy | Proxy 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, everypublishedTextin minutes, hours or days, every duration between 240 and 1,200 seconds.- Shorts search
sourdough, 60 requested: 60 rows, allshort, 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_SUMMARYrecord (complete,terminationReason,rowsPushed) says whether it finished or stopped early;terminationReasonis one offinished,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 andtime_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