Youtube Search Scraper
Pricing
$19.99/month + usage
Youtube Search Scraper
🔎 YouTube Search Scraper (youtube-search-scraper) extracts video titles, channels, views, dates, durations, thumbnails & links from YouTube SERPs. ⚡ Fast, reliable, API-ready with filters & pagination. 📊 Export JSON/CSV. 🚀 Ideal for SEO, research & content planning.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeFlow
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Youtube Search Scraper
The Youtube Search Scraper is a fast, reliable YouTube SERP scraper that lets you scrape YouTube search results at scale and turn them into clean, structured data. It solves the time‑consuming task of manually collecting video titles, channels, views, dates, durations, thumbnails, and links by automating YouTube search and returning developer‑ready JSON. Built for marketers, developers, data analysts, and researchers, this YouTube search scraper tool enables repeatable YouTube search data extraction pipelines for content research, SEO, and competitive analysis.
What data / output can you get?
Below are real output fields this YouTube search results scraper returns to the Apify dataset when collecting videos. Each field name matches the actual JSON keys pushed by the actor.
| Data field | Description | Example value |
|---|---|---|
| title | Video title | “Our Respect For Jim Carrey After Hearing This 📈! #Shorts” |
| type | Record type (“video”, “channel”, “error”, “info”) | “video” |
| channelName | Name of the channel that published the video | “The Graham Norton Show” |
| date | Publish date in ISO UTC where available | “2022-12-15T00:00:00Z” |
| text | Description snippet (first ~500 chars) | “Remember this next time you watch #TheGrinch!🎄 …” |
| thumbnailUrl | Video thumbnail URL | https://i.ytimg.com/vi/f5ksIepT2mE/hq720_2.jpg… |
| url | Canonical video URL | https://www.youtube.com/watch?v=f5ksIepT2mE |
| id | Video ID | “f5ksIepT2mE” |
| viewCount | View count (integer) | 36334432 |
| likes | Like count (integer) | 2206496 |
| commentsCount | Comment count (integer) | 10000 |
| commentsTurnedOff | Whether comments are disabled | false |
| duration | Video duration in H:MM:SS or M:SS | “0:52” |
| hashtags | Hashtags extracted from the description (up to 5) | [“#TheGrinch”, “#GrahamNortonShow”, …] |
| keywords | Video tags/keywords (up to 5) | [“Graham Norton”, “The Graham Norton Show”…] |
| channelId | Channel ID | “UC4PziMH5MvvsmqM0VCZTy-g” |
| channelUrl | Canonicalized channel URL when available | “http://www.youtube.com/@OfficialGrahamNorton” |
| channelUsername | Channel handle (e.g., @handle) or uploader name | “@OfficialGrahamNorton” |
| numberOfSubscribers | Channel subscriber count when available | 5470000 |
| channelViewCount | Channel total views when available | 4788755834 |
| channelVideoCount | Channel total videos when available | 2451 |
| hiddenSubscriberCount | Whether subscriber count is hidden | false |
| isMembersOnly | Whether the video is members-only | false |
| order | Result order within the query | 0 |
| input | The original query string | “https://www.youtube.com/@SecretRevealedbd” |
Bonus outputs:
- Channel records: When you provide channel URLs, the actor may also push channel records with fields such as type (“channel”), url, description, joined, country, subscribers, views, videos, canonicalChannelUrl, channelUsername, channelId, links, inputUrl, aboutUrl.
- Informational and error records: On edge cases, it may emit type “info” (with input/message) or type “error” items (with url or input and error message) for transparency.
You can export datasets in JSON or CSV directly from Apify, or access them programmatically via the Apify API.
Key features
-
💾 Live save to dataset
Results are written to the dataset as they’re scraped, so even if a run stops, you keep all collected YouTube search data. -
🌐 Smart proxy with automatic fallback
Starts with residential proxy mode for reliability and rotates on retry. If YouTube blocks requests, the actor automatically retries with RESIDENTIAL proxies to keep your YouTube SERP scraping stable. -
📊 Clean, flat JSON schema
Outputs a flat, file‑like schema with all key fields (titles, views, likes, comments, channel stats, hashtags, keywords, durations, links) ready for analytics and dashboards. -
↕️ Sorting & filters
Control YouTube search ordering and filtering just like on the site: sort by relevance, date, view count, or rating; limit by upload date and duration. -
⚡ Parallelized collection for speed
Uses concurrent requests and batch processing to collect multiple YouTube search results quickly, ideal for large keyword lists. -
🔌 API‑ready and integration friendly
Access results via the Apify API and plug them into workflows. Perfect for a YouTube search API scraper pipeline in Python or any backend. -
📤 Export to JSON/CSV
Download your dataset as JSON or CSV from Apify for further processing, enrichment, or reporting. -
🛡️ Production‑ready reliability
Built with retries, error signals, and proxy handling to keep your YouTube search results crawler stable at scale.
How to use Youtube Search Scraper - step by step
-
Sign up and log in to Apify
Create a free Apify account and sign in. -
Open the actor
Find “Youtube Search Scraper” on the Apify Store and open the actor. -
Add your input data
In the “Input” tab, add one or more search queries under queries. You can also paste full YouTube URLs (videos or channels) as items in queries. -
Set your collection limits
Adjust maxResults (1–2000 per query) to control how many search results to collect per keyword. -
Configure sorting and filters
Choose sortBy (relevance, date, viewCount, rating), and optionally set uploadDate and duration to refine results. -
(Optional) Configure proxy & logging
Leave proxyConfiguration empty to let the actor auto‑handle proxies (RESIDENTIAL) on blocks, or set your own Apify proxy. Enable debug for verbose logs. -
Run the actor
Click Start. Progress is logged as results are found and written to the dataset. -
Download your results
Open the run’s Dataset. Export to JSON or CSV, or pull programmatically via the Apify API.
Pro tip: Orchestrate this YouTube search results scraping automation from your code using the Apify REST API and schedule runs for ongoing keyword tracking.
Use cases
| Use case | Description |
|---|---|
| SEO & trend tracking | Monitor YouTube SERP data to spot rising topics and channels; quantify view counts, likes, and comments for competitive benchmarking. |
| Content research for marketers | Discover high‑performing videos and keywords with a YouTube video search scraper to guide editorial calendars and campaigns. |
| Competitive analysis | Track competitor channels’ presence in YouTube search results and aggregate channel stats for reporting. |
| Influencer & channel scouting | Find channels and creators for partnerships using a YouTube search keyword scraper and filter by recent uploads or duration. |
| Data pipelines & dashboards | Feed clean JSON into BI tools using a YouTube SERP data extractor; integrate via the Apify API for automated refreshes. |
| Academic & market research | Collect reproducible YouTube search datasets for studies on engagement, diffusion, or content formats without manual browsing. |
| QA for media libraries | Use a YouTube search results crawler to validate titles, durations, and availability for catalog updates. |
Why choose Youtube Search Scraper?
Built for precision and reliability, this YouTube search results scraper provides structured outputs, smart proxying, and developer‑friendly integration.
- ✅ Accurate, flat JSON designed for analytics and pipelines
- 🌍 Reliable at scale with automatic RESIDENTIAL proxy retries
- ⚡ Fast collection with parallel batches
- 🔧 Developer access via the Apify API and export to JSON/CSV
- 🧱 Safer than browser extensions and unstable automation; production‑ready infrastructure
- 🔎 Full control of sorting and filters to match YouTube’s SERP behavior
- 🔁 Consistent schema across runs for repeatable YouTube search data extraction
In short: a stable YouTube search scraper tool that outperforms ad‑hoc scripts and extensions for serious data operations.
Is it legal / ethical to use Youtube Search Scraper?
Yes, when done responsibly. The actor collects publicly available data from YouTube search results and channel/video pages. Always ensure your use complies with YouTube’s Terms of Service and applicable regulations.
Guidelines for responsible use:
- Scrape only public information and respect platform policies.
- Avoid personal or sensitive data collection.
- Comply with data protection laws (e.g., GDPR, CCPA) where applicable.
- Use results for legitimate business, research, or analytics purposes.
- Consult your legal team for edge cases or commercial reuse.
Input parameters & output format
Example input
{"queries": ["python programming","site:youtube.com data engineering"],"maxResults": 25,"sortBy": "relevance","uploadDate": "","duration": "","type": "video","proxyConfiguration": {"useApifyProxy": false},"debug": false}
Input fields
- queries (array of string) — One search query or URL per line. Default: ["python programming"]. Required: no.
- maxResults (integer) — Maximum results per query (1–2000). Default: 10. Required: no.
- sortBy (string) — Order by: relevance | date | viewCount | rating. Default: "relevance". Required: no.
- uploadDate (string) — Date filter: "" | lastHour | today | thisWeek | thisMonth | thisYear. Default: "". Required: no.
- duration (string) — Duration filter: "" | short | medium | long. Default: "". Required: no.
- type (string) — Search type: video | channel | playlist | movie. Default: "video". Required: no.
- proxyConfiguration (object) — Optional proxy settings. Leave empty for automatic handling. Required: no.
- debug (boolean) — Verbose logging. Default: false. Required: no.
Notes:
- You can include full YouTube URLs (video or channel) inside queries; the actor will handle them.
- When channel URLs are provided, channel records may be emitted with channel metadata fields.
Example output (video record)
{"title": "Our Respect For Jim Carrey After Hearing This 📈! #Shorts","type": "video","channelName": "The Graham Norton Show","date": "2022-12-15T00:00:00Z","text": "Remember this next time you watch #TheGrinch!🎄\n\n#GrahamNortonShow #GrahamNorton #TheGNShow #JimCarrey \n\nFollow us here:\nFacebook: https://www.facebook.com/thegrahamnor...\nInstagram: https://www.instagram.com/thegrahamno...\nTwitter: https://twitter.com/TheGNShow\nTikTok: https://www.tiktok.com/@thegnshow\nSnapchat: https://www.snapchat.com/discover/The......","thumbnailUrl": "https://i.ytimg.com/vi/f5ksIepT2mE/hq720_2.jpg?sqp=-oaymwEoCIAKENAF8quKqQMcGADwAQH4AbYIgAKAD4oCDAgAEAEYfyAVKBMwDw==&rs=AOn4CLAzefjTwGhQKzblpgUCZyLDC7G9yw","order": 0,"input": "https://www.youtube.com/@SecretRevealedbd","hashtags": ["#TheGrinch","#GrahamNortonShow","#GrahamNorton","#TheGNShow","#JimCarrey"],"channelId": "UC4PziMH5MvvsmqM0VCZTy-g","channelUrl": "http://www.youtube.com/@OfficialGrahamNorton","channelUsername": "@OfficialGrahamNorton","numberOfSubscribers": 5470000,"channelViewCount": 4788755834,"channelVideoCount": 2451,"hiddenSubscriberCount": false,"id": "f5ksIepT2mE","url": "https://www.youtube.com/watch?v=f5ksIepT2mE","viewCount": 36334432,"likes": 2206496,"commentsCount": 10000,"commentsTurnedOff": false,"duration": "0:52","keywords": ["Graham Norton","Graham Norton Show","The Graham Norton Show","The Graham Norton Show official","The Graham Norton Show new series"],"isMembersOnly": false}
Also possible (channel record when a channel URL is provided):
{"type": "channel","url": "https://www.youtube.com/@OfficialGrahamNorton","description": "…","joined": "…","country": "Not specified","subscribers": "…","views": "…","videos": "…","canonicalChannelUrl": "http://www.youtube.com/@OfficialGrahamNorton","channelUsername": "@OfficialGrahamNorton","channelId": "UC4PziMH5MvvsmqM0VCZTy-g","links": [],"inputUrl": "https://www.youtube.com/@OfficialGrahamNorton","aboutUrl": "https://www.youtube.com/@OfficialGrahamNorton/about"}
Fields that may be empty or “Unknown” depend on availability in YouTube responses (e.g., likes, comments, keywords, or channel statistics may be missing for some results).
Related tools
| Tool | Tool |
|---|---|
| ☎️ YouTube Channel Phone Number Scraper | 💬 YouTube Comments Scraper |
| 📝 YouTube Transcript Scraper | 🎥 YouTube Video Details Scraper |
| 📺 YouTube Channel Finder | 🧠 YouTube Video Summarizer |
| 👥 YouTube Community Posts Scraper | ⏱️ YouTube Most Replayed Scraper |
| 📊 YouTube Metadata Scraper | 🌐 YouTube Video Subtitles Scraper |
| 🔥 YouTube Trending Scraper | 🏷️ YouTube Video Scraper by Hashtag |
| 🎬 YouTube Shorts Scraper | 📂 YouTube Playlist Scraper |
| 📡 YouTube Channel Scraper | 📞 YouTube Phone Number Scraper |
| 📧 YouTube Email Scraper | 📨 YouTube Channel Email Scraper |
FAQ
Do I need a YouTube API key to use this?
No. You run the actor on Apify and it handles YouTube search collection internally, returning structured results to the dataset. You can then fetch them via the Apify API.
How many results can I collect per keyword?
You can set maxResults between 1 and 2000 per query. The actor will collect up to that limit for each search term you provide.
What kinds of data does it return?
It returns video‑level fields like title, url, id, viewCount, likes, commentsCount, duration, date, thumbnailUrl, hashtags, keywords, and channel metrics such as channelId, channelUrl, channelUsername, numberOfSubscribers, channelViewCount, and channelVideoCount. When channel URLs are provided, channel records with description/subscriber/view/video text fields may also be included.
Does it work for YouTube Shorts?
Yes. The scraper processes standard video results and can handle /shorts/ links or Shorts surfaced in search.
Can I control sorting and apply filters?
Yes. You can sort by relevance, date, viewCount, or rating and optionally filter by uploadDate and duration to refine YouTube search results.
How do I integrate this into my app or data pipeline?
Run the actor via the Apify API, then pull the dataset in JSON or CSV. This makes it a practical YouTube search API scraper alternative for dashboards, ETL, and analytics workflows.
Is this a YouTube search results scraper without browser extensions?
Yes. It operates server‑side on Apify infrastructure with smart proxy handling and retries—no browser extension required.
Is it legal to use?
Yes, when used responsibly. Only collect publicly available data, follow YouTube’s Terms of Service, and comply with relevant data protection laws. For specific use cases, consult your legal team.
Closing CTA / Final thoughts
The Youtube Search Scraper is built to turn YouTube search into structured, analytics‑ready data. With live dataset saves, smart proxy handling, clean JSON, and export to JSON/CSV, it’s ideal for marketers, developers, analysts, and researchers who need dependable YouTube SERP data. Run it on a schedule via the Apify API, power a Python pipeline, or feed BI dashboards—then start extracting smarter insights from YouTube search at scale.