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) pulls YouTube SERP data—titles, links, channels, views, durations, publish dates, thumbnails & snippets. 📈 Ideal for SEO, trend research & competitor analysis. ⚙️ Supports filters, locales & pagination. 🚀 Fast, API-ready.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeMesh

ScrapeMesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 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 keywords or direct URLs, then exports clean, flat JSON for analysis. It helps you scrape YouTube search results at scale — titles, links, channels, views, likes, durations, publish dates, hashtags, thumbnails, and more — without manual browsing. Built for marketers, developers, data analysts, and researchers, this YouTube search scraping tool enables automated discovery, competitive tracking, and trend research with export-ready datasets.

What data / output can you get?

Below are real output fields returned by the YouTube search results extractor. Values are pushed live to the Apify dataset during the run and can be exported as JSON, CSV, or Excel.

Data typeDescriptionExample value
titleVideo title“Our Respect For Jim Carrey After Hearing This 📈! #Shorts”
typeRecord type (“video”, “channel”, “error”, “info”)“video”
urlVideo or channel URLhttps://www.youtube.com/watch?v=f5ksIepT2mE”
idYouTube video ID“f5ksIepT2mE”
channelNameChannel display name“The Graham Norton Show”
channelUsernameChannel handle (if detected)“@OfficialGrahamNorton”
channelUrlCanonical channel URL (handle/ID)http://www.youtube.com/@OfficialGrahamNorton”
datePublish date (ISO 8601)“2022-12-15T00:00:00Z”
durationVideo duration (m:ss or h:mm:ss)“0:52”
viewCountTotal views36334432
likesTotal likes2206496
commentsCountTotal comments10000
commentsTurnedOffWhether comments are disabledfalse
thumbnailUrlVideo thumbnail URLhttps://i.ytimg.com/vi/f5ksIepT2mE/hq720_2.jpg...”
hashtagsExtracted hashtags from description (up to 5)["#TheGrinch","#GrahamNortonShow"]
keywordsExtracted tags/keywords (up to 5)["Graham Norton","The Graham Norton Show"]
numberOfSubscribersChannel subscriber count (if available)5470000
channelViewCountChannel view count (numeric if derivable)4788755834
channelVideoCountChannel video count (numeric if derivable)2451
hiddenSubscriberCountWhether subscriber count is hiddenfalse
isMembersOnlyWhether the video is members-onlyfalse
orderResult order within the query0
inputOriginal query or URL that produced the itemhttps://www.youtube.com/@SecretRevealedbd”

Bonus: When a channel URL is provided, the scraper also emits “channel” records with fields like description, joined, country, subscribers, views, videos, canonicalChannelUrl, aboutUrl, and inputUrl — useful for YouTube channel search scraper use cases.

Key features

  • 🔄 Live-save dataset output
    Results are written to the dataset as they’re scraped, so partial results are preserved even if a run stops. Perfect for long or large searches.

  • 🛡️ Residential-proxy reliability
    The run starts with RESIDENTIAL proxy and retries up to 3 times with rotated proxy URLs to bypass blocks and “sign in to confirm” challenges — a robust YouTube search API alternative.

  • 🧱 Flat, analysis-ready JSON
    Emits a flat schema for each video with fields like title, url, date, duration, viewCount, likes, commentsCount, channel stats, hashtags, and keywords. Ideal for dashboards and pipelines that parse YouTube search results JSON.

  • 🔍 Sorting and result limits
    Control ordering with sortBy (relevance/date/views/rating) and size with maxResults (1–2000) per query to automate YouTube search scraping at scale.

  • 🧰 Flexible inputs
    Search by keywords or provide direct video/channel URLs in your workflow. Great for YouTube video search scraper and YouTube channel search scraper tasks.

  • 🧑‍💻 Developer-friendly & API-ready
    Built on Apify with clean dataset outputs. Easily integrate into Python/Node pipelines or connect to n8n, Make, or your internal ETL jobs as a YouTube search results scraper API alternative.

  • 💾 Easy data export
    Download results from the default dataset in JSON, CSV, or Excel and feed them into BI tools or marketing analytics.

How to use Youtube Search Scraper - step by step

  1. Create your Apify account
    Sign up or log in on Apify. You’ll get trial minutes to test runs.

  2. Open the actor
    Find “youtube-search-scraper” on the Apify Marketplace and click Try for free.

  3. Add your input
    Enter one or more search queries under queries (e.g., “python programming”, “best cooking channels”). You can mix keywords and YouTube URLs across runs.

  4. Set limits and sorting
    Adjust maxResults (1–2000) and choose sortBy (relevance, date, viewCount, rating) to shape your YouTube SERP scraper output.

  5. Optional: Proxy configuration
    Leave proxyConfiguration empty to use the default behavior; the actor uses RESIDENTIAL proxies automatically for reliability.

  6. Start the run
    Click Start. The actor searches, collects, and writes items to the dataset as it goes. Logs show progress and retry behavior.

  7. Export your results
    When finished (or even mid-run), open the dataset and export to JSON, CSV, or Excel for downstream analysis or automation.

Pro tip: Trigger runs via the Apify API and pipe results straight into your data warehouse to automate YouTube search data export on a schedule.

Use cases

Use case nameDescription
Marketing trend researchTrack top results for strategic keywords and measure view growth, likes, and comments across time to inform campaigns.
SEO for YouTubeAnalyze SERPs by relevance/date/views/rating to spot ranking patterns and optimize titles, durations, and hashtags.
Competitor monitoringWatch competitors’ uploads and channel metrics with a repeatable YouTube search results scraper pipeline.
Content discoveryFind high-performing topics and Shorts for creators using a YouTube video search scraper workflow.
Data enrichment for BIFeed flat JSON into dashboards to correlate views/engagement with publishing cadence and duration.
Academic & market researchBuild reproducible datasets of YouTube search results JSON for longitudinal studies and content analyses.
Automation pipelinesOrchestrate scheduled runs and export results to CSV or JSON for ingestion by n8n/Make or internal ETL jobs.

Why choose Youtube Search Scraper?

Youtube Search Scraper is engineered for precision, reliability, and scale so teams can move from browsing to analysis fast.

  • ✅ Accurate, flat JSON that’s easy to parse and index
  • 🛡️ Starts with RESIDENTIAL proxy and retries smartly for high success rate
  • ⚡ Parallel processing for faster collection across queries
  • 🧰 Developer-first design — integrate via Apify datasets and APIs
  • 🔒 No login or cookies required for public data collection
  • 💸 Cost-effective alternative to fragile browser extensions or manual workflows
  • 🔌 Export-ready for CSV/Excel/JSON and easy to wire into automation tools

Compared with browser extensions and unstable scripts, this production-ready YouTube SERP scraper delivers consistent, structured output with infrastructure you can trust.

Yes — when used responsibly. This actor collects publicly available YouTube data. You are responsible for ensuring your use complies with YouTube’s Terms of Service and applicable laws.

Guidelines for responsible use:

  • Scrape only publicly available content and respect platform rules.
  • Avoid private, unlisted, or restricted content.
  • Comply with data protection regulations (e.g., GDPR, CCPA) as applicable.
  • Use results for legitimate business, research, or analytical purposes.
  • Consult your legal team for edge cases or jurisdiction-specific requirements.

Input parameters & output format

Example input

{
"queries": [
"python programming",
"best cooking channels"
],
"maxResults": 25,
"sortBy": "relevance",
"uploadDate": "",
"duration": "",
"type": "video",
"proxyConfiguration": {},
"debug": false
}

All input parameters (from schema)

  • queries (array of string)
    Description: One search query or URL per line. Examples: « python programming », « best cooking channels », or a full URL like https://www.youtube.com/watch?v=... or https://www.youtube.com/@ChannelName. Mix keywords and URLs in the same run.
    Default: ["python programming"]
    Required: No

  • maxResults (integer)
    Description: Maximum number of results to fetch for each query (1–2000). Higher values mean more data but longer runs. Default 10 is good for quick tests.
    Default: 10
    Required: No

  • sortBy (string; one of: "relevance", "date", "viewCount", "rating")
    Description: How YouTube results are ordered: by relevance, upload date, view count, or rating.
    Default: "relevance"
    Required: No

  • uploadDate (string; one of: "", "lastHour", "today", "thisWeek", "thisMonth", "thisYear")
    Description: Restrict results to a time window. Leave “None” for no date filter.
    Default: ""
    Required: No

  • duration (string; one of: "", "short", "medium", "long")
    Description: Only include videos in a length range (Short <4 min, Medium 4–20 min, Long >20 min).
    Default: ""
    Required: No

  • type (string; one of: "video", "channel", "playlist", "movie")
    Description: Type of results to return. Use “video” for standard search results.
    Default: "video"
    Required: No

  • proxyConfiguration (object)
    Description: Optional proxy settings. If omitted, the actor uses its built-in behavior with residential proxies for reliability.
    Default: none
    Required: No

  • debug (boolean)
    Description: Turn on for extra log output (requests, retries, proxy switches). Useful for troubleshooting.
    Default: false
    Required: No

Also accepted via API (read from code)

  • urls (array of string or objects with a "url" field) — Provide direct YouTube video or channel URLs to collect data without searching. Optional.
  • cookiesPath (string) — Path to a cookies file for yt-dlp if you need it. Optional.

Example output (video items)

{
"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",
"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
}

Example output (channel items from channel URLs)

{
"type": "channel",
"url": "https://www.youtube.com/@OfficialGrahamNorton",
"description": "Channel description text...",
"joined": "Jan 1, 2010",
"country": "Not specified",
"subscribers": "N/A",
"views": "N/A",
"videos": "N/A",
"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"
}

Example output (info/error helpers)

{ "type": "info", "input": "python programming", "message": "No results" }
{ "type": "error", "error": "No queries or URLs provided." }
{ "type": "error", "url": "https://www.youtube.com/@someChannel", "error": "Failed to parse channel metadata" }

Notes:

  • Some fields may be “N/A” or zero when not available on the page (e.g., hiddenSubscriberCount, channel stats).
  • Hashtags and keywords are heuristically extracted and limited to up to 5 items each.
ToolTool
☎️ 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

Is there a free trial for this YouTube search scraping tool?

Yes. The actor listing includes trial minutes so you can test runs before subscribing. This makes it easy to evaluate the YouTube SERP scraper workflow end-to-end.

Do I need to log in or provide cookies?

No. The actor collects publicly available data and does not require login or cookies. An optional cookiesPath is supported via API if you have a specialized use case.

How many results can I collect per query?

You can set maxResults from 1 to 2000 per query. The tool iterates through YouTube search results and returns a flat list, making it ideal to scrape YouTube search results at scale.

Can I sort results?

Yes. Use sortBy to order by relevance, date, viewCount, or rating. This helps you tailor the YouTube search results parser to your analysis needs.

Can I input direct URLs instead of search terms?

Yes. You can pass video or channel URLs via urls in the input to fetch details directly without running a search — great for targeted YouTube channel search scraper use cases.

What formats can I export to?

All runs write to the default Apify dataset. You can export to JSON, CSV, or Excel from the dataset UI or programmatically — a simple path to YouTube search data export.

Is this a YouTube Search API replacement?

It’s a practical YouTube search API alternative for many workflows. Instead of relying on official quotas, it uses resilient scraping with residential proxies and returns structured YouTube search results JSON.

What happens if YouTube blocks requests?

The actor starts with RESIDENTIAL proxies and retries with rotated proxy URLs up to 3 times. This improves success rates for automated YouTube search scraping.

Closing CTA / Final thoughts

Youtube Search Scraper is built to automate YouTube search result collection with clean, flat JSON you can trust. With residential-proxy reliability, live-save datasets, and export-ready records, it’s a production-ready YouTube search results scraper for marketers, developers, analysts, and researchers. Connect it to your pipelines as a YouTube search results scraper API alternative, export JSON/CSV/Excel for BI, and start extracting smarter insights from YouTube search today.