Skip to main content

HasData YouTube

com.hasdata/youtubeVersion 1.0.9

Search YouTube and read video, channel and transcript data as JSON. No Google Cloud project.

Status

Responds453 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:02 UTC
Latency
453 ms
Remotes responding
1 of 1
Sign-in
API key
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.hasdata.com/mcp?apis=youtubeResponds453 ms
No sign-in

Claude Code

claude mcp add --transport http youtube 'https://mcp.hasdata.com/mcp?apis=youtube' --header 'x-api-key: <YOUR_X_API_KEY>'

Replace <YOUR_X_API_KEY> before running.

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: youtube
Remote MCP server URL: https://mcp.hasdata.com/mcp?apis=youtube
This server expects the header x-api-key.

Cursor

{
  "mcpServers": {
    "youtube": {
      "url": "https://mcp.hasdata.com/mcp?apis=youtube",
      "headers": {
        "x-api-key": "<YOUR_X_API_KEY>"
      }
    }
  }
}

Replace <YOUR_X_API_KEY> before running.

VS Code

code --add-mcp '{"name":"youtube","type":"http","url":"https://mcp.hasdata.com/mcp?apis=youtube","headers":{"x-api-key":"<YOUR_X_API_KEY>"}}'

Replace <YOUR_X_API_KEY> before running.

Streamable HTTP
npm: @hasdata/youtube-mcp 1.0.9
Package only

npm (npx)

claude mcp add youtube -e 'HASDATA_API_KEY=<YOUR_HASDATA_API_KEY>' -- npx -y @hasdata/youtube-mcp@1.0.9

Replace <YOUR_HASDATA_API_KEY> before running.

Streamable HTTP
pypi: hasdata-youtube-mcp 1.0.9
Package only

PyPI (uvx)

claude mcp add youtube -e 'HASDATA_API_KEY=<YOUR_HASDATA_API_KEY>' -- uvx hasdata-youtube-mcp==1.0.9

Replace <YOUR_HASDATA_API_KEY> before running.

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

4 tools

Tools of HasData YouTube
Read-only
Idempotent
Open world
hasdata_youtube_channel_getYoutubeChannelGet YouTube Channel Data Fetches a YouTube channel by its ID (`UC…`) or handle (`@name`) and returns structured data for any channel tab — `featured`/Home, `videos`, `shorts`, `streams`, `playlists`, `posts`, `podcasts`, `releases`, `store` (desktop only), `about`. Returns channel identity (title, description, avatar, banner), subscriber count, country, join date, total-view count and social links (on the `about` tab), and the items on the requested tab (videos with views and publish date, playlists, posts, podcasts, etc.). Use to monitor competitor channels, build creator/brand directories, track posting cadence and growth signals, or feed `videoId` into the YouTube Video / Transcript endpoints.NoYesNot declaredYes
hasdata_youtube_search_getYoutubeSearchResultsGet YouTube Search Results Searches YouTube for a query and returns the full results page split into `videoResults` (videoId, title, views, length, publish date, chapters, channel info, extensions like 4K/CC), `channelResults` (channelId, handle, subscribers, verified flag), `shortsResults` / `inlineShortsResults`, themed `shelves` (e.g. 'People also watched', 'Latest from <creator>'), `adsResults` and `sponsoredResults` (advertiser, landing URL, position), plus `searchInformation.totalResults`. Each block preserves its `positionOnPage` so the original layout is reconstructable. Use for competitor and topic monitoring, brand-mention tracking, ad-placement intelligence, creator discovery, trend research, or to feed `videoId` / `channelId` into the YouTube Video, Channel, or Transcript endpoints.NoYesNot declaredYes
hasdata_youtube_transcript_getYoutubeTranscriptGet YouTube Video Transcript Returns the timed transcript (subtitles) of a YouTube video by its 11-character `videoId`. `languageCode` selects the track (e.g. `en`, `de-DE`, `pt-BR`); `type=asr` requests the auto-generated speech-recognition track. Each segment in `transcript[]` carries `startMs`, `endMs`, `snippet`, and a formatted `startTimeText`. The response also includes `availableTranscripts[]` listing every track on the video (language name + code, `type: asr` for auto-generated, `selected: true` for the one returned) so callers can discover what else is available. Use to feed a video's spoken content into RAG/LLM pipelines, generate summaries or chapter outlines, build searchable archives, run translation or accessibility workflows, or analyze talking points across a creator's catalog (pair with the YouTube Channel endpoint to enumerate videos, then fetch transcripts).NoYesNot declaredYes
hasdata_youtube_video_getYoutubeVideoGet 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, link, 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.NoYesNot declaredYes

Details

Registry status
Active
Published
Sep 24, 2026
Updated
Sep 24, 2026
Categories (suggested)
Design and mediaSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing