YouTube Scraper avatar

YouTube Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
YouTube Scraper

YouTube Scraper

Scrape YouTube search results, channel metadata, and Shorts in one Actor. Extract clean JSON data for SEO, lead generation, competitor monitoring, and market research with contact enrichment. The ultimate YouTube scraper and channel data extractor.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

DataFusionX

DataFusionX

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Share

Scrape YouTube search results, videos, channels, Shorts, and competitor data with one powerful Actor. Extract clean structured JSON for SEO, lead generation, market research, and monitoring.

This is a complete YouTube scraper, YouTube search scraper, YouTube video scraper, and YouTube channel scraper built for speed, reliability, and production use.


🚀 Features

  • 6 scraper modes in a single Actor
    • Search Results
    • Video Details
    • Channel Info
    • Shorts
    • Keyword Monitor
    • Competitor Monitor
  • Full support for YouTube filters via official sp tokens (sort, duration, upload date, 4K/HD/LIVE, result type)
  • Clean, flat JSON output – ready for datasets, CRM, or analysis
  • Optional contact enrichment (email, phone, website, social links + lead score)
  • Concurrent processing with bounded workers
  • Pagination support
  • Language (hl) and geography (gl) localization
  • Desktop / mobile device emulation
  • Built for high success rate

📥 Input

FieldTypeRequiredDescriptionDefault
scraperTypeStringYesMode to runsearchResults
searchQueriesArrayNo*Keywords for search / shorts / monitors["python tutorial"]
videoUrlsArrayNo*Video URLs for videoDetails mode
channelUrlsArrayNo*Channel URLs for channel / competitorMonitor
maxPagesIntegerNoMax pages per query (0 = unlimited)3
maxResultsIntegerNoMax total results (0 = unlimited, hard cap 10 000)200
sortByStringNorelevance / rating / uploadDate / viewCountrelevance
resultTypeStringNoany / video / channel / playlistany
durationStringNoany / short / medium / longany
uploadDateStringNoany / hour / today / week / month / yearany
featuresArrayNo4k, hd, live, subtitles, …[]
hlStringNoUI language (en, es, de…)en
glStringNoCountry code (us, gb, de…)us
deviceStringNodesktop or mobiledesktop
spStringNoRaw YouTube sp token (overrides other filters)
includeContactEnrichmentBooleanNoExtract emails, phones, socials + lead scoretrue
fetchFullDescriptionsBooleanNoOpen videos to get full description (slower)false

* Required depending on the selected scraperType.

Input Example

{
"scraperType": "searchResults",
"searchQueries": ["best laptop 2026", "python tutorial"],
"maxPages": 3,
"maxResults": 150,
"sortBy": "viewCount",
"duration": "long",
"includeContactEnrichment": true
}

📤 Output

Every record is a flat JSON object pushed to the default dataset.

Common Fields

FieldDescription
typeRecord type (searchResult, short, videoDetail, channelInfo, keywordMonitorVideo…)
queryOriginal search query (when applicable)
title / video_titleVideo or Short title
link / video_urlCanonical YouTube URL
video_id11-character video ID
viewsView count (integer)
channel_nameChannel display name
channel_urlChannel URL
subscriber_countSubscriber count (integer when available)
description / channel_descriptionText used for enrichment
scraped_atISO timestamp
email, phone, website, social_links, lead_scoreContact enrichment fields

Example – Search Result

{
"type": "searchResult",
"query": "python tutorial",
"position_on_page": 1,
"title": "Python for Beginners – Full Course",
"link": "https://www.youtube.com/watch?v=rfscVS0vtbw",
"video_id": "rfscVS0vtbw",
"views": 42000000,
"length": "4:26:52",
"published_date": "3 years ago",
"description": "Learn Python ... contact@example.com",
"channel_name": "freeCodeCamp.org",
"channel_url": "https://www.youtube.com/@freecodecamp",
"channel_verified": true,
"email": "contact@example.com",
"lead_score": 45,
"scraped_at": "2026-08-21T07:30:00+00:00"
}

Example – Channel Info

{
"type": "channelInfo",
"channel_name": "Numberphile",
"channel_url": "https://www.youtube.com/@Numberphile",
"channel_handle": "@Numberphile",
"channel_verified": true,
"subscriber_count": 4500000,
"channel_description": "Videos about numbers...",
"thumbnail_url": "https://yt3.ggpht.com/...",
"scraped_at": "2026-08-21T07:30:00+00:00"
}

🔍 Use Cases

  • SEO & Content Research – Discover ranking videos and top channels for any keyword
  • Lead Generation – Extract emails, phones, Discord, Instagram, LinkedIn from descriptions
  • Competitor Monitoring – Track what competitors publish and how they rank
  • Keyword Monitoring – Snapshot search rankings over time
  • Market Research – Analyze trends, view counts, and audience engagement
  • Shorts Discovery – Find trending short-form content
  • Channel Analysis – Pull subscriber counts and descriptions at scale

❓ Frequently Asked Questions

How to scrape YouTube search results?

Set scraperType to searchResults, provide one or more searchQueries, choose sorting and filters, then run the Actor.

Can I scrape only channels or only videos?

Yes. Use the resultType field (video, channel, or playlist) or pass a custom sp token.

Does this work as a YouTube Shorts scraper?

Yes. Choose scraperType: "shorts" or filter search results for Shorts.

How does contact enrichment work?

When enabled, the Actor analyzes description text and extracts emails, phone numbers, websites, and social profiles (Instagram, X, LinkedIn, Discord, Telegram, etc.) plus a lead score (0–100).

Can I monitor keywords or competitors over time?

Yes. Use keywordMonitor or competitorMonitor modes. Each run produces a snapshot + ranked video records that you can store and compare.

Is this a YouTube video scraper and channel scraper?

Yes. The Actor supports dedicated modes for video details and channel information in addition to search.

Will I get blocked?

The Actor routes all requests through premium inbuilt residential infrastructure, which significantly reduces blocking compared with direct requests.

How many results can I get?

Up to 10 000 results per run (hard limit). Use maxResults and maxPages to control volume and cost.

Can I export the data?

Yes. Download the dataset as JSON, CSV, Excel, XML, or HTML from the Apify platform, or access it via API.


📌 Notes & Limitations

  • Only public data is scraped
  • Very deep pagination may return fewer results as YouTube exhausts the feed
  • Contact enrichment quality depends on what creators write in descriptions
  • fetchFullDescriptions increases runtime and credit usage
  • Respect YouTube’s Terms of Service and applicable laws

🏷️ Keywords

youtube scraper • youtube search scraper • youtube video scraper • youtube channel scraper • youtube shorts scraper • scrape youtube • yt scraper • youtube data extractor • youtube comment scraper • youtube lead generation • youtube competitor monitoring • youtube keyword monitor


📄 License

This Actor is provided for legitimate research, analysis, and business use. Users are responsible for complying with YouTube’s Terms of Service and all applicable laws.

---