mcpField
Y
youtube-shorts

youtube-shorts

Remote
alphaosint.comSocial Media0Updated today

About youtube-shorts

youtube-shorts is an Apify-hosted MCP server for retrieving Shorts from YouTube channels or supplied links. It returns video and channel metrics with date-based filtering and sorting for creator analytics and trend research.

Key features

  1. 01List Shorts by channel or URL
  2. 02Return views, likes and comments
  3. 03Include hashtags and channel statistics
  4. 04Filter by date and sort results

Use cases

  1. 01Review a channel's Shorts performance
  2. 02Research short-form video trends
  3. 03Track competitors' video content

MCP support

The hosted Streamable HTTP MCP endpoint exposes a single YouTube Shorts Actor tool, plus Apify helper tools for run status, datasets, stored records and aborting runs. Calls run on the user's Apify account.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.apify.com/?tools=johnvc/youtube-shorts-api
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

YouTube Shorts MCP server

Registry name: io.github.johnisanerd/youtube-shorts. Maintained by AlphaOSINT (Apify developer johnvc, GitHub johnisanerd).

What it does

List the Shorts on a channel (or fetch given Short links) with views, likes, comments, publish time, duration, hashtags and channel statistics, sorted and filtered by date.

When to use it

Short-form video performance for a channel. Use it for creator analytics, trend research and competitor content tracking.

How it works

The server runs on Apify's hosted MCP endpoint, so there is nothing to install or host. Its URL pins one Actor with ?tools=johnvc/youtube-shorts-api, which gives your agent a single tool, johnvc--youtube-shorts-api, whose parameters are the Actor's typed input schema. The agent can call that tool directly without searching for an Actor first, and it can't start other Actors through this server. For general access to the whole Apify Store, use https://mcp.apify.com without the tools parameter.

Pricing

Each tool call runs the Apify Actor johnvc/youtube-shorts-api on your own Apify account and is billed there at the Actor's prices:

ChargePrice (USD)What it covers
Short$0.00001Charged per YouTube Short returned in the dataset (video metrics plus channel stats in one row). Error rows, empty channels and skipped items are not charged.
Date filter$0.00001Small extra charge per returned Short, applied only when oldestPostDate is set.

Free-plan rates as of 2026-11-13; paid Apify plans pay less per event. Apify also bills a token amount per run start and stored row ($0.00001, $0.00001). Current prices are on the Actor's page: https://apify.com/johnvc/youtube-shorts-api

Endpoint

  • Transport: Streamable HTTP
  • URL: https://mcp.apify.com/?tools=johnvc/youtube-shorts-api
  • Auth: Apify OAuth (opens on first use), or the header Authorization: Bearer <APIFY_TOKEN> (Apify Console → Settings → API & Integrations)

Setup

Claude Code

claude mcp add --transport http youtube-shorts "https://mcp.apify.com/?tools=johnvc/youtube-shorts-api"

VS Code (.vscode/mcp.json)

{
  "servers": {
    "youtube-shorts": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=johnvc/youtube-shorts-api"
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "youtube-shorts": {
      "url": "https://mcp.apify.com/?tools=johnvc/youtube-shorts-api"
    }
  }
}

Claude Desktop: Settings → Connectors → Add custom connector, and paste the URL. Older versions without remote connectors can bridge through mcp-remote in claude_desktop_config.json:

{
  "mcpServers": {
    "youtube-shorts": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.apify.com/?tools=johnvc/youtube-shorts-api"
      ]
    }
  }
}

Tools

ToolWhat it does
johnvc--youtube-shorts-apiRuns the Actor with the parameters below and returns the result rows.
get-actor-runStatus of a run the tool started (for long runs).
get-dataset-itemsPages through a run's full output when it is larger than the inline result.
get-key-value-store-recordReads a record a run stored.
abort-actor-runStops a run.

Apify's endpoint adds the four helper tools whenever an Actor tool is loaded.

Parameters of johnvc--youtube-shorts-api
ParameterTypeRequiredDefaultDescription
channelsarray["siliconimist"]List YouTube channels to read Shorts from. Use the handle with or without @ (siliconimist, @MrBeast), a channel URL (https://www.youtube.com/@nasa), or a channel id (UC...). Each channel returns up to maxResultsShorts S…
startUrlsarrayPaste individual YouTube Short or video links to fetch just those items (https://www.youtube.com/shorts/, watch?v=, or youtu.be/). Optional; combine freely with channels. Up to 200 links per run. The date fi…
maxResultsShortsinteger10Limit the number of Shorts returned from each channel (1 to 500). Runs stop at 1,000 Shorts in total.
sortChannelShortsBystring: NEWEST, POPULAR, OLDESTChoose the order of a channel's Shorts tab: NEWEST (default), POPULAR, or OLDEST. Maps to the three sort buttons on the channel page. Ignored (forced to NEWEST) when oldestPostDate is set.
oldestPostDatestringReturn only Shorts published on or after this date. Use an absolute date (2025-06-03) or a relative span such as 7 days, 2 weeks, or 3 months. Setting it forces NEWEST order so the listing can stop at the first older Sh…
Example

Ask the agent in plain language, or call johnvc--youtube-shorts-api with arguments such as:

{
  "channels": [
    "siliconimist"
  ],
  "maxResultsShorts": 10
}
Output

JSON rows with these fields:

FieldTypeDescription
titlestringTitle of the Short.
translatedTitlestringReserved for a translated title; null in this version.
translatedTextstringReserved for a translated description; null in this version.
typestring: shorts, NoneContent type, always shorts for a Short row.
idstringYouTube video id of the Short.
urlstringCanonical Short URL.
thumbnailUrlstringLargest available thumbnail image.
viewCountintegerExact view count at fetch time.
datestringPublish timestamp in ISO 8601 UTC. Day precision (YYYY-MM-DD) only in the rare case YouTube withholds the exact time.
likesintegerExact like count at fetch time.
locationstringLocation attached to the Short when the creator set one; usually null.
channelNamestringDisplay name of the channel that published the Short.
channelUrlstringCanonical channel URL (channel id form).
channelIdstringYouTube channel id (UC...).
collaboratorsarrayCollaborating channels on the Short; empty when none.
channelUsernamestringChannel handle without the @ sign.
channelDescriptionstringThe channel's About text.
channelJoinedDatestringDate the channel was created, as YouTube shows it.
channelDescriptionLinksarrayLinks from the channel's About section as {text, url} objects.
channelLocationstringCountry the channel lists in its About section.
channelAvatarUrlstringChannel profile image URL.
channelBannerUrlstringChannel banner image URL.
channelTotalVideosintegerTotal videos on the channel.
channelTotalViewsintegerTotal views across the channel.
numberOfSubscribersintegerSubscriber count. Exact below 1,000, otherwise parsed from YouTube's rounded figure (15.1M = 15100000).
isChannelVerifiedbooleanWhether the channel shows the verified badge.
inputChannelUrlstringNormalized URL of the channel that was requested.
isAgeRestrictedbooleanWhether YouTube marks the Short as age-restricted.
aboutChannelInfoobjectAll channel fields repeated in one object for convenience.
durationstringLength as HH:MM:SS.
commentsCountintegerComment count. Exact below 1,000, otherwise parsed from YouTube's rounded figure (11K = 11000). Null when comments are turned off.
textstringFull description text of the Short.
descriptionLinksarrayURLs found in the description as {url, text} objects.
subtitlesarrayReserved; null in this version. Use the YouTube Transcripts API for captions.
orderintegerZero-based position of the Short in the returned list for its channel.
commentsTurnedOffbooleanTrue when the creator disabled comments on the Short.
fromYTUrlstringThe YouTube page the Short was read from: the channel's Shorts tab, or the Short link itself for direct links.
isMonetizedbooleanReserved; YouTube does not expose monetization publicly, so this is null.
hashtagsarrayHashtags found in the title and description, with the # sign.
tagsarrayThe creator's video keywords (the tags set in YouTube Studio), in the order YouTube returns them, without a # sign. Empty list when the creator set none. Not part of the drop-in contract; an extra key that existing pipe…
isMembersOnlybooleanTrue when the Short is restricted to channel members.
inputstringThe exact input value (channel or link) that produced this row.
fromChannelListPagestringshorts when the row came from a channel's Shorts tab; null for direct links.
errorstringPresent only on error rows: CHANNEL_DOES_NOT_EXIST, CHANNEL_HAS_NO_SHORTS, DATE_FILTER_TOO_STRICT, VIDEO_UNAVAILABLE, AGE_RESTRICTED, INVALID_INPUT, NO_RESULTS, YOUTUBE_BLOCKED, or INPUT_TRUNCATED. Error rows are never…
notestringHuman-readable explanation on error rows.

Data source and terms

YouTube's public channel and Shorts pages, collected by scraping. The server returns the data as published at the time of the call. You are responsible for using it in line with the source's terms and the laws that apply to you. AlphaOSINT is not affiliated with the source.

Links

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.