YouTube Video Details Scraper โ Metadata & Stats
Pricing
from $1.00 / 1,000 results
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
Maintained by CommunityActor 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 glance | Details |
|---|---|
| ๐ฅ Input | Full YouTube video URLs |
| ๐ค Output | Title, description, channel, metrics, thumbnails, chapters, and caption metadata |
| ๐ Login required | No YouTube credentials or cookies |
| โก Processing | Up to 5 requests concurrently with automatic retries |
| ๐พ Delivery | One 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 ๐
- Add full video URLs to
inputList. - Start the Actor and review each result's status.
- Choose the metadata columns needed for your catalogue or report.
- 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 group | Included data |
|---|---|
| Video | Identity, title, description, duration, dates, category, and keywords |
| Channel | ID, name, handle, URL, avatars, verification, and subscribers |
| Engagement | View, like, and comment counts, plus available source labels |
| Media context | Thumbnails, chapter timing, caption tracks, and translation options |
| Access and live state | Available 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 โ๏ธ
| Parameter | Type | Default | Rules |
|---|---|---|---|
inputList | array of strings | Required | At 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.
Support, responsible use, and related actors ๐
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.