YouTube Video Search Scraper
Pricing
from $0.22 / 1,000 videos
YouTube Video Search Scraper
Search YouTube by keyword and export the results: title, channel, exact views, length, upload age, snippet and link, in YouTube's own ranking order. From $0.22 per 1,000 videos. Filter by upload date, length or 4K - YouTube applies them before it answers, so a filtered video is never charged.
Pricing
from $0.22 / 1,000 videos
Rating
0.0
(0)
Developer
Stable
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Type the phrases you would type into YouTube's own search box and get the answer as a table: title, channel, exact view count, length, upload age, the snippet YouTube shows under the title, and the link — in YouTube's own ranking order, with the rank stored on every row.
No account, no API key, no quota.
What one row looks like
{"query": "python tutorial","rank": 1,"videoId": "x7X9w_GIm1s","videoUrl": "https://www.youtube.com/watch?v=x7X9w_GIm1s","title": "Python in 100 Seconds","description": "Python is arguably the world's most popular programming language...","channelName": "Fireship","channelId": "UCsBjURrPoezykLs9EqgamOA","channelUrl": "https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA","viewCount": 3100447,"viewCountText": "3,100,447 views","publishedText": "4 years ago","durationText": "2:24","durationSeconds": 144,"isLive": false,"badges": ["4K"],"thumbnailUrl": "https://i.ytimg.com/vi/x7X9w_GIm1s/hq720.jpg","estimatedResults": 2238166,"searchUrl": "https://www.youtube.com/results?search_query=python+tutorial","scrapedAt": "2026-09-24T12:03:41+00:00"}
20 fields. Views in the dataset tab: Results, Channels, Research, All fields.
The limit that matters, stated up front
YouTube never answers "no results". Ask it for something that does not
exist and it will still hand back twenty videos — measured on 2026-09-24, the
phrase qzxwvfoo nonsense query 12345 returned seventeen videos including Baby
Shark. The only thing that tells you the difference is YouTube's own count, and
it is on every row:
| phrase | estimatedResults |
|---|---|
python tutorial | 2,441,088 |
python tutorial, uploaded today | 2,480 |
| nonsense | 160 |
So: read estimatedResults before you trust the tail of a long answer. This
Actor does not pretend a padded answer is a match, and it does not hide the
number that gives it away.
Filters, applied by YouTube before it answers
| filter | what it does |
|---|---|
| Sort by | relevance, upload date, view count, rating |
| Uploaded within | last hour, today, this week, month, year |
| Video length | under 4 minutes, 4 to 20, over 20 |
| Must have | HD, 4K, subtitles, Creative Commons, live, 360°, HDR |
| Minimum views | applied here, before the row is stored — a quiet video is never charged |
| Skip live streams | they have no length and no final view count |
| Language / Country | hl and gl; YouTube ranks differently per country |
These are YouTube's own filters, sent with the request, not a filter applied to a page we already paid for. And because the filter blob is built rather than copied, the run re-reads its own answer to check the filter actually bit and reports it in the run summary. A filter that silently does nothing would bill you for everything; this one says so instead.
Input
| field | what it does |
|---|---|
| Search phrases | one per line, as you would type them |
| Maximum videos in total | ceiling for the whole run |
| Maximum per phrase | so one broad phrase cannot eat the run |
Each phrase is searched separately, and every row says which phrase it came from and where it ranked in that answer.
What it does not do
- It does not return channels or playlists — videos only, by default. That is what the ranking order is worth reading for.
- It does not give exact numbers YouTube rounds.
viewCountis filled only when YouTube states an exact figure; when it only says3.1M views, the row keeps the text and leaves the number empty rather than inventing one. - It does not log in, so it sees what a signed-out visitor sees.
Free plan
Everything works on the free plan: the same fields, the same filters. Filtered and dropped videos cost nothing there either.