YouTube Video Details: metadata, tags, category, duration avatar

YouTube Video Details: metadata, tags, category, duration

Pricing

$0.40 / 1,000 video delivereds

Go to Apify Store
YouTube Video Details: metadata, tags, category, duration

YouTube Video Details: metadata, tags, category, duration

Full metadata for up to 500 YouTube videos per run: title, description, view count, duration, publish date, category, tags, channel and thumbnail. Paste URLs, short links, shorts or bare video ids. Only delivered videos are charged.

Pricing

$0.40 / 1,000 video delivereds

Rating

0.0

(0)

Developer

Steadydata Team

Steadydata Team

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

36 minutes ago

Last modified

Share

YouTube Video Details Scraper (bulk, lightweight)

Full metadata for up to 500 YouTube videos in one run: title, description, view count, duration, publish date, category, tags, channel and thumbnail. Paste watch URLs, short links, shorts, embeds or bare video ids. You only pay for videos that are actually delivered.

Why this scraper

  • Built on a lightweight route. The same question answered through YouTube's own internal API costs about 10 KB per video here, where the obvious route needs 252 KB. That is where the low price comes from, and why a 500 video run finishes in a minute.
  • Only delivered videos are charged. Deleted videos, private videos and temporary blocks come back as clear error records at no cost.
  • Metadata survives playback restrictions. A video that will not play in a given country still has a title, a view count and a publish date, and this actor returns them instead of writing the whole row off.
  • Agent-ready output. One flat row per video with a stable schema and explicit error codes, so it drops straight into a pipeline or an LLM tool.
  • Every input format works. dQw4w9WgXcQ, a watch URL with timestamps, youtu.be/..., /shorts/..., /embed/... or /live/....

Who this is for

Content and competitor researchers who need the numbers behind a list of videos, teams enriching their own video catalogue, and anyone feeding video metadata into an AI pipeline. It pairs naturally with the channel and transcript scrapers from the same publisher: list a channel's videos, pull their details, then fetch the transcripts.

Who this is not for

If you need one video's view count once, the YouTube page is faster and free. This actor earns its place from roughly the tenth video onwards, and from the moment you need the data in a table instead of on a screen.

It returns public video and channel metadata only. No comments, no commenter names, no personal data.

Input example

{
"videos": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://youtu.be/JGwWNGJdvx8",
"Od6M0AXpcxQ"
],
"language": "en",
"country": "US"
}

Output example

{
"videoId": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up",
"description": "The official video for ...",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelName": "Rick Astley",
"channelUrl": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
"viewCount": 1814441286,
"durationSeconds": 213,
"publishDate": "2009-10-24T00:00:00-07:00",
"uploadDate": "2009-10-25T00:00:00-07:00",
"category": "Music",
"tags": ["rick astley", "never gonna give you up"],
"isLiveContent": false,
"isFamilySafe": true,
"thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
"availability": "OK",
"status": "ok"
}

A video that cannot be delivered produces an error record instead, and is not charged:

{
"input": "aaaaaaaaaaa",
"status": "error",
"errorCode": "VIDEO_UNAVAILABLE",
"error": "Video aaaaaaaaaaa is unavailable (ERROR)"
}

Error codes: INVALID_VIDEO_ID, VIDEO_UNAVAILABLE, BLOCKED. INPUT_TRUNCATED appears once when your input is longer than this actor accepts.

Pricing

Pay per event: one video-fetched event per delivered video. No charge for videos that fail, no charge for deleted or private videos, no separate platform-usage surcharge.

FAQ

Does it work for Shorts and live streams? Yes. Shorts are ordinary videos with a different URL, and past live streams return their metadata like any other video. isLiveContent tells you which is which.

Why are there two dates? publishDate is when the video went public and uploadDate is when it was uploaded. For most videos they match; for premieres and re-published videos they do not.

Do I get the full description? Yes, the complete description text as YouTube stores it, not a truncated preview.

Is personal data collected? No. Public video and channel metadata only.

What happens when YouTube changes something? Internal routes shift from time to time; that is the nature of this work. The difference here is the response: the actor is monitored daily and fixed fast, and while it is broken you are not charged, because only delivered videos cost anything.