Telegram Channels Scraper
Pricing
$2.00 / 1,000 results
Telegram Channels Scraper
⚡️ Telegram Channels Scraper: Extract posts from public Telegram channels.
Pricing
$2.00 / 1,000 results
Rating
5.0
(1)
Developer
i-Scraper
Maintained by CommunityActor stats
4
Bookmarked
350
Total users
14
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
📊 Powerful Apify Actor for extracting message history from public Telegram channels.
Telegram Channels Scraper automatically downloads complete or incremental message history from the channels you specify.
Public channel URLs and usernames are supported, along with private channel invitations in t.me/+... or
t.me/joinchat/... format. Telegram rate-limit retries resume from the last delivered message and respect your
per-channel limit. If the login window closes or a required 2FA password is missing, the run is marked Failed with
an ACTION REQUIRED message explaining how to retry.
1. Why you will love it
- 🏎 Fast — fetches thousands of messages per minute thanks to full async processing.
- 🛡 Reliable — retries API calls, respects rate limits and survives network hiccups.
- 🔎 Flexible — scrape any number of channels and use
historyFromto limit the time range. - ☁️ Scalable — run dozens of parallel actors on Apify without dealing with servers.
2. Input configuration
{"channels": ["@apify","https://t.me/durov"],"historyFrom": "2025-01-01T00:00:00Z","telegramSession": "${{ TELEGRAM_SESSION }}","telegram2faPassword": "${{ TELEGRAM_2FA_PASSWORD }}","limit": 1000}
Parameters explained:
channels(array, required) — channel identifiers accepted in any of the following forms:@channelhttps://t.me/channelchannel
historyFrom(string, optional) — ISO-8601 timestamp. Messages older than this value are skipped.telegramSession(string, optional) — pass a session string directly instead of using the secret.telegram2faPassword(string, optional) — account password if two-factor authentication is enabled.limit(integer, optional) — maximum number of latest messages to fetch per channel. If omitted, the actor retrieves the full history (subject tohistoryFrom).
3. Running the Actor
- Open Telegram Channels Scraper in Apify Console and add at least one channel.
- Click Run and open Logs. If Telegram login is needed, open Settings → Devices → Link Desktop Device in Telegram and scan the latest QR code. The Actor refreshes expired codes during the three-minute login window.
- If Telegram requests a two-factor password, fill in Telegram 2FA password and start the Actor again.
- After a successful login, the Actor saves the session for future runs under the same Apify account. API and scheduled runs require a valid saved session or a valid
telegramSessioninput.
4. Output dataset
Each message is stored in the default dataset. Sample record:
{"type": "message","channel": "apify","id": 12345,"date": "2024-05-21T15:32:10+00:00","sender_id": 67890,"sender_username": "username","text": "Hello, Apify!","media_type": null}
Download results in JSON, CSV, Parquet and more via Apify API or UI.
5. FAQ
Q: I see FloodWaitError in logs — did the run fail?
A: No. The actor automatically waits the required time and resumes. You will only see a warning.
Q: Can I scrape a private channel?
A: Yes. Provide an invite link (e.g. https://t.me/+HASH) or its short form (+HASH) in the channels array. Make sure the Telegram account running the actor has access to the channel; the actor will automatically join it if needed.
Q: How do I save only media messages?
A: After the run finishes, filter the dataset by media_type.
Q: Is it safe to provide telegramSession and telegram2faPassword?
A: Both values are stored in Apify Secrets; they never appear in logs and cannot be read by other actors. A session string only grants access to act as your account, and the 2FA password is used once during the sign-in flow. Recommended practices:
• keep both values exclusively in Secrets;
• regenerate / update the session string whenever you change your Telegram password;
• you can revoke access at any moment in Telegram settings by logging out the linked device.
Q: I noticed a new device called “apifytg” logged into my Telegram from an unfamiliar location. What is it?
A: When the actor authenticates, Telethon registers a device for the session (the default device model is “ApifyTG”). The IP you see is the data-centre where the actor is running (Apify Cloud or your local machine). This is expected and safe. If you want to revoke access, simply log this device out in Settings → Devices and remove the saved telegramSession / secret.
6. Related Telegram Scrapers
Looking for more Telegram data extraction tools? Check out our complete suite:
- 💬 Telegram Comments Scraper — download comments from channel posts with flexible filtering options.
- 👍 Telegram Like Scraper — collect like statistics, emoji reactions, and view counts from channel posts.
- 👥 Telegram Groups Scraper — scrape message history from Telegram groups (including private invite links).
7. Support & contributions
Found a bug or have a feature request? Feel free to open an issue or submit a pull request. We’re happy to discuss ideas like additional fields, filters or export formats.
⭐️ Launch Telegram Channels Scraper today and turn Telegram content into valuable data for analytics, brand monitoring and research!