Telegram Media Downloader
Pricing
from $0.01 / 1,000 media files
Telegram Media Downloader
Get photos and videos from public Telegram posts, channels, groups, archives, and handles. Export media links and post details to an Apify dataset.
Pricing
from $0.01 / 1,000 media files
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
60
Total users
4
Monthly active users
15 hours ago
Last modified
Categories
Share
📥 Get public Telegram media by link
Telegram Media Downloader is for researchers, media teams, and developers who need photos or videos from public Telegram pages. Add a public post link, channel, group, archive, or handle. The Actor saves media links and post details in an Apify dataset.
- Telegram Media Downloader by Link — Get media links from a known public Telegram post URL.
- Telegram Video Downloader — Get direct video links from public Telegram posts.
- Telegram Photo Downloader — Get photo links from public Telegram posts.
- Telegram Channel Media Downloader — Check recent posts from a public channel, group, archive, or handle.
- Telegram Media Date Filter — Keep channel media from an exact date range.
- Telegram Media Metadata Export — Export media type, file details, post text, dates, views, and source links.
The Actor does not need a Telegram login, cookies, phone number, or API key. It cannot open private channels, invite-only groups, direct messages, deleted posts, or /c/ links.
📦 Returned data
Each dataset row is one photo or video. It can include:
mediaUrl: the direct Telegram media link. It may expire.mediaType:videoorphoto.extension,thumbnailUrl, andquality: file details when known.postUrlandpostId: the source post link and ID.channelHandleandauthorName: public source details when shown.postText,postDate, andviewsText: public post details when shown.position: the media file's place in its post, starting at 1.
The dataset has media rows only. A private, missing, unsupported, deleted, empty, or filtered target does not create a row. The run log tells you when no matching public media was found.
🚀 Running the Actor
- Add one or more public Telegram targets.
- Set how many recent posts to check for each channel target.
- Set a total media limit.
- Choose all media, videos, or photos.
- Add a start or end date if needed.
- Start the Actor and open the dataset.
⚙️ Input
| Field | What it does |
|---|---|
targets | Accepts public post, channel, group, and t.me/s archive URLs, plus @handles. You can add up to 500 targets. |
maxPostsPerChannel | Checks up to this many recent posts for each channel, group, archive, or handle. |
maxMediaItems | Stops after this many media files across the run. |
mediaTypes | Keeps all, video, or photo media. |
startDate | Keeps posts on or after this YYYY-MM-DD date. |
endDate | Keeps posts on or before this YYYY-MM-DD date. |
This valid input checks public channel posts and keeps videos from the first half of 2026:
{"targets": ["https://t.me/s/telegram"],"maxPostsPerChannel": 50,"maxMediaItems": 25,"mediaTypes": ["video"],"startDate": "2026-01-01","endDate": "2026-06-30"}
🧾 Output
{"mediaUrl": "https://cdn4.telesco.pe/file/video.mp4?token=abc","mediaType": "video","extension": "mp4","thumbnailUrl": "https://cdn4.telesco.pe/file/thumb.jpg","quality": "source","postUrl": "https://t.me/example/123","postId": "123","channelHandle": "example","authorName": "Example Channel","postText": "Visible Telegram post text","postDate": "2026-05-20T10:00:00+00:00","viewsText": "1.2K","position": 1}
A source-hosted mediaUrl can expire. Save or use a link while Telegram still makes it available.
💰 Pricing
This Actor uses pay-per-event pricing. You are charged for each photo or video saved to the dataset. Empty targets, filtered posts, setup work, and failed source requests are not charged as media files. The event price for your Apify plan is shown before you start a run.
🔌 Integrations
Open results in an Apify dataset, export them as JSON, CSV, Excel, XML, RSS, or HTML, or use the Apify API. You can also use schedules, webhooks, and Apify integrations.
❓ FAQ
Why did a public channel return no media?
The checked posts may have no photos or videos. Your date or media filters may also leave out every file. The channel may be private, empty, removed, or a bot with no public archive. Check the run log for details.
Can I use a direct post link?
Yes. Add a public link such as https://t.me/example/123. The Actor checks that post only.
Can I download private Telegram media?
No. The Actor reads public Telegram pages only. It cannot join private chats, use invite links, read direct messages, or bypass access rules.
Does this use the official Telegram API or a Telegram client?
No. It reads public Telegram pages, so you do not need Telegram API credentials or a logged-in client. Use an official Telegram client for content that only your account can open.
What happens if a source request fails?
The Actor retries short source problems. If Telegram still cannot be reached, the run reports an error instead of treating the request as an empty result.
Are Telegram media links permanent?
No. The files stay at Telegram, and Telegram can end access to a link after the run. Use the link while it is available.
📝 Changelog
- 1.0: Focused media output on public Telegram photos and videos with direct source-hosted media URLs, refreshed pricing copy, and cleaner dataset fields.
- 0.0: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Telegram Channel Messages Scraper — Export full public channel messages with text, links, reactions, and media details.
- Telegram Channels Scraper — Find public channels by keyword or add data to known handles.
- Telegram Info Scraper — Get public profile data for users, bots, channels, groups, and handles.
- Facebook Media Downloader — Get media links and details from known public Facebook video and reel URLs.
- Twitter Media Scraper — Get image, video, and GIF links from public Twitter/X posts and search targets.
Made with ❤️ by Maxime Dupré