Skip to main content
Glama

YouTube Video/Short Details

social_youtube_video_detail
Read-only

Fetches full details for a YouTube video or short, including title, description, thumbnail, view count (views), like count (likes), comment count, publish date, duration, genre, keywords, chapters, collaborators, and available caption tracks (subtitles/captions). isPaidPromotion is true when YouTube marks the video as including paid promotion and false when it does not. Also returns related recommended videos in watchNextVideos. The legacy channel object is unchanged for compatibility and can mix uploader and artist identities on merged music channels; use uploader for the uploading channel and ownerByline for the channel displayed under the video. ownerByline includes native badge styles and subscriberCountText as YouTube displays it, not an exact subscriber count. descriptionCards contains Music, Games, People mentioned and podcast cards from the structured description. Each card has section, title, subtitle, secondarySubtitle, image, videoId, channelId, playlistId and musicCredits. Missing card fields are null; People mentioned cards can have no linked channel. musicCredits is null when absent, otherwise it includes song, artist, album, writers, licensedToYouTubeBy and the preserved rawText. Owner fields are ownerByline.channelId, name, url, subscriberCountText and badges (style and label). Uploader fields are uploader.channelId, author and url. Either identity can be null when unavailable. An empty array means the description was available with no cards; null means it was unavailable or could not be recognized. isMadeWithAI is true when YouTube exposes the Made with AI disclosure, false when a recognized description has no such disclosure, and null when unknown. This is YouTube disclosure metadata, not our own AI-content detection. Auto-dubbed audio alone does not set isMadeWithAI. aiDisclosure retains the available disclosure text; localized unrecognized disclosures remain unknown. These fields reuse the already-fetched watch page without a separate channel request. When YouTube exposes its public Most replayed graph, most_replayed contains normalized graph buckets in markers and YouTube's highlighted ranges in ranges. The field is null when the graph is not available. YouTube says the graph may be unavailable when the channel has active strikes, the content is potentially inappropriate, the video is too new or has too few views, or its systems deem the video ineligible for another reason. YouTube does not publish fixed age or view-count thresholds. Age-restricted videos return 403 with message: "This video is age restricted" because Scrape Creators only uses the public logged-out YouTube source. Need to download a YouTube video? We open sourced our YouTube downloader. You can use it and host it wherever you want. We don't offer a hosted YouTube downloading service because it's expensive and compute-intensive to run. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Video/Short Details API View Pricing Get YouTube video or Short details, description cards, AI disclosures, owner/uploader identities, paid-promotion status and replay heatmaps. Age-restricted videos return 403. No hosted video downloads. 1 credit per request Fetches full details for a YouTube video or short, including title, description, thumbnail, view count (views), like count (likes), comment count, publish date, duration, genre, keywords, chapters, collaborators, and available caption tracks (subtitles/captions). isPaidPromotion is true when YouTube marks the video as including paid promotion and false when it does not. Also returns related recommended videos in watchNextVideos. The legacy channel object is unchanged for compatibility and can mix uploader and artist identities on merged music channels; use uploader for the uploading channel and ownerByline for the channel displayed under the video. ownerByline includes native badge styles and subscriberCountText as YouTube displays it, not an exact subscriber count. descriptionCards contains Music, Games, People mentioned and podcast cards from the structured description. Each card has section, title, subtitle, secondarySubtitle, image, videoId, channelId, playlistId and musicCredits. Missing card fields are null; People mentioned cards can have no linked channel. musicCredits is null when absent, otherwise it includes song, artist, album, writers, licensedToYouTubeBy and the preserved rawText. Owner fields are ownerByline.channelId, name, url, subscriberCountText and badges (style and label). Uploader fields are uploader.channelId, author and url. Either identity can be null when unavailable. An empty array means the description was available with no cards; null means it was unavailable or could not be recognized. isMadeWithAI is true when YouTube exposes the Made with AI disclosure, false when a recognized description has no such disclosure, and null when unknown. This is YouTube disclosure metadata, not our own AI-content detection. Auto-dubbed audio alone does not set isMadeWithAI. aiDisclosure retains the available disclosure text; localized unrecognized disclosures remain unknown. These fields reuse the already-fetched watch page without a separate channel request. When YouTube exposes its public Most replayed graph, most_replayed contains normalized graph buckets in markers and YouTube's highlighted ranges in ranges. The field is null when the graph is not available. YouTube says the graph may be unavailable when the channel has active strikes, the content is potentially inappropriate, the video is too new or has too few views, or its systems deem the video ineligible for another reason. YouTube does not publish fixed age or view-count thresholds. Age-restricted videos return 403 with message: "This video is age restricted" because Scrape Creators only uses the public logged-out YouTube source. Need to download a YouTube video? We open sourced our YouTube downloader. You can use it and host it wherever you want. We don't offer a hosted YouTube downloading service because it's expensive and compute-intensive to run. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). See the Caching page for details.

Input Schema

NameRequiredDescriptionDefault
urlYes
languageNo
cacheMaxAgeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe, read-only, open-world read, and the description adds substantial behavior: a hard 403 for age-restricted videos, null-vs-empty-array semantics for cards and replay graphs, caveats on most_replayed availability, and reuse of the watch page. Against that, the cost statements are internally inconsistent ("at least 10 Nexscope credits" versus "1 credit per request"), which muddies rather than clarifies the cost profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core description is repeated verbatim a second time, and marketing copy, a downloader pitch, pricing lines and a caching footnote are all appended, roughly tripling the necessary length. The one genuine merit is that the most important statement, what the tool fetches, is front-loaded in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does the heavy lifting on return values and does it thoroughly: field-by-field semantics for ownerByline vs uploader, descriptionCards, musicCredits, isMadeWithAI and most_replayed, including null meanings and known unavailability causes. The remaining gap is input-side, not output-side, with the language and URL-format parameters unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description carries the full burden. Only cacheMaxAge is effectively explained, and only in an unnamed trailing paragraph ("this many days old or newer"). The language parameter is never mentioned and the url parameter's accepted formats (youtu.be, watch URLs, Shorts URLs) are never specified, leaving the most important input undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource ("Fetches full details for a YouTube video or short") and enumerates the returned fields, so an agent can immediately tell this is a detail-by-URL endpoint. It is clearly distinct from siblings like social_youtube_video_comments or social_youtube_search by virtue of the full-detail scope, though the description never names a sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no stated when-to-use rule relative to the many sibling YouTube tools (search, channel, transcript, comments), and no guidance on when a detail fetch is preferable to a search hit. The only conditional guidance is failure-oriented (403 on age-restricted videos, no hosted downloads) plus caching and credit notes, which help execution but do not route the agent between alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.