YouTube Video Data Scraper π
Pricing
from $10.00 / 1,000 results
YouTube Video Data Scraper π
π Get YouTube video metadata as structured JSON. Title, description, channel, duration, views, likes, comment count, publish date and thumbnail. No login, no YouTube API key or quota.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Scriptbase
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
YouTube Video Data Scraper
Get YouTube video metadata as structured JSON. Title, description, channel, duration, views, likes, comment count, publish date and thumbnail β no login, no YouTube Data API key, no quota.
What it does
Takes one YouTube video URL and returns one dataset row of metadata. No pagination, no loop β one input, one record.
Works on regular videos, Shorts and past live streams. Any URL form works: youtube.com/watch?v=β¦, youtu.be/β¦, youtube.com/shorts/β¦.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | yes | β | YouTube video URL |
{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }
Output
One row.
{"id": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Never Gonna Give You Up","description": "The official video forβ¦","channel": { "id": "UCuAXFkgsw1L7xaCfnd5JJOw", "title": "Rick Astley", "handle": "@RickAstleyYT", "url": "https://www.youtube.com/@RickAstleyYT" },"durationSec": 213,"counts": { "views": 1600000000, "likes": 18000000, "comments": 2300000 },"publishedAt": "2009-10-25T06:57:33.000Z","publishedAtConfidence": "exact","thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg"}
| Field | Type | Notes |
|---|---|---|
id | string | YouTube video id |
url | string | Canonical watch URL |
title | string | Video title |
description | string | Full description text |
channel | object | id, title, handle, url |
durationSec | integer | Length in seconds |
counts | object | views, likes, comments |
publishedAt | string | ISO 8601 |
publishedAtConfidence | string | exact | parsed | unknown |
thumbnailUrl | string | Thumbnail image URL |
About publishedAtConfidence
YouTube renders ages as relative text β "2 weeks ago" β rather than timestamps. When that is all a source gives us, the date is computed from it and marked parsed. exact means a real timestamp arrived. unknown means neither did, and publishedAt is absent.
Most scrapers present a computed date as if it were exact. This one tells you which it is, so you can judge whether it is precise enough for your analysis.
Freshness
View and like counts are cached for up to 6 hours. Those numbers drift constantly, and re-fetching them on every call would cost you money for a number that changed by 0.001%. If you need a to-the-second count, this is not the right tool.
Titles, descriptions and durations effectively never change, so the cache costs you nothing on those.
What it does not do
- One video per run. For many videos, run once per URL.
- No transcript. Use a transcript actor with the same URL.
- No comments. Use the YouTube Comments Scraper.
- No dislike count. YouTube removed it publicly in 2021; anything claiming to return it is estimating.
- Private and age-restricted videos are out of reach.
Pricing
Charged per video. One run, one charge. Failed runs charge nothing.
Errors
| Code | Meaning |
|---|---|
BAD_REQUEST | Input missing, malformed, or not a URL this actor serves |
NOT_FOUND | The target is private, removed, or does not exist |
UNSUPPORTED_OPERATION | The URL resolved to a platform this actor does not serve |
UPSTREAM_FAILED | Every upstream source failed β retry shortly |
RATE_LIMITED | Too many requests; back off and retry |
TIMEOUT | The source took longer than the actor's budget |
UNAUTHORIZED | The actor's API credentials are invalid β contact the author |
INSUFFICIENT_CREDITS | The account behind this actor is out of credits β contact the author |
INTERNAL_ERROR | Unexpected failure |
UNAUTHORIZED and INSUFFICIENT_CREDITS are on us, not you. If you see either, the actor is misconfigured on our side.
How it works
Three independent upstream sources serve this operation. If one is down or returns nothing usable, the next is tried inside the same run β no double charge, no retry on your side.
FAQ
Do I need a YouTube API key? No.
How fresh are view counts? Up to 6 hours old. See Freshness above.
Does it work on Shorts? Yes.
Can I get the dislike count? No β YouTube made it private in 2021.
Can I pass a channel URL? No. Use the YouTube Channel Stats Scraper for channels.