YouTube Video & Channel Scraper avatar

YouTube Video & Channel Scraper

Pricing

from $10.00 / 1,000 results

Go to Apify Store
YouTube Video & Channel Scraper

YouTube Video & Channel Scraper

Scrape YouTube videos, Shorts, channels, playlists, and search results. Extract titles, views, likes, comments, subscriber counts, descriptions, and subtitles.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

bhansalisoft

bhansalisoft

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

YouTube Video & Channel Scraper

Scrape YouTube videos, Shorts, channels, playlists, and search-result data with the Bhansalisoft YouTube Scraper on Apify. Use extracted data for content research, channel analysis, trend monitoring, reporting, and other permitted research workflows.

Important: Available fields depend on the source page, video type, YouTube's current interface, and access restrictions. Some data may be unavailable, hidden, rounded, or change over time. Validate important results before relying on them.

Features

  • Scrape YouTube video URLs and Shorts URLs.
  • Collect video metadata such as title, URL, video ID, description, thumbnail, duration, and publication date when available.
  • Extract engagement metrics such as views, likes, and comments when publicly available.
  • Collect channel details such as channel name, channel URL, channel ID, and subscriber count when available.
  • Process supported YouTube search, channel, and playlist inputs according to the Actor's configured input options.
  • Export results using Apify's supported dataset export formats.
  • Run the scraper through the Apify Console or Apify API.

Metric accuracy note: YouTube may not expose every metric for every video. Comments may be disabled, subscriber counts may be rounded, and page structures may change. When a reliable metric cannot be found, the scraper should return an unavailable value rather than substitute another metric (for example, likes for comments).

Use cases

  • YouTube content and topic research
  • Public channel and video analysis
  • Shorts discovery and research
  • Competitor content monitoring
  • Video catalog creation
  • Public engagement and publishing trend analysis

Only use collected data in ways that comply with applicable laws, YouTube's terms, Apify's terms, and relevant privacy and data-protection requirements.

Getting started

  1. Open the Bhansalisoft YouTube Scraper Actor page.
  2. Review the input fields available in the current Actor version.
  3. Enter the supported YouTube URLs, search terms, or other inputs required by the Actor.
  4. Adjust available limits and options to suit your task.
  5. Click Start to run the Actor.
  6. When the run finishes, open the Dataset tab to inspect or export the results.

Input field names and supported modes can change between Actor versions. Use the input schema shown on the Actor page as the source of truth. Do not assume an option exists unless it appears in the current schema.

Example input

The exact input JSON depends on the current Actor input schema. Use this as an illustrative example only and adapt the keys to match the fields shown in the Apify Console:

{
"startUrls": [
{
"url": "https://www.youtube.com/watch?v=VIDEO_ID"
},
{
"url": "https://www.youtube.com/shorts/SHORT_ID"
}
]
}

If your Actor uses different input property names or URL formats, follow the current input schema instead.

Output data

Depending on the input and what YouTube makes available, a result may contain fields like these:

FieldDescription
idYouTube video ID
urlCanonical or resolved video URL
typeVideo format, such as a regular video or Short, when identified
titleVideo title
description / textVideo description or extracted text, depending on output schema
thumbnailUrlThumbnail URL, when available
viewCountPublicly available view count, when extractable
likesPublicly available like count, when extractable
commentsCountComment count, when extractable and available
datePublication date, when available
durationVideo duration, when available
channelNameChannel display name
channelUrlChannel URL
channelIdChannel identifier, when available
channelUsernameChannel handle, when available
numberOfSubscribersPublic subscriber count, when available
hashtagsHashtags found in available metadata or the description
descriptionLinksLinks extracted from the description, when supported
subtitlesSubtitle/caption data, only when available and supported by the Actor

The final output schema may contain additional fields or use different field names. Inspect a successful run's dataset and the Actor's current output definition for the exact schema.

Example output

This is a simplified illustration, not a guarantee that every field will be present:

{
"id": "VIDEO_ID",
"url": "https://www.youtube.com/watch?v=VIDEO_ID",
"type": "video",
"title": "Example video title",
"viewCount": 12345,
"likes": 456,
"commentsCount": 78,
"channelName": "Example channel",
"channelUrl": "https://www.youtube.com/@example",
"numberOfSubscribers": 10000
}

Values are placeholders for illustration only. Replace this example with real output from your own Actor run if you want to document production results.

Exporting results

After a successful run, open the run's Dataset tab. Depending on the export options available in Apify, you can export results in formats such as JSON, CSV, Excel, or other supported formats.

API usage

You can run the Actor using Apify's API and retrieve its dataset output. Use your own Apify API token and keep it private.

General API documentation: Apify API documentation.

Example using Python and the Apify client:

from apify_client import ApifyClient
# Store your token in an environment variable in production.
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run = client.actor("bhansalisoft/youtube-scraper").call(
run_input={
# Replace with the exact input schema required by the Actor.
"startUrls": [
{"url": "https://www.youtube.com/watch?v=VIDEO_ID"}
]
}
)
dataset_id = run["defaultDatasetId"]
items = client.dataset(dataset_id).list_items().items
for item in items:
print(item)

Install the client with:

$pip install apify-client

The startUrls property above is an example only. If the Actor's actual input schema differs, replace it with the exact supported property and structure. Do not commit API tokens to source control or include them in shared logs.

Troubleshooting

The Actor returns no results

  • Check that input URLs are valid and publicly accessible.
  • Confirm that the input matches the current Actor schema.
  • Review the run log for navigation, timeout, rate-limit, or access errors.
  • Try a single video or Short first to isolate the issue.

Likes and comments appear incorrect

  • Ensure output fields are mapped independently. A like count must not be used as a fallback for comments.
  • Compare the output with the same public video page.
  • If YouTube does not expose a reliable comment count, the result should be unavailable rather than inferred from another metric.
  • Comments can be disabled and displayed counts can change.

Subscriber count is missing

  • Some pages do not expose subscriber counts in the data available to the Actor.
  • Public subscriber counts may be rounded.
  • Confirm that the channel is accessible and that the current Actor version supports channel detail extraction.
  • If an exact value is essential, consider an authorized YouTube Data API workflow with the required API access and quota.

The Actor fails or is slow

  • Check the run log for the first underlying error.
  • Reduce the number of inputs to isolate problematic URLs.
  • Retry later if YouTube is temporarily throttling or restricting access.
  • Keep the Actor and dependencies up to date with the current Apify runtime and supported asynchronous Playwright approach, if used by this implementation.

Limitations

  • Extraction depends on the public data exposed by YouTube and the current page structure.
  • Metrics can be unavailable, rounded, delayed, or changed by YouTube.
  • Comments, subtitles, and channel details may not be available for every video.
  • YouTube may apply rate limits, bot detection, consent screens, or other access controls.
  • Complete or uninterrupted extraction for every URL is not guaranteed.
  • Do not use this tool to bypass access controls or collect private information.

Support

For help, open the Bhansalisoft YouTube Scraper page and include the Actor run ID, input type (video, Short, channel, playlist, or search), and relevant error message. Do not share your API token, cookies, or other secrets in a support request.

Responsible use

Use the Actor only for lawful, authorized purposes. Respect YouTube's terms and policies, applicable copyright rules, privacy laws, and Apify's platform policies. You are responsible for ensuring that your use of the collected data is appropriate.