yt-dlp Video Link Extractor - Any URL to Links, 1000+ Sites

io.github.AnshumanAtreyPublished by GitHub account AnshumanAtreyv0.1.6Updated Oct 29, 2026

yt-dlp Link Extractor - Any Video URL to Direct Links

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingMedia & Design

Overview

AI-generated overview

Apify-hosted MCP server that resolves video URLs from 1,000+ yt-dlp sites into direct stream links, subtitles and metadata.

What you can do
  • Resolve one or more video, playlist or channel URLs into direct media links
  • Return the best combined link plus separate best video-only and audio-only stream URLs
  • List every available format with its own URL, resolution and codec
  • Return metadata such as title, uploader, duration, view count and upload date
  • Return thumbnail and subtitle/caption track URLs by language
When to use it
Useful when an assistant needs a playable or downloadable link for a video on YouTube, Vimeo, SoundCloud, Twitch and similar sites, or needs video metadata in bulk, or wants stream URLs to feed into a separate downloader, transcoder or player. It returns links only, so it is not a file downloader.
Requirements
A remote MCP endpoint at mcp.apify.com with OAuth authentication; an Apify API token sent as an Authorization bearer header. Runs bill to that Apify account. Optional inputs include a proxy configuration and Netscape-format cookies for age-restricted or login-gated videos.
Before you install
Every run costs money on a pay-per-event basis (per run, per URL processed and per video resolved), so bulk playlists add up; a maximum cost per run can be set. The Authorization token is an Apify API credential tied to a billing account. Optional cookies are sensitive account credentials. Returned links are often time-limited and should be used promptly. Only resolve content you have the right to access.

Installation

In SourceWeft

  1. Open yt-dlp Video Link Extractor - Any URL to Links, 1000+ Sites in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.AnshumanAtrey%2Fyt-dlp-video-link-extractor/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "yt-dlp-video-link-extractor-any-url-to-l": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=anshumanatrey/yt-dlp-video-link-extractor"
    }
  }
}

README

yt-dlp Video Link Extractor - Any URL to Links, 1000+ Sites

Paste any video URL and get back the direct stream and download links plus full metadata, resolved by yt-dlp. No files are stored, no RAM is burned - it resolves the links, it does not host the bytes.

Available as an Apify Actor. $0.002 per run + $0.003 per URL processed + $0.04 per video resolved.


What does it do?

Give it one or more video URLs. For each one it returns the direct media links (a single combined audio+video file when one exists, plus the best video-only and audio-only streams), every available format with its own URL, thumbnails, subtitles, and the metadata: title, uploader, duration, view count, upload date.

It is powered by yt-dlp, so it works on 1,872 sites (verified at build time) - YouTube, Vimeo, SoundCloud, Twitch, Dailymotion, Reddit, Rumble, Bilibili and far more - not just YouTube. You paste a URL, you get the links. That is the whole tool.

It never downloads the actual file. That is deliberate: downloading large videos into cloud storage is slow, expensive, and memory-heavy. Resolving the link is instant and lets you fetch, stream, or transcode the media yourself.

How is it different from a YouTube downloader?

Typical YouTube downloaderThis actor
SitesYouTube onlyAny of 1,000+ yt-dlp sites
OutputAn .mp4 file in storageThe direct links + full metadata
SpeedWaits for the full downloadResolves in seconds, no transfer
Cost driverPer MB downloadedPer URL + per video resolved (flat)
RAMBuffers the videoFlat - nothing is downloaded

Most actors in this space stop at YouTube. This one hands you the raw links for almost any video site, so you can build your own download, archive, or analysis pipeline on top.

When should I use it?

  • Get a direct, playable/downloadable link for a video on almost any site
  • Pull metadata (title, duration, views, upload date, uploader) in bulk
  • Feed stream URLs into your own downloader, transcoder, or player
  • Grab subtitle and caption track URLs across languages
  • Resolve every video in a playlist or channel to its links in one run

How much does it cost to resolve a video?

Pay-per-event:

  • $0.002 per run
  • $0.003 per URL processed (covers the resolve attempt for any URL)
  • $0.04 per video successfully resolved

A single video costs about $0.045. A failed URL costs only $0.005 (run + URL fee, never the $0.04 resolution fee). Resolving a 50-video playlist costs about $2.00. On paid Apify plans the URL and video fees are 10% less on Scale ($0.036 a video) and 20% less on Business and above ($0.032).

If you set a maximum cost per run, the actor stops when it is reached, never starts a URL it could not deliver, and says so in the run's status message.

Which inputs does it take?

FieldRequiredWhat it does
urlsyesOne or more video URLs. Any yt-dlp site works. A playlist/channel URL expands to its videos.
includeFormatsoptionalInclude the full format list (every resolution + codec with its URL) and all thumbnails. Default on.
includeSubtitlesoptionalInclude subtitle and auto-caption URLs by language. Default off.
playlistLimitoptionalMax videos to resolve from a playlist/channel. Default 50.
proxyConfigurationoptionalRoute through a proxy. Use a residential group for sites that block datacenter IPs.
cookiesoptionalNetscape-format cookie contents for age-restricted or login-gated videos.

What does the output look like?

One record per resolved video. The link-first fields:

json
{  "input_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",  "ok": true,  "extractor": "youtube",  "title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",  "uploader": "Rick Astley",  "duration": "3:33",  "view_count": 1779349674,  "upload_date": "2009-10-25",  "best_url": "https://rr3---sn-gwpa-a3ve7.googlevideo.com/videoplayback?...",  "best_url_kind": "combined",  "best_resolution": "640x360",  "best_video_url": "https://...  (up to 3840x2160)",  "best_audio_url": "https://...  (.m4a)",  "thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/sddefault.jpg",  "formats": [ { "format_id": "...", "ext": "mp4", "resolution": "1920x1080", "url": "..." } ]}
  • best_url is the single link most people want: a combined audio+video file when the site offers one, otherwise the best audio (for music/podcasts) or best video.
  • best_video_url + best_audio_url matter for high-resolution sources. YouTube and Vimeo serve 1080p/4K video and audio as separate streams, so best_url (the combined file) tops out lower - use the two separate links for maximum quality.
  • A failed URL returns { "input_url": ..., "ok": false, "error": "..." }.

How reliable is it?

yt-dlp is the most actively maintained extractor project in the world, and this actor follows its releases. A daily job builds each new yt-dlp release, runs it next to the current build on the same test videos, and ships it only if it resolves them at least as well, so extractor fixes usually reach your runs within a day and a release that does worse is held back. YouTube results include the combined audio+video link, because the actor ships the Deno JavaScript runtime that yt-dlp needs to solve YouTube's player challenges. When YouTube refuses a video to the cloud IP with a bot check, the actor retries that video through a residential proxy on its own, and vimeo.com links go through Vimeo's public player page, so neither needs your account.

Common questions

Q: Does it download the video file? No. It returns the direct links. Fetch, stream, or transcode the media yourself. This keeps it fast and cheap.

Q: Do the links expire? Often yes. Many sites (YouTube especially) issue time-limited URLs that expire in a few hours. Use them promptly.

Q: Which sites are supported? Anything yt-dlp supports - 1,872 extractors at last build, including YouTube, TikTok, Vimeo, Twitch, SoundCloud, Reddit, Dailymotion, Rumble, Bilibili, Facebook and more.

Q: A TikTok / Instagram / X link failed. Why? Those platforms aggressively block datacenter IPs. Supply a residential proxy in proxyConfiguration and/or cookies and retry. Most other sites work with no proxy.

Q: Does YouTube work? Yes: single videos, lists and playlists. YouTube answers some videos from cloud (datacenter) IPs with a "confirm you're not a bot" check. The actor then retries that video through a residential proxy automatically, at no extra charge, and the run's status message counts the retries. A retried video takes longer, about 20 to 40 seconds. Age-restricted and members-only videos still need cookies.

Q: Does Vimeo work? Yes. vimeo.com links, unlisted ones included, are resolved through Vimeo's public player page, which needs no account. View counts and upload dates come only with a Vimeo login: pass cookies for those. A video whose owner blocks embedding cannot be resolved without an account.

Q: Can I pass a whole playlist or channel? Yes. It expands to the videos inside, capped by playlistLimit.

Q: Can I get just the audio? Yes - best_audio_url is the best audio-only stream. For music sites it is also the best_url.

Q: Am I charged for failed URLs? Only the small per-URL processing fee ($0.003), which covers the resolve attempt. You are never charged the $0.04 resolution fee unless a video is actually resolved.

Limitations

  • Returns links, not downloaded files (by design).
  • Direct links are time-limited by the source platform - use them quickly.
  • Datacenter-blocked sites (TikTok, Instagram, X) need a residential proxy and/or cookies.
  • Live streams resolve to HLS/DASH manifest URLs, not a single finished file.

Ethical use

Download and use only content you have the right to access. Respect each platform's terms of service and copyright. This tool resolves publicly reachable media links; it does not bypass paywalls or DRM.

Other actors by the same maintainer

Part of a portfolio of cloud tools built and maintained by Anshuman Atrey (@AnshumanAtrey). Custom features shipped within 24-48h for legitimate use cases via atrey.dev.

ActorUse case
holehe-email-osintEmail to registered accounts across 120+ sites
social-analyzerUsername across 900+ social sites
theharvester-osintDomain to emails + subdomains
netintelIP/domain to WHOIS + DNS + GeoIP + ports
instagram-profile-intel-no-loginInstagram profile fields, no login

License

MIT (see LICENSE). Built on top of yt-dlp (Unlicense / public domain).

Source: README.md at commit 07854f6

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

2
  1. v0.1.6LatestOct 29, 2026
  2. v0.1.1Sep 24, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.