Telegram Comments Scraper
Pricing
$0.10 / 1,000 comments
Telegram Comments Scraper
⚡️ Telegram Comments Scraper: Extract comments from public & private Telegram channels.
Pricing
$0.10 / 1,000 comments
Rating
0.0
(0)
Developer

i-Scraper
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
📊 Powerful Apify Actor for extracting comments from Telegram channel posts.
Telegram Comments Scraper automatically downloads comments from channel posts you specify, either by direct post links or by scanning a channel within a date range.
1. Why you will love it
- 🏎 Fast — fetches thousands of comments per minute thanks to full async processing.
- 🛡 Reliable — retries API calls, respects rate limits and survives network hiccups.
- 🔎 Flexible — supports two modes: direct post links OR channel + date range scanning.
- ☁️ Scalable — run dozens of parallel actors on Apify without dealing with servers.
2. Input configuration
Mode 1: Direct Post Links
{"postLinks": ["https://t.me/channel/123","https://t.me/channel/456"],"limit": 10000,"telegramSession": "${{ TELEGRAM_SESSION }}","telegram2faPassword": "${{ TELEGRAM_2FA_PASSWORD }}"}
Mode 2: Channel + Date Range
{"channel": "@mychannel","postsFrom": "2025-01-01T00:00:00Z","postsTo": "2025-01-31T23:59:59Z","commentsFrom": "2025-01-15T00:00:00Z","limit": 10000,"telegramSession": "${{ TELEGRAM_SESSION }}","telegram2faPassword": "${{ TELEGRAM_2FA_PASSWORD }}"}
Parameters explained:
Mode 1 Parameters:
postLinks(array, required for Mode 1) — direct links to channel posts in formathttps://t.me/channel/123
Mode 2 Parameters:
channel(string, required for Mode 2) — channel identifier accepted in any of the following forms:@channelhttps://t.me/channel(public)
postsFrom(string, required for Mode 2) — ISO-8601 timestamp. Posts older than this value are skipped.postsTo(string, optional) — ISO-8601 timestamp. Posts newer than this value are skipped.commentsFrom(string, optional) — ISO-8601 timestamp. Comments older than this value are skipped.
Common Parameters:
limit(integer, optional, default 10000) — maximum total number of comments to retrieve across all posts.telegramSession(string, optional) — pass a session string directly instead of using the secret.telegram2faPassword(string, optional) — account password if two-factor authentication is enabled.
3. Running the Actor
- Open Telegram Comments Scraper on Apify.
- Choose your input mode (direct links or channel + date range).
- Click Run and open the Logs tab.
- If you didn't provide a session string, a QR code will appear. In the Telegram app open Settings → Devices → Link Desktop Device and scan the QR code.
- If Telegram prompts for a password after scanning the QR (two-factor authentication), stop the run, open the input section and fill Telegram 2FA password (or set the secret
TELEGRAM_2FA_PASSWORD) and start the Actor again. - (Optional) Copy the session string shown in the logs and store it as
TELEGRAM_SESSIONfor future runs.
4. Output dataset
The actor produces two types of records in the default dataset:
Post Record
{"type": "post","channel": "mychannel","post_id": 123,"post_link": "https://t.me/mychannel/123","date": "2024-05-21T15:32:10+00:00","text": "Check out this post!","comments_count": 42}
Comment Record
{"type": "comment","channel": "mychannel","post_id": 123,"post_link": "https://t.me/mychannel/123","comment_id": 5,"date": "2024-05-21T16:20:30+00:00","sender_id": 67890,"sender_username": "username","text": "Great post!","media_type": null}
Download results in JSON, CSV, Parquet and more via Apify API or UI.
5. FAQ
Q: What's the difference between Mode 1 and Mode 2?
A: Mode 1 (Direct Links) lets you specify exact posts to scrape. Mode 2 (Channel + Date Range) automatically finds all posts in a channel within a date range and scrapes their comments.
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 comments from private channels?
A: Yes, but your Telegram account must have access to the channel. Provide a valid session string for an account that is a member of the channel.
Q: Does the limit apply per post or globally?
A: The limit is global — it applies to the total number of comments across all posts.
Q: What if a post has no comments?
A: The post record will still be saved with comments_count: 0.
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: Can I filter comments by date in Mode 1?
A: No, commentsFrom only works in Mode 2 (channel + date range). In Mode 1, all comments for the specified posts are fetched (up to the global limit).
6. 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 Comments Scraper today and turn Telegram comments into valuable data for analytics, sentiment analysis and research!