YouTube Video Details Scraper โ€“ Metadata & Stats avatar

YouTube Video Details Scraper โ€“ Metadata & Stats

Pricing

from $1.00 / 1,000 results

Go to Apify Store
YouTube Video Details Scraper โ€“ Metadata & Stats

YouTube Video Details Scraper โ€“ Metadata & Stats

Extract public YouTube video metadata from URLs. Get titles, descriptions, channels, engagement, thumbnails, chapters, and available caption-track details.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Turn known YouTube video links into detailed public records. YouTube Video Details Scraper collects titles, descriptions, channel information, engagement, chapters, caption-track references, and availability details in one row per input.

Use it to enrich a video catalogue, compare selected content, or prepare metadata for a research and reporting workflow.

At a glanceDetails
๐Ÿ“ฅ InputFull YouTube video URLs
๐Ÿ“ค OutputTitle, description, channel, metrics, thumbnails, chapters, and caption metadata
๐Ÿ” Login requiredNo YouTube credentials or cookies
โšก ProcessingUp to 5 requests concurrently with automatic retries
๐Ÿ’พ DeliveryOne detail row per processed input

What the YouTube video details scraper extracts ๐Ÿ”Ž

The Actor retrieves public watch-page metadata for each video ID. Available fields include:

  • Video ID, canonical, watch and embed URLs, title, description, and duration
  • Publish and upload dates, category, keywords, hashtags, and description links
  • Channel identity, handle, avatar variants, verification, and visible subscriber count
  • View, like, and comment counts, plus available count labels
  • Thumbnail variants, chapters, caption tracks, and translation-language options
  • Available live, upcoming, embedding, privacy, and paid-promotion indicators

How to scrape YouTube video details ๐Ÿš€

  1. Add full video URLs to inputList.
  2. Start the Actor and review each result's status.
  3. Choose the metadata columns needed for your catalogue or report.
  4. Export the dataset or join it to existing records by video ID.
{
"inputList": [
"https://www.youtube.com/watch?v=jNQXAC9IVRw"
]
}

YouTube video details data fields and output ๐Ÿ“ฆ

Field groupIncluded data
VideoIdentity, title, description, duration, dates, category, and keywords
ChannelID, name, handle, URL, avatars, verification, and subscribers
EngagementView, like, and comment counts, plus available source labels
Media contextThumbnails, chapter timing, caption tracks, and translation options
Access and live stateAvailable playback, embedding, live, upcoming, and promotion indicators

Complete illustrative success item. The content and values below are fictional examples, not a live result:

{
"input": "https://www.youtube.com/watch?v=TrailWalk01x",
"status": "success",
"id": "TrailWalk01x",
"url": "https://www.youtube.com/watch?v=TrailWalk01x",
"watch_url": "https://www.youtube.com/watch?v=TrailWalk01x",
"embed_url": "https://www.youtube.com/embed/TrailWalk01x",
"type": "video",
"title": "A forest walk in three stops",
"description": "A short forest walk. Route notes: https://example.com/trail #Hiking",
"duration_seconds": 150,
"duration_text": "2:30",
"publish_date": "2026-09-01",
"upload_date": "2026-09-01",
"category": "Travel & Events",
"thumbnail_url": "https://example.com/forest-path.jpg",
"thumbnails.url": [
"https://example.com/forest-path-small.jpg",
"https://example.com/forest-path.jpg"
],
"thumbnails.width": [
640,
1280
],
"thumbnails.height": [
360,
720
],
"keywords": [
"hiking",
"forest walk"
],
"author.id": "UCaaaaaaaaaaaaaaaaaaaaaa",
"author.name": "Trail Journal",
"author.handle": "@trailjournal",
"author.url": "https://www.youtube.com/@trailjournal",
"author.avatar_url": "https://example.com/trail-avatar.jpg",
"author.avatar_thumbnails.url": [
"https://example.com/trail-avatar-small.jpg",
"https://example.com/trail-avatar.jpg"
],
"author.avatar_thumbnails.width": [
80,
160
],
"author.avatar_thumbnails.height": [
80,
160
],
"author.is_verified": false,
"author.subscribers_text": "18.4K subscribers",
"author.subscribers": 18400,
"statistics.views": 12400,
"statistics.views_text": "12,400 views",
"statistics.likes": 286,
"statistics.likes_text": "286",
"statistics.comments": 18,
"statistics.comments_hidden": false,
"captions.name": [
"English"
],
"captions.language_code": [
"en"
],
"captions.vss_id": [
".en"
],
"captions.url": [
"https://www.youtube.com/api/timedtext?v=TrailWalk01x&lang=en"
],
"captions.is_auto_generated": [
false
],
"captions.is_translatable": [
true
],
"translation_languages.language_code": [
"es"
],
"translation_languages.name": [
"Spanish"
],
"chapters.title": [
"Trailhead",
"Viewpoint"
],
"chapters.start_seconds": [
0.0,
60.0
],
"chapters.timestamp": [
null,
null
],
"live.is_live_content": false,
"live.is_live_now": null,
"live.is_upcoming": false,
"live.start_at": null,
"live.end_at": null,
"live.concurrent_viewers": null,
"availability.status": "OK",
"availability.reason": null,
"availability.is_private": false,
"availability.is_unlisted": false,
"availability.is_family_safe": true,
"availability.is_age_restricted": false,
"availability.allow_ratings": true,
"availability.is_embeddable": true,
"availability.available_countries": [],
"is_shorts_eligible": false,
"is_paid_promotion": false,
"description_links": [
"https://example.com/trail"
],
"hashtags": [
"#Hiking"
]
}

Each result stays in one row, with the same literal dotted keys in the table and JSON. Thumbnail URLs and dimensions align by position, as do caption-track and chapter columns. Caption entries are track references; the transcript text is collected by the separate transcript Actor.

Missing optional fields can be null, empty strings, or empty lists. Some flags default to false when no signal is present. A failed row retains input, sets status to failed, and leaves the result-data fields null.

Input requirements and coverage โš™๏ธ

ParameterTypeDefaultRules
inputListarray of stringsRequiredAt least one full YouTube video URL; bare IDs are not accepted.

Supported video links include /watch?v=, youtu.be, /shorts/, /live/, /embed/, and /v/ forms on the accepted YouTube hosts. URLs must identify an 11-character video ID. Bare IDs, channel links, and playlist-only links are not accepted.

This is a lookup for known videos, with no search or pagination setting. It does not collect the video's comments, download media, or fetch caption text.

Repeated input entries are processed separately, even when they refer to the same target. Remove duplicate entries before the run if you want to avoid repeated results.

YouTube video use cases ๐ŸŽฏ

Content catalogue enrichment

Add descriptions, channel identity, publication dates, and thumbnail references to an existing video list.

Campaign reporting

Compare the available engagement and public metadata for a selected set of campaign links.

Caption and chapter planning

Inspect available caption languages and chapter times before selecting videos for transcript collection or manual review.

Publication checks

Review accessible embedding, availability, and live-state indicators for videos included in your own catalogue.

Pricing and billable video rows ๐Ÿ’ฐ

Check the Actor's Pricing tab for the current charging model and rate.

Under dataset-item pricing, each saved success or failed row can be billable. Automatic retries do not independently create extra rows. Repeated input entries can produce repeated billable results.

Thumbnails, chapters, and caption-track references remain in the same result row; they do not create separate dataset items.

YouTube Video Details Scraper API and integrations ๐Ÿ”Œ

Use the Actor ID from the API tab as $ACTOR_ID and your Apify token as $APIFY_TOKEN.

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["https://www.youtube.com/watch?v=jNQXAC9IVRw"]}'

This request starts a run. Retrieve the default dataset after completion, or use schedules and webhooks to connect it to a recurring workflow. Export JSON, CSV, or Excel, or send selected fields to Google Sheets, Make, Zapier, or your own application.

Reliability and limits โš ๏ธ

Temporary request failures are retried. Invalid or unavailable targets produce failed rows while other inputs can continue. If a required collection step cannot be completed, the target can fail even when some public information is visible in a browser.

The Actor checks that returned metadata belongs to the requested video ID. Private, deleted, age-restricted, or otherwise unavailable videos can fail. Some optional fields remain null even on a successful row.

Counts can be parsed from rounded public labels. Read numeric values with their accompanying text, where supplied. Availability and live flags reflect the retrieved page; missing or false values are not a guarantee of current playback. Media references can expire.

Frequently asked questions โ“

Does it return the transcript text?

It returns available caption-track references and language information. Use YouTube Video Transcript Scraper for caption text and timed segments.

Can I submit a bare video ID?

No. Submit a full supported YouTube video URL.

Are view and subscriber counts exact?

They depend on the values YouTube exposes. Counts derived from abbreviated labels can be rounded; retain the original text where available.

Does it collect comments or download the video?

No. It returns metadata, media references, and available comment totals. Comment text and media downloads are separate tasks.

Can it return live or upcoming video details?

It can return the live or upcoming information present in accessible video metadata. This does not provide continuous monitoring or a guarantee that a broadcast is currently playable.

For a reproducible issue, share the run ID, a safe public input, and the field or behavior you expected through the Actor's support channel. Keep tokens and other credentials out of support messages.

Use public content in accordance with applicable privacy, copyright, contractual, and platform requirements.