Telegram Channel Scraper: Posts + Media + Metadata
by webfinity
Extract Telegram posts with media — perfect for scraping & automation. Collect text, views, reactions, media links (photos, videos, files), channel na...
Opens on Apify.com
About Telegram Channel Scraper: Posts + Media + Metadata
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.
What does this actor do?
Telegram Channel Scraper: Posts + Media + Metadata is a web scraping and automation tool available on the Apify platform. It's designed to help you extract data and automate tasks efficiently in the cloud.
Key Features
- Cloud-based execution - no local setup required
- Scalable infrastructure for large-scale operations
- API access for integration with your applications
- Built-in proxy rotation and anti-blocking measures
- Scheduled runs and webhooks for automation
How to Use
- Click "Try This Actor" to open it on Apify
- Create a free Apify account if you don't have one
- Configure the input parameters as needed
- Run the actor and download your results
Documentation
📦 Telegram Channel Scraper: Posts + Media + Metadata 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 json { "channels": "@channelname, @channelname, @channelname", "limit": 5, "daysBack": 3 } !!! Important: To avoid Telegram FloodWait limits on `contacts.ResolveUsername`, the actor now processes **up to 10 channels per run**. If you need to scrape more channels, please split them into several runs. --- ## ▶️ How to Run 1. Open the actor in Apify Console. 2. Fill in the input fields: - channels: @channel1, @channel2 - limit: 5 (optional) - daysBack: 3 (optional) 3. Click Save, then Run. 4. 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. json { "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_SESSION are set and valid. - Try public channels only and set daysRange=3..7. - Increase maxPosts to 20..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 date or very close timestamps - Consecutive postId values - One record containing only text, the other containing only media 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 postId timestamps - 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. ## Changelog 2025-12-05 ✅ Added explicit handling and logging for Telegram contacts.ResolveUsername FloodWait errors. ✅ When Telegram returns a FloodWait, the actor now stops processing further channels in that run and adds a telegram_rate_limit record to the dataset with a human-readable explanation. ✅ Limited the number of channels processed per run to 10 to reduce the risk of hitting global FloodWait on the shared Telegram session. ✅ Updated input description to recommend no more than 10 channels per run and documented this behavior in the README. --- ## 🔐 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.
Categories
Common Use Cases
Market Research
Gather competitive intelligence and market data
Lead Generation
Extract contact information for sales outreach
Price Monitoring
Track competitor pricing and product changes
Content Aggregation
Collect and organize content from multiple sources
Ready to Get Started?
Try Telegram Channel Scraper: Posts + Media + Metadata now on Apify. Free tier available with no credit card required.
Start Free TrialActor Information
- Developer
- webfinity
- Pricing
- Paid
- Total Runs
- 1,253
- Active Users
- 79
Related Actors
🏯 Tweet Scraper V2 - X / Twitter Scraper
by apidojo
Instagram Scraper
by apify
TikTok Scraper
by clockworks
Instagram Profile Scraper
by apify
Apify provides a cloud platform for web scraping, data extraction, and automation. Build and run web scrapers in the cloud.
Learn more about ApifyNeed Professional Help?
Couldn't solve your problem? Hire a verified specialist on Fiverr to get it done quickly and professionally.
Trusted by millions | Money-back guarantee | 24/7 Support