YouTube Search Scraper: Videos & Top Comments avatar

YouTube Search Scraper: Videos & Top Comments

Pricing

from $0.50 / 1,000 videos

Go to Apify Store
YouTube Search Scraper: Videos & Top Comments

YouTube Search Scraper: Videos & Top Comments

Scrape YouTube search results for any keyword, country and language: rank, title, channel, views, publish date, duration and Shorts flag. Upload-date filter, rank and views changes, only-new videos, plus the top comments of any video. Commenter names off by default. Pay per video.

Pricing

from $0.50 / 1,000 videos

Rating

0.0

(0)

Developer

VNCNT Labs

VNCNT Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Scrape YouTube search results for any keyword in 60+ countries and any language, and get each video's rank, title, channel, views, publish date, duration, Shorts and live flags, badges and thumbnail, in the order viewers see them. Narrow it to videos uploaded in the last hour, today, this week, month or year, leave Shorts out, and add the top comments of any video (text, likes, reply count, date). Schedule it with a monitor name and every video also gets its previous rank, rank change and views gained, or switch on only-new videos to be told about new uploads for a topic.

You pay per video delivered ($0.50 per 1,000) plus a small fee per page of 20 results. No YouTube API key, no quota, no browser to maintain.

Built for:

  • Creators and video SEO teams: who ranks for your topics, how many views they have, how old they are.
  • Marketers and researchers: what people say under the top videos of a topic.
  • Agencies: rank and views tracking for your channels and competitors, with daily changes.
  • AI agents: video search on demand through the Apify API or MCP.

What you get

Row (type)What's in itCharged
videokeyword, rank (position among the videos delivered), absoluteRank (position in all results incl. playlists/channels), videoId, title, channelName, channelId, channelUrl, views, publishedAgo ("2 weeks ago"), publishedAt (estimated from it), duration, durationSeconds, isShorts, isLive, isMovie, badges, description (snippet), thumbnailUrl, url; with a monitor: isNew, previousRank, rankChange (+3 = moved up 3), previousViews, viewsGainedvideo
keywordone per keyword: status, resultsReturned, searchPagesCharged, videosDelivered, shortsSkipped, outsideUploadWindow, alreadySeen, averageViews, topChannels, youtubeUrl, notessearch-page per page of 20 results returned
commentvideoId, videoTitle, position, text, likes, replyCount, publishedAgo, publishedAt, url; authorName, authorUrl, authorThumbnail only if you turn on commenter namescomment
video-commentsone per video whose comments you asked for: status (ok, no_comments, not_found), commentsCount (on the video), commentsDelivered, topCommentLikes, source (input or top-video)video-comments (not when the video is not found)
playlist, channelonly with Include playlists and channels: title, URL, channel, videos countfree

Input examples

The top 100 videos for two keywords in the United States:

{ "keywords": ["canva tutorial", "figma tutorial"], "maxVideosPerKeyword": 100 }

New uploads this week, no Shorts, with the top 50 comments of the first 3 videos:

{ "keywords": ["ai news"], "uploadedWithin": "week", "excludeShorts": true, "commentsForTopVideos": 3, "maxCommentsPerVideo": 50 }

Top comments of specific videos:

{ "videos": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ", "youtu.be/9bZkp7q19f0"], "maxCommentsPerVideo": 200 }

Tips

  • How deep YouTube goes (measured, Oct 2026): YouTube stops a search after a few hundred results. A popular keyword ("canva tutorial") returned 385 results (346 unique videos) when we asked for 700; niche keywords return fewer. You can ask for up to 700 videos per keyword; the keyword row says how many YouTube returned. You are charged only for the pages YouTube actually returned.
  • Comments: up to 700 comments per video (measured: 700 of 700 on a popular video), in YouTube's top-comments order, without replies. Videos with comments turned off return status: no_comments.
  • Upload date, not sort: YouTube no longer applies sort-by-date or sort-by-views to search results, so this Actor offers YouTube's upload-date filter instead. YouTube sometimes mixes a few older videos into filtered results; they are dropped (outsideUploadWindow) and not charged as videos.
  • Countries and languages: pick a country; its main language is used unless you set one (en, de, pt-BR...). Results for mobile can be requested too.
  • Monitor name keeps history per keyword, country, language, device and upload window in your Apify account (key-value store youtube-search-monitor). Only new videos returns just the videos not seen in earlier runs; the first run is the baseline.
  • publishedAt is an estimate computed from YouTube's relative date ("2 years ago"); use publishedAgo for the exact text YouTube showed.
  • Runs usually take under a minute (the data provider's standard queue). Views change constantly; scrapedAt tells you when each row was read.

Output example (one video, one comment)

{
"type": "video", "keyword": "canva tutorial", "rank": 1, "absoluteRank": 1, "videoId": "jzWxBuvwuwQ",
"title": "MASTER CANVA IN 15 MINUTES! Canva Tutorial For Beginners", "channelName": "Aurelius Tjin",
"views": 2481540, "publishedAgo": "2 years ago", "duration": "16:22", "durationSeconds": 982,
"isShorts": false, "badges": ["4K", "CC"], "url": "https://www.youtube.com/watch?v=jzWxBuvwuwQ",
"chargedEvents": ["video"]
}
{
"type": "comment", "videoId": "dQw4w9WgXcQ", "position": 1,
"text": "Is everyone going to ignore the fact that Rick Astley looks like a twelve year old boy but has a uniquely deep voice?",
"likes": 291000, "replyCount": 681, "publishedAgo": "6 years ago", "chargedEvents": ["comment"]
}

The dataset has four views: Overview, Videos (all fields), Comments and Keywords and videos. Export to CSV, Excel or JSON, or connect it to Google Sheets, Slack, Zapier or Make through Apify integrations.

Pricing (pay per event)

EventWhen it is charged
Actor startonce per run
videoone video delivered from a keyword search
search-pageone page of up to 20 search results YouTube returned for a keyword (100 videos = about 6 pages). Also charged when those results are already seen, Shorts you excluded or outside the upload window, because YouTube is still searched
video-commentsone video whose comments are fetched, also when it has few or none
commentone comment delivered

You are not charged for:

  • videos already seen in only-new mode, Shorts you excluded, older videos outside the upload window (beyond their results page);
  • videos that don't exist or are private (not_found), failed requests (the run says which inputs failed), invalid or duplicate inputs, keyword rows, playlists and channels;
  • a video that is both in your list and among the top videos of a search: fetched and charged once;
  • anything beyond your run's maximum charge. The run stops cleanly and lists what it didn't process.

Apify free plan: 3 keywords with up to 50 videos each, and comments for 5 videos (up to 100 each) per run. Any paid Apify plan unlocks up to 50 keywords, 700 videos per keyword, 200 videos with comments and 700 comments per video.

Privacy

Commenter names, channel links and avatars are personal data. They are left out by default; turn on Include commenter names only if you have a lawful reason to process them (for example, replying to your own audience). Comment texts belong to their authors. Monitor history stores video IDs, ranks and views in your own Apify account; delete the key-value store to reset it.

Use from AI agents (MCP)

AI assistants such as Claude, ChatGPT and Cursor can run this Actor through Apify's MCP server (https://mcp.apify.com). The agent can look up the Actor, read its input schema, run it and read the results. Runs use your own Apify account and are charged at the prices on this page.

  • Actor name: vncntlabs/youtube-search-scraper
  • Server URL with only this tool: https://mcp.apify.com?tools=vncntlabs/youtube-search-scraper. The default https://mcp.apify.com also works.
  • Claude (desktop app or claude.ai): Settings > Connectors > Add custom connector, paste the server URL, then sign in to Apify.
  • ChatGPT: turn on Developer mode, then Settings > Apps & Connectors > Create, paste the server URL and choose OAuth.
  • Cursor: add the server to mcp.json:
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=vncntlabs/youtube-search-scraper" } } }

Example prompt: "Use the Apify Actor vncntlabs/youtube-search-scraper to get the top 50 videos for "home workout" uploaded this month without Shorts, and summarise which channels dominate and their average views."

To cap the cost of an agent's run, it can pass maxTotalChargeUsd in the run options.

FAQ

Where does the data come from? From DataForSEO's licensed SERP API, which reads the public YouTube search results and video pages for the country and language you choose. The Actor does not log in anywhere and needs no YouTube API key.

Why fewer videos than I asked for? YouTube itself ends a search after a few hundred results (385 for a popular keyword in our test), and playlists, channels, duplicates, Shorts (if excluded) and videos outside the upload window are not counted as videos. The keyword row shows resultsReturned.

Can I get all comments or the replies? No: you get up to 700 top comments per video, without replies. This is a search tool with top comments, not a full comment downloader.

Can I sort by upload date or views? YouTube no longer honours those sort options on search results. Use Uploaded within to get recent videos, and sort the dataset by views or publishedAt yourself.

Is this an official YouTube API? No. This Actor uses DataForSEO's licensed API and is not affiliated with or endorsed by YouTube or Google. YouTube is a trademark of Google LLC.