Telegram Media Downloader avatar

Telegram Media Downloader

Pricing

from $0.01 / 1,000 media files

Go to Apify Store
Telegram Media Downloader

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é

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

60

Total users

4

Monthly active users

15 hours ago

Last modified

Share

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.

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: video or photo.
  • extension, thumbnailUrl, and quality: file details when known.
  • postUrl and postId: the source post link and ID.
  • channelHandle and authorName: public source details when shown.
  • postText, postDate, and viewsText: 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

  1. Add one or more public Telegram targets.
  2. Set how many recent posts to check for each channel target.
  3. Set a total media limit.
  4. Choose all media, videos, or photos.
  5. Add a start or end date if needed.
  6. Start the Actor and open the dataset.

⚙️ Input

FieldWhat it does
targetsAccepts public post, channel, group, and t.me/s archive URLs, plus @handles. You can add up to 500 targets.
maxPostsPerChannelChecks up to this many recent posts for each channel, group, archive, or handle.
maxMediaItemsStops after this many media files across the run.
mediaTypesKeeps all, video, or photo media.
startDateKeeps posts on or after this YYYY-MM-DD date.
endDateKeeps 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.

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 🫡

Made with ❤️ by Maxime Dupré