Telegram Channel Content & Media Scraper
Pricing
$10.00 / 1,000 posts
Telegram Channel Content & Media Scraper
Extract Telegram posts with media — perfect for scraping & automation. Collect text, views, reactions, media links (photos, videos, files), channel name, bio, subscriber count, and post metadata. Ideal for creators, analysts, data engineers, and automation workflows.
5.0 (3)
Pricing
$10.00 / 1,000 posts
4
108
46
Issues response
5.6 days
Last modified
19 days ago
📦 Telegram Channel Content & Media Scraper
Extract channel name, bio, subscriber count, recent posts, views, reactions, and all media with direct download links.
This actor scrapes structured content from public Telegram channels using the Telegram API via a pre-authorized session string.
✅ What This Actor Does
- Connects to Telegram automatically (no setup required)
- Parses public channels (by username or link)
- Retrieves:
- Channel name and subscriber count
- Latest posts (text, views, reactions, links, media)
- Direct media URLs (
.jpg,.mp4,.pdf, etc.)
- Handles:
- Text-only and media-only messages
- Full reaction counts and link extraction
- Skips:
- Ads, empty posts, and outdated messages
- Starts from most recent post and works backwards
🧾 Input
You don’t need to enter any credentials — they’re already preconfigured.
Just provide three simple fields:
| Field | Type | Required | Description |
|---|---|---|---|
channels | string | ✅ | Comma-separated list of channel usernames or links (e.g. @channel1, @channel2) |
limit | number | ❌ | Max number of posts per channel (default: 10) |
daysBack | number | ❌ | Number of days to look back from today (default: 7) |
📌 Example input
{"channels": "@channelname, @channelname, @channelname","limit": 5,"daysBack": 3}
▶️ How to Run
- Open the actor in Apify Console.
- Fill in the input fields:
channels:@channel1, @channel2limit:5(optional)daysBack:3(optional)
- Click Save, then Run.
- Watch live logs and access results from:
- Dataset (post content, text, reactions, views)
- Key-Value Store (media files with public links)
📤 Output
Each post is saved as a separate record in the default dataset (JSON format).
Text-only and media-only messages are handled independently.
{"channel": "@channel_name","channelLink": "https://t.me/channel_name","subscribers": 12345,"postId": 101,"postUrl": "https://t.me/channel_name/101","date": "2025-05-31T17:38:00.000Z","text": "Example post content","views": 3456,"reactions": [{ "emoji": "👍", "count": 42 },{ "emoji": "❤️", "count": 18 }],"likes": 60,"links": ["https://example.com"],"hasMedia": true,"mediaUrls": ["https://api.apify.com/v2/key-value-stores/<storeId>/records/channel_101_101.jpg?disableRedirect=1"]}
🛠 Use Cases
- Competitive/viral content monitoring
- Telegram market research
- Dataset building for AI/ML models
- Public media archiving
- Social listening and trend analysis
- Automation for newsletter or curation projects
🚀 Deploy Now
First run may take 1–2 minutes to initialize dependencies.
Subsequent runs are faster and optimized.
Troubleshooting
If you see empty results:
- Ensure ENV variables
API_ID,API_HASH,STRING_SESSIONare set and valid. - Try public channels only and set
daysRange=3..7. - Increase
maxPoststo20..50.
⚠️ Telegram Post Grouping Behavior
Important note:
Telegram’s internal interface sometimes displays a single post as a combination of text + media, but via the Telegram API, these are delivered as two separate messages.
As a result, you may see two records in the dataset with:
- The same
dateor very close timestamps - Consecutive
postIdvalues - One record containing only
text, the other containing onlymedia
This is expected behavior.
The actor captures exactly what the Telegram API provides without merging or altering message structure.
To reconstruct the post visually:
- Use matching
postIdtimestamps - Optionally merge adjacent records if they share a context
Update (2025-10-10)
✅ Fixed AUTH_KEY_DUPLICATED by adding a per-session lock (prevents concurrent reuse of the same Telegram auth key).
✅ Improved error messages for session conflicts.
✅ Internal stability tweaks for Telegram requests and media downloads.
🔐 License & Usage
This actor is a proprietary paid product.
- ❗ It is not open source
- 📦 It is licensed for private and commercial use only by subscribers
- 🛑 Any unauthorized copying, reselling, or redistribution is strictly prohibited
- 🧑💻 All activity is logged for abuse prevention and fair use enforcement
To get access or report a bug, please contact the creator.
Made with 💙 for Telegram research & automation.
