YouTube Shorts Scraper – Metadata & Stats avatar

YouTube Shorts Scraper – Metadata & Stats

Pricing

from $1.00 / 1,000 results

Go to Apify Store
YouTube Shorts Scraper – Metadata & Stats

YouTube Shorts Scraper – Metadata & Stats

Extract public YouTube Shorts 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

Collect the public metadata behind known YouTube Shorts links. YouTube Shorts Details Scraper keeps the title, description, channel, engagement, thumbnail references, and available caption information in one row.

Use it to enrich a Shorts catalogue, review campaign clips, or connect a short-form content list with the channel and metrics behind each link.

At a glanceDetails
πŸ“₯ InputFull YouTube Shorts or other supported 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 Shorts 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 Shorts πŸš€

  1. Add full Shorts 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/shorts/5mU6SRS2Bxo"
]
}

YouTube Shorts 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/shorts/TrailWalk01x",
"status": "success",
"id": "TrailWalk01x",
"url": "https://www.youtube.com/shorts/TrailWalk01x",
"watch_url": "https://www.youtube.com/watch?v=TrailWalk01x",
"embed_url": "https://www.youtube.com/embed/TrailWalk01x",
"type": "short",
"title": "A quiet forest moment",
"description": "A short forest walk. Route notes: https://example.com/trail #Hiking",
"duration_seconds": 45,
"duration_text": "0:45",
"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": [],
"chapters.start_seconds": [],
"chapters.timestamp": [],
"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": true,
"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.

Output uses a /shorts/ URL and type: short. This Actor does not independently verify that the target is a Short: supported watch links also work. Check is_shorts_eligible when YouTube supplies it, and submit known Shorts for a Shorts-only dataset.

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 short 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 short 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 Short 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/shorts/5mU6SRS2Bxo"]}'

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.

Does a success result prove the video is a Short?

No. It normalizes supported video IDs into the Shorts output format without independently validating the content type.

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.