Koskamo

Social Media Video Downloader MCP

An MCP server provided by JoJ API that exposes the Social Media Video Downloader API, allowing agents to extract video details, metadata, and download links from platforms like YouTube, Instagram, Facebook, TikTok, Pinterest, and X/Twitter.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Social Media Video Downloader MCP logo, by JoJ APIVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-06Operated by JoJ API
You need:Subscribe with a single JoJ API keysend the API key as `Authorization: Bearer jk_...`
MCP endpoint (Streamable HTTP)
https://mcp.jojapi.com/social-media-video-downloader
Vendor documentation

What its tools do

30 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

30 of 30 have a description · 0 of 30 declare behavior hints · 30 of 30 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to jojapi.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Extract video metadata and download links from YouTube
  • Retrieve profile details and media from Instagram and Facebook
  • Get post details and engagement metrics from TikTok and X/Twitter
  • Search for videos, channels, and playlists across social platforms

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
jojapi-social-media-video-downloader 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
30 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Tools are the documented endpoints of social media video downloader on the JoJ API marketplace, called through the live gateway. Calls require a JoJ API key sent as an HTTP header on this MCP connection (Authorization: Bearer jk_...). Keys: https://jojapi.com/workspace/api-keys · Plans: https://jojapi.com/hub/api/social-media-video-downloader/pricing · Docs: https://jojapi.com/hub/api/social-media-video-downloader

Tools

30 advertised

get_youtube_v3_video_details — Get Video Details (Price:1-2)
Advertised by the server during the last successful anonymous check.

Extracts comprehensive information about a YouTube video including metadata, available formats, download links, and server-rendered video options with audio merging capabilities. Group: YouTube-Video. Billing per call: 2 Credits.

get_youtube_v3_video_details input schema
{
  "type": "object",
  "required": [
    "videoId"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content (e.g., 'en-US', 'es'). Defaults to 'en-US'."
    },
    "fields": {
      "type": "string",
      "description": "A comma-separated list of fields to include in the response. This can be used to limit the amount of data returned. Allowed values: `contents`, `contents.videos`, `contents.audios`, `contents.images`, `contents.renderableVideos`, `contents.renderableAudios`, `metadata`, `metadata.author`, `metadata.comments`, `metadata.playlist`, `metadata.channel`, `metadata.post`, `metadata.hashtag`, `metadata.transcript`, `metadata.additionalData`. For exclusion, prefix the field with a dash; e.g. `-metadata…"
    },
    "videoId": {
      "type": "string",
      "example": "dQw4w9WgXcQ",
      "description": "The ID of the YouTube video."
    },
    "urlAccess": {
      "enum": [
        "proxied",
        "normal"
      ],
      "type": "string",
      "default": "proxied",
      "description": "When set to 'proxied', the API uses its own proxies to prevent 403 errors, which can sometimes occur with 'normal' URLs. This comes at the cost of slower download speeds. Allowed values: normal, proxied. When set to 'proxied' the request will be `billed as 2 requests`. Note: If both this parameter and `renderableFormats` are used, the total cost remains 2 requests (charges do not stack)."
    },
    "countryCode": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code for geo-specific results (e.g., 'US', 'GB')."
    },
    "getTranscript": {
      "enum": [
        "false",
        "true"
      ],
      "type": "string",
      "default": "false",
      "description": "Set to true to retrieve the video transcript. Allowed values: false, true."
    },
    "renderableFormats": {
      "type": "string",
      "example": "720p,highres",
      "description": "A comma-separated list of quality formats to generate server-rendered video links for. If any videos are rendered, this request will be `billed as 2 requests`. Note: If both this parameter and `urlAccess='proxied'` are used, the total cost remains 2 requests (charges do not stack). The number of formats that can be rendered depends on your subscription plan. Allowed values: 144p, 144p60 HDR, 240p, 240p60 HDR, 360p, 360p60 HDR, 480p, 480p60 HDR, 720p, 720p60, 720p60 HDR, 1080p, 1080p60, 1080p60…"
    },
    "transcriptLanguage": {
      "type": "string",
      "description": "The language to use for the transcript. This must be one of the languages returned in the `metadata.transcript.languages` array. If not provided, the default transcript is returned."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_video_comments — Get Video Comments
Advertised by the server during the last successful anonymous check.

Retrieves comments for a YouTube video with sorting options and pagination. Group: YouTube-Video. Billing per call: 1 Credits.

get_youtube_v3_video_comments input schema
{
  "type": "object",
  "required": [
    "videoId"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "sortBy": {
      "enum": [
        "TOP_COMMENTS",
        "NEWEST_FIRST"
      ],
      "type": "string",
      "default": "TOP_COMMENTS",
      "description": "The sort order for comments. Allowed values: TOP_COMMENTS, NEWEST_FIRST."
    },
    "videoId": {
      "type": "string",
      "example": "U7_eELfviAE",
      "description": "The ID of the YouTube video."
    },
    "commentId": {
      "type": "string",
      "description": "The ID of a specific comment to retrieve replies for."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_post_details — Get Post Details
Advertised by the server during the last successful anonymous check.

Retrieves detailed information about a specific YouTube community post. Group: YouTube-Post. Billing per call: 1 Credits.

get_youtube_v3_post_details input schema
{
  "type": "object",
  "required": [
    "postId",
    "channelId"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "postId": {
      "type": "string",
      "example": "UgkxxbGT-ChKuVaZ0-HlTt4PwA1y3MgLIVkH",
      "description": "The ID of the YouTube post."
    },
    "channelId": {
      "type": "string",
      "example": "UCmq1iHmomVRCf2APufQZkCQ",
      "description": "The ID of the channel that created the post."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_post_comments — Get Post Comments
Advertised by the server during the last successful anonymous check.

Retrieves comments for a YouTube post with sorting options and pagination. Group: YouTube-Post. Billing per call: 1 Credits.

get_youtube_v3_post_comments input schema
{
  "type": "object",
  "required": [
    "postId",
    "channelId"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "postId": {
      "type": "string",
      "example": "UgkxxbGT-ChKuVaZ0-HlTt4PwA1y3MgLIVkH",
      "description": "The ID of the YouTube post."
    },
    "sortBy": {
      "enum": [
        "TOP_COMMENTS",
        "NEWEST_FIRST"
      ],
      "type": "string",
      "default": "TOP_COMMENTS",
      "description": "The sort order for comments. Allowed values: TOP_COMMENTS, NEWEST_FIRST."
    },
    "channelId": {
      "type": "string",
      "example": "UCmq1iHmomVRCf2APufQZkCQ",
      "description": "The ID of the channel that created the post."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_channel_id_from_handle — Get Channel ID From Handle
Advertised by the server during the last successful anonymous check.

Retrieves the channel ID for a given YouTube handle (e.g., '@MrBeast'). Group: YouTube-Channel. Billing per call: 1 Credits.

get_youtube_v3_channel_id_from_handle input schema
{
  "type": "object",
  "required": [
    "handle"
  ],
  "properties": {
    "handle": {
      "type": "string",
      "example": "@MrBeast",
      "description": "The handle of the YouTube channel."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_channel_posts — Get Channel Posts
Advertised by the server during the last successful anonymous check.

Retrieves posts from a specific YouTube channel. Use `nextToken` to paginate. Group: YouTube-Channel. Billing per call: 1 Credits.

get_youtube_v3_channel_posts input schema
{
  "type": "object",
  "required": [
    "channelId"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "channelId": {
      "type": "string",
      "example": "UCmq1iHmomVRCf2APufQZkCQ",
      "description": "The ID of the YouTube channel."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_channel_details — Get Channel Details
Advertised by the server during the last successful anonymous check.

Retrieves detailed information about a specific YouTube channel. Group: YouTube-Channel. Billing per call: 1 Credits.

get_youtube_v3_channel_details input schema
{
  "type": "object",
  "required": [
    "channelId"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "channelId": {
      "type": "string",
      "example": "UCmq1iHmomVRCf2APufQZkCQ",
      "description": "The ID of the YouTube channel."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_channel_playlists — Get Channel Playlists
Advertised by the server during the last successful anonymous check.

Retrieves playlists, releases, or podcasts from a specific YouTube channel. Group: YouTube-Channel. Billing per call: 1 Credits.

get_youtube_v3_channel_playlists input schema
{
  "type": "object",
  "required": [
    "channelId",
    "contentType"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "channelId": {
      "type": "string",
      "example": "UCmq1iHmomVRCf2APufQZkCQ",
      "description": "The ID of the YouTube channel."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "contentType": {
      "enum": [
        "playlists",
        "releases",
        "podcasts"
      ],
      "type": "string",
      "example": "playlists",
      "description": "The type of content to retrieve. Allowed values: playlists, releases, podcasts."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_channel_videos — Get Channel Videos
Advertised by the server during the last successful anonymous check.

Retrieves videos, shorts, or livestreams from a specific YouTube channel. Group: YouTube-Channel. Billing per call: 1 Credits.

get_youtube_v3_channel_videos input schema
{
  "type": "object",
  "required": [
    "channelId",
    "contentType"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "channelId": {
      "type": "string",
      "example": "UCmq1iHmomVRCf2APufQZkCQ",
      "description": "The ID of the YouTube channel."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "contentType": {
      "enum": [
        "videos",
        "shorts",
        "livestreams"
      ],
      "type": "string",
      "example": "videos",
      "description": "The type of content to retrieve. Allowed values: videos, shorts, livestreams."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_playlist — Get Playlist Details
Advertised by the server during the last successful anonymous check.

Extracts playlist information and a paginated list of its videos. Group: YouTube-Playlist. Billing per call: 1 Credits.

get_youtube_v3_playlist input schema
{
  "type": "object",
  "required": [
    "playlistId"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "playlistId": {
      "type": "string",
      "example": "PLihHLoNkOpqb_G4up_u_It9Lauz519kZf",
      "description": "The ID of the YouTube playlist."
    },
    "countryCode": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code for geo-specific results."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_search — Search All
Advertised by the server during the last successful anonymous check.

Search across all YouTube content types (videos, channels, playlists). Group: YouTube-Search. Billing per call: 1 Credits.

get_youtube_v3_search input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "query": {
      "type": "string",
      "example": "autocad",
      "description": "The search query."
    },
    "sortBy": {
      "enum": [
        "relevance",
        "rating",
        "upload_date",
        "view_count"
      ],
      "type": "string",
      "default": "relevance",
      "description": "DEPRECATED: The sort order for search results. Please use 'prioritize' and 'uploadDate' instead. Allowed values: relevance, rating, upload_date, view_count."
    },
    "duration": {
      "enum": [
        "all",
        "over_twenty_mins",
        "three_to_twenty_mins",
        "under_three_mins"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by video duration."
    },
    "features": {
      "type": "string",
      "description": "A comma-separated list of video features to filter by. Allowed values: 360, 3d, 4k, creative_commons, hd, hdr, live, location, purchased, subtitles, vr180."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "prioritize": {
      "enum": [
        "relevance",
        "popularity"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Prioritize results by relevance or popularity."
    },
    "uploadDate": {
      "enum": [
        "all",
        "month",
        "week",
        "year",
        "today"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by upload date."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_search_movie — Search Movies
Advertised by the server during the last successful anonymous check.

Searches for movies on YouTube. Group: YouTube-Search. Billing per call: 1 Credits.

get_youtube_v3_search_movie input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "query": {
      "type": "string",
      "example": "man of steel",
      "description": "The search query."
    },
    "sortBy": {
      "enum": [
        "relevance",
        "rating",
        "upload_date",
        "view_count"
      ],
      "type": "string",
      "default": "relevance",
      "description": "DEPRECATED: The sort order for search results. Please use 'prioritize' and 'uploadDate' instead. Allowed values: relevance, rating, upload_date, view_count."
    },
    "duration": {
      "enum": [
        "all",
        "over_twenty_mins",
        "three_to_twenty_mins",
        "under_three_mins"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by video duration."
    },
    "features": {
      "type": "string",
      "description": "A comma-separated list of video features to filter by. Allowed values: 360, 3d, 4k, creative_commons, hd, hdr, live, location, purchased, subtitles, vr180."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "prioritize": {
      "enum": [
        "relevance",
        "popularity"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Prioritize results by relevance or popularity."
    },
    "uploadDate": {
      "enum": [
        "all",
        "month",
        "week",
        "year",
        "today"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by upload date."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_search_video — Search Videos
Advertised by the server during the last successful anonymous check.

Searches for videos on YouTube. Group: YouTube-Search. Billing per call: 1 Credits.

get_youtube_v3_search_video input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "query": {
      "type": "string",
      "example": "autocad",
      "description": "The search query."
    },
    "sortBy": {
      "enum": [
        "relevance",
        "rating",
        "upload_date",
        "view_count"
      ],
      "type": "string",
      "default": "relevance",
      "description": "DEPRECATED: The sort order for search results. Please use 'prioritize' and 'uploadDate' instead. Allowed values: relevance, rating, upload_date, view_count."
    },
    "duration": {
      "enum": [
        "all",
        "over_twenty_mins",
        "three_to_twenty_mins",
        "under_three_mins"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by video duration."
    },
    "features": {
      "type": "string",
      "description": "A comma-separated list of video features to filter by. Allowed values: 360, 3d, 4k, creative_commons, hd, hdr, live, location, purchased, subtitles, vr180."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "prioritize": {
      "enum": [
        "relevance",
        "popularity"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Prioritize results by relevance or popularity."
    },
    "uploadDate": {
      "enum": [
        "all",
        "month",
        "week",
        "year",
        "today"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by upload date."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_search_channel — Search Channels
Advertised by the server during the last successful anonymous check.

Searches for channels on YouTube. Group: YouTube-Search. Billing per call: 1 Credits.

get_youtube_v3_search_channel input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "query": {
      "type": "string",
      "example": "autocad",
      "description": "The search query."
    },
    "sortBy": {
      "enum": [
        "relevance",
        "rating",
        "upload_date",
        "view_count"
      ],
      "type": "string",
      "default": "relevance",
      "description": "DEPRECATED: The sort order for search results. Please use 'prioritize' and 'uploadDate' instead. Allowed values: relevance, rating, upload_date, view_count."
    },
    "duration": {
      "enum": [
        "all",
        "over_twenty_mins",
        "three_to_twenty_mins",
        "under_three_mins"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by video duration."
    },
    "features": {
      "type": "string",
      "description": "A comma-separated list of video features to filter by. Allowed values: 360, 3d, 4k, creative_commons, hd, hdr, live, location, purchased, subtitles, vr180."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "prioritize": {
      "enum": [
        "relevance",
        "popularity"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Prioritize results by relevance or popularity."
    },
    "uploadDate": {
      "enum": [
        "all",
        "month",
        "week",
        "year",
        "today"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by upload date."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_search_playlist — Search Playlists
Advertised by the server during the last successful anonymous check.

Searches for playlists on YouTube. Group: YouTube-Search. Billing per call: 1 Credits.

get_youtube_v3_search_playlist input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "query": {
      "type": "string",
      "example": "autocad",
      "description": "The search query."
    },
    "sortBy": {
      "enum": [
        "relevance",
        "rating",
        "upload_date",
        "view_count"
      ],
      "type": "string",
      "default": "relevance",
      "description": "DEPRECATED: The sort order for search results. Please use 'prioritize' and 'uploadDate' instead. Allowed values: relevance, rating, upload_date, view_count."
    },
    "duration": {
      "enum": [
        "all",
        "over_twenty_mins",
        "three_to_twenty_mins",
        "under_three_mins"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by video duration."
    },
    "features": {
      "type": "string",
      "description": "A comma-separated list of video features to filter by. Allowed values: 360, 3d, 4k, creative_commons, hd, hdr, live, location, purchased, subtitles, vr180."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    },
    "prioritize": {
      "enum": [
        "relevance",
        "popularity"
      ],
      "type": "string",
      "default": "relevance",
      "description": "Prioritize results by relevance or popularity."
    },
    "uploadDate": {
      "enum": [
        "all",
        "month",
        "week",
        "year",
        "today"
      ],
      "type": "string",
      "default": "all",
      "description": "Filter results by upload date."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_search_suggestions — Get Search Suggestions
Advertised by the server during the last successful anonymous check.

Retrieves search suggestions from YouTube based on a query. Group: YouTube-Search. Billing per call: 1 Credits.

get_youtube_v3_search_suggestions input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "lang": {
      "type": "string",
      "description": "Language code for the suggestions."
    },
    "query": {
      "type": "string",
      "example": "how to c",
      "description": "The search query to get suggestions for."
    },
    "previousQuery": {
      "type": "string",
      "example": "how",
      "description": "The previous search query, if any."
    }
  },
  "additionalProperties": false
}
get_youtube_v3_hashtag — Get Hashtag Videos
Advertised by the server during the last successful anonymous check.

Retrieves videos for a given hashtag. Group: YouTube-Hashtag. Billing per call: 1 Credits.

get_youtube_v3_hashtag input schema
{
  "type": "object",
  "required": [
    "tag"
  ],
  "properties": {
    "tag": {
      "type": "string",
      "example": "HowToCook",
      "description": "The hashtag to search for (without the '#')."
    },
    "lang": {
      "type": "string",
      "description": "Language code for localized content."
    },
    "nextToken": {
      "type": "string",
      "description": "A token for paginating to the next set of results."
    }
  },
  "additionalProperties": false
}
get_tiktok_v3_user_details — Get TikTok User Details
Advertised by the server during the last successful anonymous check.

Retrieves the profile details for a given TikTok user URL. Group: TikTok-User. Billing per call: 1 Credits.

get_tiktok_v3_user_details input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.tiktok.com/@username",
      "description": "The URL of the TikTok user profile."
    }
  },
  "additionalProperties": false
}
get_tiktok_v3_post_details — Get TikTok Post Details
Advertised by the server during the last successful anonymous check.

Retrieves media and metadata for a given TikTok post URL. Group: TikTok-Post. Billing per call: 1 Credits.

get_tiktok_v3_post_details input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.tiktok.com/@username/video/1234567890",
      "description": "The URL of the TikTok post."
    }
  },
  "additionalProperties": false
}
get_facebook_v3_profile_id — Get Facebook Profile ID
Advertised by the server during the last successful anonymous check.

Retrieves the profile ID for a given Facebook profile URL. Group: Facebook-Profile. Billing per call: 1 Credits.

get_facebook_v3_profile_id input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.facebook.com/zuck",
      "description": "The URL of the Facebook profile."
    }
  },
  "additionalProperties": false
}
get_facebook_v3_profile_details — Get Facebook Profile Details
Advertised by the server during the last successful anonymous check.

Retrieves the profile details for a given Facebook profile URL. Group: Facebook-Profile. Billing per call: 1 Credits.

get_facebook_v3_profile_details input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.facebook.com/zuck",
      "description": "The URL of the Facebook profile."
    }
  },
  "additionalProperties": false
}
get_facebook_v3_profile_about — Get Facebook Profile About
Advertised by the server during the last successful anonymous check.

Retrieves the 'about' information for a given Facebook profile URL. Group: Facebook-Profile. Billing per call: 1 Credits.

get_facebook_v3_profile_about input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.facebook.com/zuck",
      "description": "The URL of the Facebook profile."
    }
  },
  "additionalProperties": false
}
get_facebook_v3_profile_reels — Get Facebook Profile Reels
Advertised by the server during the last successful anonymous check.

Retrieves the reels from a given Facebook profile URL. Group: Facebook-Profile. Billing per call: 1 Credits.

get_facebook_v3_profile_reels input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.facebook.com/zuck",
      "description": "The URL of the Facebook profile."
    }
  },
  "additionalProperties": false
}
get_facebook_v3_profile_photos — Get Facebook Profile Photos
Advertised by the server during the last successful anonymous check.

Retrieves the photos from a given Facebook profile URL. Group: Facebook-Profile. Billing per call: 1 Credits.

get_facebook_v3_profile_photos input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.facebook.com/zuck",
      "description": "The URL of the Facebook profile."
    }
  },
  "additionalProperties": false
}
get_facebook_v3_post_details — Get Facebook Post Details
Advertised by the server during the last successful anonymous check.

Retrieves media and metadata for a given Facebook post URL. Group: Facebook-Posts. Billing per call: 1 Credits.

get_facebook_v3_post_details input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "example": "https://www.facebook.com/share/r/14GFChzicox/",
      "description": "The URL of the Facebook post."
    },
    "renderableFormats": {
      "type": "string",
      "example": "720p,highres",
      "description": "A comma-separated list of quality formats to generate server-rendered video links for. Allowed values: 144p, 240p, 360p, 480p, 720p, 1080p, highres, midres, lowres, all, all_highres."
    }
  },
  "additionalProperties": false
}
get_instagram_v3_user_profile_id_from_username — Get User ID From Username (Price:5)
Advertised by the server during the last successful anonymous check.

Retrieves the user ID for a given Instagram username. Group: Instagram-User. Billing per call: 5 Credits.

get_instagram_v3_user_profile_id_from_username input schema
{
  "type": "object",
  "required": [
    "username"
  ],
  "properties": {
    "username": {
      "type": "string",
      "example": "instagram",
      "description": "The Instagram username to look up."
    }
  },
  "additionalProperties": false
}
get_instagram_v3_user_profile_details — Get User Profile Details (Price:5)
Advertised by the server during the last successful anonymous check.

Retrieves the profile details for a given Instagram username. Group: Instagram-User. Billing per call: 5 Credits.

get_instagram_v3_user_profile_details input schema
{
  "type": "object",
  "required": [
    "username"
  ],
  "properties": {
    "username": {
      "type": "string",
      "example": "instagram",
      "description": "The Instagram username to look up."
    }
  },
  "additionalProperties": false
}
get_instagram_v3_media_post_details — Get Media Post Details
Advertised by the server during the last successful anonymous check.

Retrieves the media post for a given Instagram shortcode. Group: Instagram-Media. Billing per call: 1 Credits.

get_instagram_v3_media_post_details input schema
{
  "type": "object",
  "required": [
    "shortcode"
  ],
  "properties": {
    "shortcode": {
      "type": "string",
      "example": "DH6N2p3R6WU",
      "description": "The Instagram shortcode to look up."
    },
    "renderableFormats": {
      "type": "string",
      "example": "720p,highres",
      "description": "A comma-separated list of quality formats to generate server-rendered video links for. The number of formats that can be rendered depends on your subscription plan. Allowed values: 144p, 144p60 HDR, 240p, 240p60 HDR, 360p, 360p60 HDR, 480p, 480p60 HDR, 720p, 720p60, 720p60 HDR, 1080p, 1080p60, 1080p60 HDR, 1440p, 1440p60, 1440p60 HDR, 2160p, 2160p60, 2160p60 HDR, highres, midres, lowres, all, all_highres."
    }
  },
  "additionalProperties": false
}
get_pinterest_v3_pin_details — Get Pin Details
Advertised by the server during the last successful anonymous check.

Retrieves every image size and video stream of a Pinterest pin, with one contents entry per story page block and carousel slot (plus the pin's own video), along with its title, creator and metadata. Video lists are deduplicated by URL. Each video includes a renderableAudios item (an M4A of its audio). With renderableFormats, each quality of the video's HLS playlist can also be rendered to MP4 (renderableVideos). Group: Pinterest-Pin. Billing per call: 1 Credits.

get_pinterest_v3_pin_details input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "title": "url",
      "example": "https://pin.it/abc123XYZ",
      "description": "A Pinterest pin URL (pinterest.com/pin/{pinId}/, a regional domain such as in.pinterest.com or pinterest.co.uk, or a pin.it short link). Either pinId or url is required."
    },
    "pinId": {
      "type": "string",
      "title": "pinId",
      "example": "1234567890123456789",
      "description": "The numeric Pinterest pin ID, as in pinterest.com/pin/{pinId}/. Either pinId or url is required; pinId takes precedence when both are sent."
    },
    "renderableFormats": {
      "type": "string",
      "title": "renderableFormats",
      "example": "720p,highres",
      "description": "A comma-separated list of video qualities to generate server-rendered MP4 links for, taken from the video's HLS playlist and labelled by height (e.g. 360p, 540p, 720p, 1080p), or one of: highres, midres, lowres, all, all_highres. Pins without an HLS playlist return an error item per requested format."
    }
  },
  "additionalProperties": false
}
get_twitter_v3_post_details — Get Tweet Details
Advertised by the server during the last successful anonymous check.

Supply tweetId or url. tweetId takes precedence. Returns full text, author and engagement metadata, and ordered photo/video/GIF attachments. Each video also has a renderableAudios item whose renderConfig produces an M4A of its audio: the HLS audio rendition when the playlist has one, otherwise the audio of the medium-quality MP4. Text-only tweets succeed with contents=[] and metadata.post.isTextOnly=true. Deleted or private tweets return an error. The former prototype postId parameter is replaced by tweetId. Group: Twitter-Tweet. Billing per call: 1 Credits.

get_twitter_v3_post_details input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "title": "url",
      "default": "https://x.com/jack/status/20",
      "example": "https://x.com/jack/status/20",
      "description": "An http(s) X/Twitter status URL or t.co short link. Photo/video suffixes and query strings are supported. Required unless tweetId is supplied."
    },
    "lang": {
      "type": "string",
      "title": "lang",
      "description": "Preferred page language, passed in the page URL, Accept-Language header and media request headers. Defaults to en. Does not translate tweet text."
    },
    "tweetId": {
      "type": "string",
      "title": "tweetId",
      "default": "2116307188155400526",
      "example": "2116307188155400526",
      "description": "Numeric tweet ID. Required unless url is supplied."
    }
  },
  "additionalProperties": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
772 ms
95th percentile latency
772 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 772 ms · metadata changed · 30 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http social-media-video-downloader-mcp https://mcp.jojapi.com/social-media-video-downloader

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add social-media-video-downloader-mcp --url https://mcp.jojapi.com/social-media-video-downloader

Cursor

Merge this server into .cursor/mcp.json in your project, then enable social-media-video-downloader-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "social-media-video-downloader-mcp": {
      "url": "https://mcp.jojapi.com/social-media-video-downloader"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "social-media-video-downloader-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.jojapi.com/social-media-video-downloader",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start social-media-video-downloader-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "social-media-video-downloader-mcp": {
      "type": "http",
      "url": "https://mcp.jojapi.com/social-media-video-downloader"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http social-media-video-downloader-mcp https://mcp.jojapi.com/social-media-video-downloader

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.jojapi.com/social-media-video-downloader

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "social-media-video-downloader-mcp": {
      "serverUrl": "https://mcp.jojapi.com/social-media-video-downloader"
    }
  }
}

Let your agent find its tools

Find servers like Social Media Video Downloader MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Social Media Video Downloader MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing