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.
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.
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.