Skip to main content
Glama

youtube_video: GET /

hasdata_youtube_video_getYoutubeVideo

Fetches video metadata by 11-character ID to enrich URLs, track view or like growth, extract music or affiliate links, power recommender features, and check caption tracks before transcript calls.

Instructions

Get YouTube Video Data

Fetches a single YouTube video by its 11-character videoId. Returns title, thumbnail, raw + normalized views and likes, lengthSeconds, publish date, category, keywords/tags, isFamilySafe / isUnlisted flags, the uploading channel (id, handle, subscribers, avatar), the full description with parsed links and hashtags, available captions tracks (with kind: asr for auto-generated), Content-ID music matches (song/artist/album), creator socialLinks, and the relatedVideos, endScreenVideos, and relatedShorts rails. Use to enrich a video URL with metadata, monitor view/like growth, extract music or sponsor/affiliate links, gather features for recommender or RAG pipelines, or detect caption tracks before calling the YouTube Transcript endpoint.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vYes11-character YouTube video ID — the value of the `v=` query parameter in a watch URL (e.g. `dQw4w9WgXcQ` for `https://www.youtube.com/watch?v=dQw4w9WgXcQ`).
glNoThe two-letter country code for the country you want to limit the search to. Provide one exact documented value (245 allowed), e.g. `ac`, `af`.
hlNoThe two-letter language code for the language you want to use for the search. Provide one exact documented value (159 allowed), e.g. `af`, `ak`.
deviceTypeNoDevice type for the request.
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states the operation is a read/fetch and details the extensive output fields. However, it does not mention potential failure modes (e.g., invalid videoId), rate limits, or any authorization requirements, which are relevant for a tool that likely sits behind an API key.

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

Conciseness4/5

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

The description is long but front-loaded with the core action and then the comprehensive field list, followed by practical use cases. The list of fields is dense but necessary given the tool's breadth. It is structured and readable, though the first sentence 'Get YouTube Video Data' is redundant with the title and could be trimmed. Overall it earns its length.

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?

Given the complexity of the tool (many return fields) and the absence of an output schema, the description compensates by enumerating the response contents in detail. It also covers the main use cases and the relationship to the Transcript sibling. Missing are error handling and any limitations, but for an enrichment/read tool this is mostly sufficient.

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

Parameters3/5

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

The input schema covers all parameters (v, gl, hl, deviceType) with descriptive text, including valid values and examples. The rich schema description (100% coverage) means the tool description does not need to reiterate parameter meanings. It adds no extra parameter semantics beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the tool fetches a single YouTube video by its 11-character videoId and enumerates the specific data returned (title, thumbnails, views, likes, flags, channel info, captions, music matches, etc.). The verb 'Fetches' is specific and the resource is unambiguous, and the mention of the Transcript endpoint distinguishes it from a sibling tool.

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

Usage Guidelines4/5

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

The description provides explicit use cases: enrichment, monitoring growth, extracting music/affiliate links, feature gathering for recommender/RAG pipelines, and detecting caption tracks before using the Transcript endpoint. It clearly indicates when to use this tool for those purposes, though it does not explicitly contrast it with the channel or search siblings beyond the transcript reference.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HasData/youtube-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server