Paste a link.
Get the file.

A Telegram bot that pulls video, photo, and audio off ten platforms. No ads, no watermarks, no signup.

Ten platforms have a dedicated extractor: TikTok, Instagram, X, YouTube, Facebook, Threads, SoundCloud, Spotify, Pinterest, and GitHub. Any other link is still attempted through a generic fallback.

  • TikTok
  • Instagram
  • X
  • YouTube
  • Facebook
  • Threads
  • SoundCloud
  • Spotify
  • Pinterest
  • GitHub

What comes back

Send the link, get the media. The bot works out the platform, the type, and the best available quality on its own.

TikTok without the watermark

Clean video every time. Everything else comes back at the best quality the platform exposes.

Audio on its own

Pull the track out of a YouTube video, a TikTok, a SoundCloud upload, or a Spotify link.

Whole galleries, not the first frame

Carousels, albums, and photo slideshows return every item in the post.

Instagram stories by username

Send /story with a handle and the current stories arrive as albums.

Long reads stay readable

X articles and self-reply threads are published to Telegraph so the full text is actually reachable.

English and Arabic

The bot picks the language from your Telegram client, and /lang changes it.

Same pipeline, over HTTP

The downloader is also a REST endpoint and an MCP server, so scripts and AI agents can use it without going through Telegram. Both return links, never file bytes, and both stay disabled until the operator sets an API key.

Read the full reference

Requestcurl -X POST https://dl.engdawood.com/api/download \
  -H "X-API-Key: $PUBLIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.tiktok.com/@user/video/123"}'
Response{
  "status": "success",
  "platform": "TikTok",
  "media": [
    {
      "type": "video",
      "url": "https://...",
      "quality": "720p",
      "filesize": 1048576
    }
  ],
  "caption": "original post text"
}

Worth knowing before you start

Media links are handed back as direct URLs from the source platform. They are usually signed and short lived, so save the file when you get it rather than storing the link. Anything over Telegram's 50 MB upload ceiling arrives as a link instead of a file, and adult domains are refused outright.

This is a personal project. There is no uptime promise and no quota, and the downloads lean on external backends that occasionally go down. If a link fails, try it again in a minute.