YouTube Metrics Scraper - Videos, Shorts & Channels avatar

YouTube Metrics Scraper - Videos, Shorts & Channels

Pricing

from $1.50 / 1,000 youtube post metrics

Go to Apify Store
YouTube Metrics Scraper - Videos, Shorts & Channels

YouTube Metrics Scraper - Videos, Shorts & Channels

Collect public metrics for YouTube videos, Shorts, live posts, and channel uploads. Get views, likes, comments, remixes, channel IDs, handles, publish dates, subscriber counts, and status fields.

Pricing

from $1.50 / 1,000 youtube post metrics

Rating

0.0

(0)

Developer

Chronometrica

Chronometrica

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

2

Monthly active users

6 days ago

Last modified

Share

YouTube Metrics Scraper

๐Ÿ“Š What does YouTube Metrics Scraper do?

YouTube Metrics Scraper collects public metrics for YouTube videos, Shorts, live posts, and channel uploads. Paste known post URLs to measure them directly, or paste channel URLs, channel IDs, and @handles to discover public uploads first.

Use it when you need clean YouTube data for creator research, influencer reporting, campaign tracking, competitor monitoring, social analytics, dashboards, warehouse loads, and scheduled metric snapshots.

The Actor returns flat CSV/API-friendly rows with views, likes, comments, Shorts remixes, subscriber counts, IDs, titles, descriptions, publish dates, collaboration channels, row statuses, and per-metric quality labels.

This Actor does not log in, use cookies, scrape private YouTube content, collect comment text, download videos, return dislikes, or access YouTube Studio analytics. It only returns data that is publicly available at run time.

With YouTube Metrics Scraper, you can:

  • ๐Ÿ“ˆ Track public performance for known YouTube videos, Shorts, and live posts.
  • ๐ŸŽฌ Measure videos and Shorts side by side in one normalized dataset.
  • ๐Ÿ‘ค Discover public uploads from channel URLs, channel IDs, and @handles.
  • ๐Ÿ”ฅ Sort discovered channel posts by newest, most popular, or oldest.
  • ๐Ÿ’ฌ Collect public views, likes, comments, and Shorts remix counts when available.
  • ๐Ÿ‘ฅ Add public channel subscriber counts and channel identity fields.
  • ๐Ÿค Capture owner and collaborator channels when YouTube identifies them publicly.
  • ๐Ÿงญ Keep unavailable metrics as unavailable instead of turning them into fake zeroes.
  • ๐Ÿ“ฆ Export results as JSON, JSONL, CSV, Excel, XML, RSS, or HTML.

โœจ What You Get

Each dataset row represents one YouTube video, Short, live post, or discovered channel post.

Data groupExample fields
๐Ÿ”— URL identityinputUrl, postUrl
๐Ÿ†” YouTube IDspostId, postType, isShort, channelId, channelHandle, channelUrl
๐Ÿงพ Post detailstitle, description, publishedAt, isLive
๐Ÿ“Š Post metricsviews, likes, comments, remixes
๐Ÿ‘ฅ Channel metricschannelSubscribersCount
๐ŸŽฏ Metric qualitypostMetricStatus, channelMetricStatus
๐Ÿค CollaborationscollaborationCount, collaborationChannels
๐Ÿšฆ Row statusstatus, scrapedAt

Metric availability depends on what YouTube exposes publicly for each post or channel. Some public counters are exact, some are rounded, and some are hidden or delayed. Missing counts stay missing; they are not guessed and they are not replaced with 0.

โš™๏ธ Can I use this Actor through an API?

Yes. You can run YouTube Metrics Scraper manually in Apify Console or use it through:

  • Apify API
  • Python SDK
  • Node.js SDK
  • Webhooks
  • Scheduled runs
  • Apify integrations

This makes it useful for social media dashboards, influencer lists, competitive intelligence, creator databases, campaign reporting, content audits, data warehouses, and automated market research workflows.

๐ŸŽฏ Why scrape YouTube video, Shorts, and channel metrics?

YouTube public metrics help you understand which creators, channels, videos, Shorts, campaigns, and competitors are gaining traction.

Use caseHow YouTube metric data helps
๐Ÿ“ˆ Track creator performanceMonitor public views, likes, comments, and subscriber context over time.
๐ŸŽฌ Compare content formatsCompare videos, Shorts, and live posts in one flat export.
๐Ÿ“ฃ Measure campaignsCollect repeatable snapshots for sponsored videos, creator deliverables, and drops.
๐Ÿ•ต๏ธ Monitor competitorsTrack known competitor videos or discover channel uploads before collecting metrics.
๐Ÿ”ฅ Research top contentPull popular channel posts and compare the strongest public performers.
๐Ÿงฑ Build reporting workflowsFeed normalized YouTube rows into dashboards, spreadsheets, and BI tools.
๐Ÿ”Ž Audit metric availabilitySeparate available, rounded, unavailable, and failed rows cleanly.

๐Ÿ’ต Pricing Event

YouTube Metrics Scraper uses pay-per-result pricing. One result means one YouTube video, Short, live post, or discovered channel post metric row written to the default dataset.

Use maxItems and maxItemsPerChannel to control result volume before a run. Start with a small batch of 3 to 10 URLs when testing. The run summary and row statuses show which URLs resolved, which returned public metrics, and whether any inputs failed or were unsupported.

๐Ÿš€ How do I use YouTube Metrics Scraper?

  1. Create or log in to your Apify account.
  2. Open YouTube Metrics Scraper.
  3. Paste YouTube video URLs, Shorts URLs, channel URLs, channel IDs, @handles, or a mix of them.
  4. Set the maximum number of rows to collect.
  5. Choose the channel post order if you are using channel discovery.
  6. Leave the default settings for your first run.
  7. Click Start.
  8. Open the Output tab to inspect the dataset and run summary.
  9. Download your data in JSON, JSONL, CSV, Excel, XML, RSS, or HTML.

โฌ‡๏ธ Input

The main input is startUrls. Paste at least one YouTube post URL, channel URL, channel ID, raw video ID, or @handle. Direct posts and channel inputs can be mixed in the same run.

{
"startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
"maxItems": 1,
"proxyConfiguration": {
"useApifyProxy": true
}
}

๐Ÿ”— YouTube URLs and handles

Supported input shapes include:

https://www.youtube.com/watch?v=VIDEO_ID
https://youtu.be/VIDEO_ID
https://www.youtube.com/shorts/VIDEO_ID
https://www.youtube.com/embed/VIDEO_ID
VIDEO_ID
https://www.youtube.com/@handle
https://www.youtube.com/@handle/videos
https://www.youtube.com/@handle/shorts
@handle
https://www.youtube.com/channel/UC...
UC...

Best results usually come from public post URLs and public channel pages that open in a logged-out browser.

๐Ÿ“บ Channel discovery

Use channel discovery when you want the Actor to find public posts from a YouTube channel before collecting metrics.

{
"startUrls": ["@MrBeast"],
"channelSort": "popular",
"maxItems": 100,
"maxItemsPerChannel": 25
}

Channel inputs discover public videos, Shorts, and live replays, then return the same row shape as direct post URLs.

๐ŸŽ›๏ธ Settings

OptionWhat it does
startUrlsYouTube post URLs, raw video IDs, channel URLs, channel IDs, @handles, or mixed inputs.
maxItemsMaximum metric rows to save across the whole run.
maxItemsPerChannelMaximum public posts to discover from each channel input.
channelSortrecent, popular, or oldest channel discovery order.
publishedAfterOnly keep discovered channel posts published on or after a YYYY-MM-DD date.
publishedBeforeOnly keep discovered channel posts published on or before a YYYY-MM-DD date.
maxAgeDaysOnly keep discovered channel posts from the last N days.
titleIncludesOnly keep discovered channel posts whose public title contains one of these phrases.
titleExcludesSkip discovered channel posts whose public title contains any of these phrases.
maxConcurrencyControls how many YouTube posts are resolved at the same time.
requestTimeoutSecsMaximum wait time for each public YouTube request.
failOnNoMetricsFails the run if none of the input URLs expose public metrics.

โฌ†๏ธ Output sample

Results are stored in the default dataset. Each result is one YouTube metric row.

{
"inputUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"postUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"postId": "dQw4w9WgXcQ",
"postType": "video",
"isShort": false,
"title": "Example YouTube video title",
"description": "Example public description",
"publishedAt": "2009-10-25",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelHandle": "@Example",
"channelUrl": "https://www.youtube.com/@Example",
"views": 123456789,
"likes": 1234567,
"comments": 12345,
"remixes": null,
"postMetricStatus": [
{
"metric": "views",
"value": 123456789,
"status": "present",
"precision": "exact"
},
{
"metric": "likes",
"value": 1234567,
"status": "present",
"precision": "exact"
},
{
"metric": "comments",
"value": 12345,
"status": "present",
"precision": "display_rounded"
}
],
"collaborationCount": 1,
"collaborationChannels": [
{
"id": "UCuAXFkgsw1L7xaCfnd5JJOw",
"handle": "@Example",
"url": "https://www.youtube.com/@Example",
"role": "owner"
}
],
"channelSubscribersCount": 4510000,
"channelMetricStatus": [
{
"metric": "channelSubscribersCount",
"value": 4510000,
"status": "present",
"precision": "display_rounded"
}
],
"status": "ok",
"scrapedAt": "2026-06-24T00:00:00.000Z",
"isLive": false
}

inputUrl preserves the input that produced the row. postUrl is the resolved public YouTube post URL. For Shorts, postUrl uses the public Shorts URL shape.

๐ŸŽฏ Metric status

YouTube can expose exact, rounded, delayed, or unavailable counters depending on the post type, channel settings, geography, and current public page state.

The status fields help you separate:

  • present metrics that were found,
  • unavailable metrics that YouTube did not expose publicly,
  • not_attempted metrics that do not apply to that row,
  • exact values that appeared as full public integers,
  • display_rounded or likely_rounded values that appeared as rounded public display counts.

Missing counts stay missing. This lets you filter rows without guessing whether a blank value means zero.

๐Ÿšฆ Status values

Rows use explicit statuses so partial, unavailable, or failed inputs are still auditable.

StatusMeaning
okThe public YouTube post resolved and at least one useful public metric or metadata field was found.
resolved_no_public_metricsThe input resolved, but public metric fields were not exposed for that item.
invalid_inputThe input was not a valid YouTube URL, video ID, channel ID, or @handle.
unsupported_urlThe URL is a YouTube surface this Actor does not support.
blocked_or_challengedYouTube returned a challenge, unavailable page, or blocked response.
failedThe input could not be resolved after retry.

๐Ÿงพ Output summary

The OUTPUT record contains a compact run summary with input counts, discovered URL counts, status counts, metric coverage counts, skipped-input counts, and post-type counts.

Use it to audit a run quickly before downloading the full dataset.

โš ๏ธ Notes and limitations

  • Public pages can hide, round, delay, or omit metrics.
  • Comment bodies are not collected. The Actor only returns public comment counts when available.
  • Search result scraping, playlist scraping, hashtag discovery, transcripts, subtitles, and media downloads are not part of this Actor.
  • Dislikes are not public and are not returned.
  • Channel discovery is best-effort and depends on public channel pages.
  • Apify Proxy is enabled by default because direct cloud requests to YouTube are commonly challenged.