Youtube Search Scraper avatar

Youtube Search Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Youtube Search Scraper

Youtube Search Scraper

🔎 YouTube Search Scraper (youtube-search-scraper) extracts titles, URLs, channels, views, duration & upload date from YouTube search results. 📊 Great for SEO, market research & content strategy. 🤖 Automate keyword tracking, competitor intel & datasets via API.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeLabs

ScrapeLabs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Youtube Search Scraper

Youtube Search Scraper is a fast, reliable YouTube SERP scraper that finds videos and channels from search queries and returns clean, flat JSON with titles, URLs, views, likes, comments, durations, upload dates, and channel stats. It helps marketers, developers, researchers, and analysts scrape YouTube search results at scale without manual browsing — a practical YouTube search API alternative for keyword tracking, competitor intel, and exporting YouTube search results to CSV.

What data / output can you get?

Below are the primary fields this YouTube search results scraper emits to the dataset. Field names match the actual output schema.

Data typeDescriptionExample value
titleVideo title“Our Respect For Jim Carrey After Hearing This 📈! #Shorts”
typeRecord type; “video” or “channel”“video”
urlVideo or channel URLhttps://www.youtube.com/watch?v=f5ksIepT2mE”
dateISO upload timestamp (when available)“2022-12-15T00:00:00Z”
durationFormatted video length (m:ss or h:mm:ss)“0:52”
viewCountVideo views (integer)36334432
likesVideo like count (integer)2206496
commentsCountNumber of comments (integer)10000
channelNameDisplay name of the uploader/channel“The Graham Norton Show”
channelUsernameChannel handle (if detected)“@OfficialGrahamNorton”
channelUrlCanonicalized channel URLhttp://www.youtube.com/@OfficialGrahamNorton”
channelViewCountChannel-wide views (integer)4788755834
channelVideoCountTotal number of channel videos (integer)2451
numberOfSubscribersChannel subscriber count (integer)5470000
hashtagsUp to 5 hashtags extracted from description[“#TheGrinch”, “#GrahamNortonShow”]
keywordsUp to 5 keywords from tags[“Graham Norton”, “The Graham Norton Show”]
idVideo ID“f5ksIepT2mE”
commentsTurnedOffWhether comments are disabledfalse
isMembersOnlyWhether the video is members-onlyfalse
thumbnailUrlVideo thumbnail URLhttps://i.ytimg.com/vi/f5ksIepT2mE/hq720_2.jpg…”
textDescription snippet (truncated)“Remember this next time you watch #TheGrinch!…”

Notes:

  • The scraper also outputs channel records when you input channel URLs, including fields like description, joined, country, subscribers, views, videos, canonicalChannelUrl, channelUsername, channelId, links, inputUrl, and aboutUrl.
  • All results are stored in the Apify dataset, which you can export to JSON, CSV, or Excel.

Key features

  • 💾 Live-save dataset writes Results are written as they’re found, so if a run stops, you keep everything collected so far.

  • 🌐 Smart proxy & resilient retries Runs without proxy by default and automatically switches to RESIDENTIAL if YouTube blocks requests, rotating proxy URLs and retrying for reliability.

  • 🧩 Flat, analytics-ready JSON Clean, flat schema for videos (titles, views, likes, comments, upload date, duration, tags/hashtags) and channels (canonical URL, handle, counts).

  • 🔎 Filtered search & sorting Control maxResults (1–2000) and sort by relevance, date, view count, or rating. Optionally filter by upload date window and video duration.

  • ⚡ Parallel collection at scale Batches and processes results concurrently for faster collection — ideal for large keyword lists and ongoing monitoring.

  • 🔗 Channel URL & handle normalization Extracts @handles and resolves canonical channel URLs for consistent, deduplicated datasets.

  • 👩‍💻 Developer-friendly Built with the Apify SDK and yt-dlp for robust scraping. Easy to integrate into workflows as a YouTube search results scraper Python/Node.js pipeline via Apify APIs.

  • 📤 Easy exports & integrations Export datasets to JSON, CSV, or Excel. Connect to your dashboards, BI tools, or automation stacks as a YouTube search scraping tool.

How to use Youtube Search Scraper - step by step

  1. Create an Apify account or log in.
  2. Open “Youtube Search Scraper” in the Apify Store.
  3. Add your input:
    • Enter one or more items in queries. Each item can be a search keyword (e.g., “python programming”) or a full YouTube URL (video or channel).
  4. Configure filters (optional):
    • maxResults: 1–2000 per query.
    • sortBy: relevance, date, viewCount, or rating.
    • uploadDate filter and duration filter as needed.
  5. Proxy settings (optional):
    • Leave proxyConfiguration empty for default behavior; the actor will automatically switch to RESIDENTIAL if needed.
  6. Toggle debug (optional):
    • Set debug to true for verbose logging during troubleshooting.
  7. Run the actor:
    • Click Start. Progress logs show search, collection, retries, and completions.
  8. Download results:
    • Open the dataset and export to JSON, CSV, or Excel for analysis and integration.

Pro tip: Use a single run with multiple queries to scrape YouTube search results in bulk. Schedule runs to track keywords over time and feed a YouTube search crawler dataset to your dashboards.

Use cases

Use case nameDescription
SEO & keyword researchTrack rankings, volumes, and engagement for target terms to guide content strategy with a YouTube SERP scraper.
Competitor monitoringMonitor competitor uploads and performance metrics to benchmark and react faster.
Content discoveryIdentify high-performing topics, niches, and formats to scrape YouTube search results and plan production.
Short-form analysisEvaluate short videos surfaced in search to refine quick-hit content strategy.
Market researchBuild structured datasets of search results to analyze trends and audience interests with a YouTube search data extractor.
Data pipelines (API)Trigger runs via API and export YouTube search results to CSV/JSON for ETL, enrichment, or ML workflows.
Academic & media researchCollect reproducible datasets for experiments, reports, or newsroom investigations.

Why choose Youtube Search Scraper?

Youtube Search Scraper prioritizes precision, automation, and reliability for search-focused YouTube data extraction.

  • ✅ Accurate, flat results: Clean JSON with normalized channel URLs and handles.
  • ⚡ Built for scale: Collect up to thousands of results per run; parallelized for speed.
  • 👩‍💻 Developer access: Easy to automate; works as a YouTube search API alternative for pipelines.
  • 🌍 Smart proxying: Automatic switch to RESIDENTIAL with retries to reduce blocks.
  • 🔒 Safer than extensions: No fragile browser automation; production-grade infrastructure.
  • 💾 Export-ready: Download as JSON, CSV, or Excel for BI or warehousing.

In short: a production-ready YouTube search results extractor that outperforms manual scraping and unstable tools.

Yes — when used responsibly. This actor collects publicly available information and does not access private or authenticated content.

Guidelines for compliant use:

  • Only collect public video and channel data.
  • Respect platform terms and applicable laws (e.g., GDPR/CCPA).
  • Avoid scraping private, unlisted, or restricted content.
  • Use data for legitimate research, analysis, or operational needs.
  • Consult your legal team for edge cases or regulated workflows.

Input parameters & output format

Example JSON input

{
"queries": [
"python programming",
"site reliability engineering"
],
"maxResults": 20,
"sortBy": "relevance",
"uploadDate": "",
"duration": "",
"type": "video",
"proxyConfiguration": {},
"debug": false
}

Input parameters

  • queries (array of strings)

  • maxResults (integer)

    • Description: Maximum number of results to fetch for each query (1–2000). Higher values collect more data but take longer.
    • Default: 10
    • Required: No
  • sortBy (string; enum: relevance, date, viewCount, rating)

    • Description: How YouTube results are ordered.
    • Default: "relevance"
    • Required: No
  • uploadDate (string; enum: "", lastHour, today, thisWeek, thisMonth, thisYear)

    • Description: Restrict results by upload date window. Leave empty for no filter.
    • Default: ""
    • Required: No
  • duration (string; enum: "", short, medium, long)

    • Description: Only include videos by length: Short (<4 min), Medium (4–20 min), Long (>20 min). Leave empty for no filter.
    • Default: ""
    • Required: No
  • type (string; enum: video, channel, playlist, movie)

    • Description: Type of results to return. Use “video” for standard search results.
    • Default: "video"
    • Required: No
  • proxyConfiguration (object)

    • Description: No proxy by default. If blocked, the actor automatically switches to RESIDENTIAL. You can configure a custom proxy here.
    • Default: {}
    • Required: No
  • debug (boolean)

    • Description: Verbose logging for troubleshooting (requests, retries, proxy switches).
    • Default: false
    • Required: No

Example JSON output (video, channel, and error records)

[
{
"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!…",
"thumbnailUrl": "https://i.ytimg.com/vi/f5ksIepT2mE/hq720_2.jpg",
"order": 0,
"input": "jim carrey shorts",
"hashtags": [
"#TheGrinch",
"#GrahamNortonShow"
],
"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",
"The Graham Norton Show"
],
"isMembersOnly": false
},
{
"type": "channel",
"url": "https://www.youtube.com/@HistoBlend",
"description": "Bangladesh's HIDDEN Underwater Canyon Secret Revealed…",
"joined": "Nov 19, 2024",
"country": "Not specified",
"subscribers": "N/A",
"views": "N/A",
"videos": "N/A",
"canonicalChannelUrl": "http://www.youtube.com/@HistoBlend",
"channelUsername": "@HistoBlend",
"channelId": "UCNZXmz7rTzCbW85E9xbT4Bg",
"links": [],
"inputUrl": "https://www.youtube.com/@HistoBlend",
"aboutUrl": "https://www.youtube.com/@HistoBlend/about"
},
{
"type": "error",
"input": "python programming",
"error": "YouTube bot detection encountered"
}
]

Notes:

  • Video records include engagement and channel stats; channel records are emitted when you input channel URLs.
  • Some channel fields (subscribers, views, videos) may appear as “N/A” if the About page is not parsed due to speed optimizations.
🧰 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 YouTube SERP scraper?

No. Youtube Search Scraper runs on Apify and collects public search results without requiring a YouTube API key. It’s a practical YouTube search API alternative for structured, SERP-style data.

Can I scrape channels as well as videos?

Yes. If you add channel URLs to queries, the actor emits channel records with fields like description, joined, country, canonicalChannelUrl, and channelId. Search queries produce video records.

How many results can I collect per query?

You control this with maxResults. The allowed range is 1–2000 per query. Larger values collect more results but take longer.

Does it handle YouTube Shorts?

Yes. Shorts surface in search like standard videos. The scraper collects them as type=video with duration formatting and engagement metrics when available.

What formats can I export to?

All results are stored in your Apify dataset. You can export to JSON, CSV, or Excel for downstream analysis or workflows.

How does proxying work?

The actor uses a smart proxy strategy. It runs without proxy by default and automatically switches to RESIDENTIAL if YouTube blocks the request, rotating proxy URLs and retrying for reliability.

Is there a free trial?

Apify provides trial minutes so you can test the actor before subscribing. When you’re ready for production, upgrade to the monthly plan listed on the actor’s page.

Can I integrate this with Python or Node.js?

Yes. Trigger runs and fetch datasets via Apify’s APIs to build a YouTube search results scraper Python or Node.js pipeline. The actor outputs clean JSON that’s easy to parse.

Final thoughts

Youtube Search Scraper is built to extract structured YouTube search data at scale. With live-save results, smart proxying, filtered search, and flat JSON output, it’s ideal for marketers, developers, analysts, and researchers. Run it on schedules, export YouTube search results to CSV/JSON, and plug them into your dashboards or pipelines. Start extracting smarter YouTube search insights and automate your SERP monitoring today.