YouTube Metrics Scraper - Videos, Shorts & Channels
Pricing
from $1.50 / 1,000 youtube post metrics
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
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
2
Monthly active users
6 days ago
Last modified
Categories
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 group | Example fields |
|---|---|
| ๐ URL identity | inputUrl, postUrl |
| ๐ YouTube IDs | postId, postType, isShort, channelId, channelHandle, channelUrl |
| ๐งพ Post details | title, description, publishedAt, isLive |
| ๐ Post metrics | views, likes, comments, remixes |
| ๐ฅ Channel metrics | channelSubscribersCount |
| ๐ฏ Metric quality | postMetricStatus, channelMetricStatus |
| ๐ค Collaborations | collaborationCount, collaborationChannels |
| ๐ฆ Row status | status, 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 case | How YouTube metric data helps |
|---|---|
| ๐ Track creator performance | Monitor public views, likes, comments, and subscriber context over time. |
| ๐ฌ Compare content formats | Compare videos, Shorts, and live posts in one flat export. |
| ๐ฃ Measure campaigns | Collect repeatable snapshots for sponsored videos, creator deliverables, and drops. |
| ๐ต๏ธ Monitor competitors | Track known competitor videos or discover channel uploads before collecting metrics. |
| ๐ฅ Research top content | Pull popular channel posts and compare the strongest public performers. |
| ๐งฑ Build reporting workflows | Feed normalized YouTube rows into dashboards, spreadsheets, and BI tools. |
| ๐ Audit metric availability | Separate 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?
- Create or log in to your Apify account.
- Open YouTube Metrics Scraper.
- Paste YouTube video URLs, Shorts URLs, channel URLs, channel IDs,
@handles, or a mix of them. - Set the maximum number of rows to collect.
- Choose the channel post order if you are using channel discovery.
- Leave the default settings for your first run.
- Click Start.
- Open the Output tab to inspect the dataset and run summary.
- 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_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/shorts/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDVIDEO_IDhttps://www.youtube.com/@handlehttps://www.youtube.com/@handle/videoshttps://www.youtube.com/@handle/shorts@handlehttps://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
| Option | What it does |
|---|---|
startUrls | YouTube post URLs, raw video IDs, channel URLs, channel IDs, @handles, or mixed inputs. |
maxItems | Maximum metric rows to save across the whole run. |
maxItemsPerChannel | Maximum public posts to discover from each channel input. |
channelSort | recent, popular, or oldest channel discovery order. |
publishedAfter | Only keep discovered channel posts published on or after a YYYY-MM-DD date. |
publishedBefore | Only keep discovered channel posts published on or before a YYYY-MM-DD date. |
maxAgeDays | Only keep discovered channel posts from the last N days. |
titleIncludes | Only keep discovered channel posts whose public title contains one of these phrases. |
titleExcludes | Skip discovered channel posts whose public title contains any of these phrases. |
maxConcurrency | Controls how many YouTube posts are resolved at the same time. |
requestTimeoutSecs | Maximum wait time for each public YouTube request. |
failOnNoMetrics | Fails 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:
presentmetrics that were found,unavailablemetrics that YouTube did not expose publicly,not_attemptedmetrics that do not apply to that row,exactvalues that appeared as full public integers,display_roundedorlikely_roundedvalues 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.
| Status | Meaning |
|---|---|
ok | The public YouTube post resolved and at least one useful public metric or metadata field was found. |
resolved_no_public_metrics | The input resolved, but public metric fields were not exposed for that item. |
invalid_input | The input was not a valid YouTube URL, video ID, channel ID, or @handle. |
unsupported_url | The URL is a YouTube surface this Actor does not support. |
blocked_or_challenged | YouTube returned a challenge, unavailable page, or blocked response. |
failed | The 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.