Fast YouTube Search Results Scraper
Pricing
$1.00 / 1,000 results
Fast YouTube Search Results Scraper
Scrape YouTube search results by keyword. Filter videos by upload date, duration, and captions. Collect titles, views, video links, and channel data for content research and automated workflows. Export to JSON, CSV, or Excel. No YouTube API key required.
Pricing
$1.00 / 1,000 results
Rating
5.0
(2)
Developer
Matthew James
Maintained by CommunityActor stats
9
Bookmarked
68
Total users
2
Monthly active users
19 days ago
Last modified
Categories
Share
Fast YouTube Search Results Scraper helps you find relevant videos for research and automation. Search by keyword, filter by upload date, duration, and captions, then export video and channel data to JSON, CSV, or Excel. No YouTube account or YouTube Data API key is required.
Collect a few videos for a scheduled workflow or search several topics in one run.
Features
- Search multiple topics at once: Enter a list of search terms and collect results for each query.
- Go beyond the first page: Automatically collect more results, up to your chosen limit per query.
- Find fresh content: Filter by upload date, including Last hour, Today, This week, This month, and This year.
- Choose video length: Find videos under 3 minutes, between 3 and 20 minutes, or over 20 minutes.
- Find videos with captions: Use YouTube's Subtitles/CC filter to narrow your search.
- Sort for your research: Order results by relevance, upload date, view count, or rating.
- Get cleaner results: Automatically remove repeat videos within each query while keeping the search term attached to every result.
- Use data in your workflows: Get video links, view counts, duration in seconds, channel IDs, and more.
- Identify Shorts: Flag Shorts when YouTube identifies them in supported video results.
- Keep collected results: Results are saved as the search progresses, so a later failure does not discard earlier results.
Use cases for YouTube search data
- Content research: Find videos about your topic and compare titles, lengths, and displayed view counts.
- Find relevant channels: Discover creators publishing about a niche, then use channel IDs and links in your research.
- Monitor new content: Combine an upload-date filter with scheduled runs to collect recent search results. Compare video IDs across runs to identify new videos.
Export YouTube search results to CSV or JSON
After a run, open its dataset and select Export. Choose CSV for spreadsheets, JSON for applications, or Excel for analysis. Every row includes the original search query, so results remain traceable when you search several topics at once.
Data Output Structure
- dateScraped: ISO8601 timestamp of when this data was scraped.
- query: The original search term used to generate this result.
- filterUsed: Upload-date filter applied to the search (e.g. "This month").
- sortByUsed: Human-readable sort order used (e.g. "Relevance").
- videoId: Unique YouTube video ID.
- watchUrl: Direct link to the YouTube video.
- timePosted: How long ago the video was uploaded in human-readable format.
- title: Title of the YouTube video.
- description: Description snippet shown in the search result.
- thumbnail: URL of the video's thumbnail image.
- viewCount: Numeric view count. Abbreviated counts such as 1.2M are converted to numbers; these remain estimates. Returns
nullwhen unavailable. - length: Duration of the video in HH:MM:SS or MM:SS format.
- durationSeconds: Numeric duration in seconds, or
nullwhen unavailable (for example, a live stream). - channelId: YouTube channel ID for matching videos to channels, or
nullwhen unavailable. - channelName: Name of the channel that uploaded the video.
- channelThumbnail: URL of the channel's avatar image.
- channelUrl: Direct link to the YouTube channel.
- isShort: Whether YouTube identifies the video as a Short in the returned result.
Example Output
{"dateScraped": "2025-07-01T00:00:00.000Z","query": "python tutorial","filterUsed": "This month","sortByUsed": "Relevance","videoId": "abc123XYZ","watchUrl": "https://www.youtube.com/watch?v=abc123XYZ","timePosted": "2 days ago","title": "Python Basics for Beginners","description": "Learn variables, loops, and functions in this beginner-friendly Python tutorial.","thumbnail": "https://i.ytimg.com/vi/abc123XYZ/hqdefault.jpg","viewCount": 9876,"length": "12:34","durationSeconds": 754,"channelId": "UC1234567890","channelName": "Example Coding Channel","channelThumbnail": "https://yt3.ggpht.com/placeholder-avatar=s68-c-k-c0x00ffffff-no-rj","channelUrl": "https://www.youtube.com/channel/UC1234567890","isShort": false}
Use with n8n, Make, or the Apify API
Use Apify's integration in n8n or Make to run this Actor with your search terms. Wait for the run to finish, then retrieve its default dataset items for the next step in your workflow.
For a custom application, use the endpoints in this Actor's API tab to start a run and retrieve its results. You need an Apify API token, but no YouTube Data API key. Apify schedules can repeat searches automatically, and webhooks can notify your workflow when a run finishes.
Example payload for workflow integration:
Find captioned videos between 3 and 20 minutes long, uploaded this year, and sorted by view count:
{"searchQueries": ["apify","scraping"],"maxResults": 10,"filter": "This year","sortBy": "View count","duration": "3 - 20 minutes","captionsOnly": true}
Customize your search
- Duration: Set
durationtoAny(default),Under 3 minutes,3 - 20 minutes, orOver 20 minutes. - Captions: Set
captionsOnlytotrueto find videos using YouTube's Subtitles/CC filter. The default isfalse. - Result limit: Set
maxResultsto the maximum number of unique videos you want per query. The default is 10. Set it to0for no result-count cap; time limits still apply. - Combine filters: Use duration and captions together with upload date and sorting to focus your results.
A video that matches multiple search terms can appear once under each term, so you can see which searches found it. Repeating the exact same search term does not run it twice.
What to expect
YouTube may return fewer videos than your requested limit. Each query has a 110-second time limit; a query that exceeds it fails, but results already collected remain available.
Caption availability does not guarantee downloadable transcripts or captions in a specific language. The Actor collects standard video results; dedicated Shorts shelves and other special result sections are not fully covered.
Frequently asked questions
Do I need a YouTube API key or account?
No. Enter search terms in Apify without supplying YouTube credentials. Programmatic access through the Apify API requires an Apify API token.
Can I search multiple keywords at once?
Yes. Add several terms to Search Queries. Max Results applies separately to each unique query, not to the entire run.
Does this Actor download captions or transcripts?
No. Only Videos with Captions applies YouTube's Subtitles/CC search filter. Use a separate transcript Actor to retrieve available transcript text. Caption discovery does not guarantee that a transcript can be downloaded.
Are duplicates removed?
Repeated video IDs are removed within each query. Videos matching different queries remain under each matching term. Separate runs have separate results; compare query and videoId if you combine their datasets.
Can I download the actual videos?
No. This Actor collects search-result metadata and video links, not video files.
YouTube transcript extraction
Need transcripts for the videos you find? Use YouTube Transcript Scraper And Formatter to retrieve available transcripts in plain text, SRT, or VTT. Pass this Actor's watchUrl values into its videoUrls input.
Transcript extraction is a separate step with its own pricing and availability limits. A video appearing in a caption-filtered search does not guarantee that its transcript can be retrieved.