Telegram Comments Scraper avatar
Telegram Comments Scraper

Pricing

$0.10 / 1,000 comments

Go to Apify Store
Telegram Comments Scraper

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

i-Scraper

Maintained by Community

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 format https://t.me/channel/123

Mode 2 Parameters:

  • channel (string, required for Mode 2) — channel identifier accepted in any of the following forms:
    • @channel
    • https://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

  1. Open Telegram Comments Scraper on Apify.
  2. Choose your input mode (direct links or channel + date range).
  3. Click Run and open the Logs tab.
  4. 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.
  5. 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.
  6. (Optional) Copy the session string shown in the logs and store it as TELEGRAM_SESSION for 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!