Telegram Channel Message Scraper
Pricing
from $85.00 / 1,000 runs
Telegram Channel Message Scraper
Scrape Telegram channel messages and group chat posts with author profiles. Delivers Excel export via webhook for lead gen and conversation analysis.
Pricing
from $85.00 / 1,000 runs
Rating
5.0
(1)
Developer
akula.marketing
Maintained by CommunityActor stats
5
Bookmarked
58
Total users
4
Monthly active users
9 days ago
Last modified
Categories
Share
Telegram Get Chat Messages / Channel Comments
Actor to get the Excel file containing messages and their authors' account information from a Telegram channel or chat. This Actor collects all messages and users who have posted messages in Telegram channels or Chat, sorted by the most recent activity. Each scraping session is limited to 10 minutes but can be resumed from the last checkpoint, allowing for unlimited data collection without quantity restrictions. This actor is designed for efficient and flexible Telegram user data collection, suitable for further analysis or integration with other tools.
Actor use public Telegram API's channels.getMessages method to create a parsing task for gathering Telegram channel information about messages and comments.
- Parsing Time: The approximate time to complete the parsing task is about 5 minutes.
To get more functionality use akula.marketing
š„ Input
The Actor accepts the following input fields:
- username: The Telegram channel username or ID (e.g.,
@channelnameorchannelname). - webhookUrl: The URL where the parsing results will be sent.
The task of Telegram channel parsing takes a few minutes to complete, so the Actor uses asynchronous logic. You must provide a webhook URL to receive the results. You can use your own URL or try online services for testing, such as webhook.site, which we recommend for this purpose.
Example of webhook events are available here

š Input Schema
| Field | Type | Description | Required | Default |
|---|---|---|---|---|
username | String | Telegram channel username or ID | Yes | devs |
webhookUrl | String | Webhook URL to receive parsing results | Yes | https://webhook.site/6fc27cda-... |
max_message_id | Integer | Offset message ID (only messages before this ID will be retrieved). Exclusive. Minimum: 0. | No | None |
min_message_id | Integer | Excludes messages with an ID lower than or equal to this value. Minimum: 0. | No | None |
keep_duplicates | Boolean | Whether to keep duplicate participants in the results. | No | false |
The username can be provided as @channelname, channelname, or a Telegram URL like https://t.me/channelname.
š¤ Output
The Actor outputs a dataset with the following fields:
| Field | Type | Description |
|---|---|---|
result | String | Status of the task (success or empty) |
error | String | Error message (if any) |
Example Output
{"result": "success","error": null}
š¬ Webhook Output
The Actor sends parsing results to the provided webhookUrl as a JSON object (ProgressUpdate) with the following fields:
| Field | Type | Description |
|---|---|---|
TaskId | String | Unique identifier for the parsing task |
ChannelTelegramId | String | Telegram ID of the channel being parsed |
ExecutionTime | String | Duration of the parsing task execution |
State | String | Task status (started, in_progress, completed, error) |
UsersCount | String | Current number of users parsed from the channel |
UsersWithUsernamesCount | String | Current number of users with usernames parsed from the channel |
UserIdsS3Key | String | S3 key for the file containing user IDs |
XlsxS3Key | String | S3 key for the Excel file containing parsed data |
Timestamp | String | Timestamp of the update in RFC3339 format (e.g., 2025-08-29T08:26:00Z) |
Error | String | Error message (if any), e.g., admin privilege issues or restricted output |
Webhook Error Messages
If the output is restricted due to subscription limits:
Output is restricted. To use without limitations upgrade to a paid subscription.
Example Webhook Payload
{"task_id": "gp-123","channel_telegram_id": "123","execution_time": "2.551467402","state": "completed","users_count": "10","users_with_usernames_count": "8","user_ids_s3_key": "s3_link","xlsx_s3_key": "s3_link","timestamp": "2025-08-28T13:15:50Z","error": "Output is restricted. To use without limitations upgrade to a paid subscription"}
File Output
The actor generates two output files:
- Text File: Contains a list of usernames, reusable in other software.
- Excel File: Includes detailed data for each discovered Telegram account:
Channel NameUser IDFirst NameLast NameUsernameHas Profile Photo (Yes/No)Phone NumberPremium Status (Yes/No)Online StatusLanguageBio (About)Message DateMessage Text
To refine the collected data, it is recommended to filter the database based on: Presence of a profile photo, Online status, Keywords in the "Bio" (About) field.
Usage
- Input Username: Provide a Telegram channel username (e.g.,
devs,@devs, orhttps://t.me/devs). - Input Webhook URL: Provide a webhookUrl where the parsing results will be sent.
- Run the Actor: Execute to fetch recommended channels.
- Monitor Results: Check the provided webhook URL for the participant data. The XlsxS3Key field provides a link to download the Excel file containing the parsed data.
š Automate with Zapier & Make
No code needed ā trigger this Actor from your existing tools.
- Zapier: search for the "Apify" app ā action Run Actor ā select
akula.marketing/telegram-get-chat-messages-channel-commentsā since this Actor delivers results viawebhookUrl, point that field at your Zapier "Catch Hook" URL, then continue the Zap with the parsed message data. Docs - Make: add the Apify ā Run an Actor module (async), and separately add a Custom Webhook trigger module using this Actor's
webhookUrlfield so the scenario continues once the export finishes. Docs
Example: scenario runs this Actor on a target channel ā webhook fires when the Excel export is ready ā new messages get posted into a Slack channel for monitoring.
Support
Support 24/7 - @KoteamSupport. We also offer specialized solutions for Telegram-related tasks ā contact us to learn more
š·ļø Find This Tool When You Search For "telegram channel message scraper" - Archive posts and comments from any public channel "telegram chat history export" - Download full message history to Excel "telegram group message scraper" - Collect messages and their authors from chats "telegram comment scraper" - Extract channel comments with author profiles "telegram conversation analysis tool" - Analyze message activity and authorship "telegram content archiving" - Preserve channel posts and discussion history "telegram message export api" - Automate message collection via webhook "telegram engagement research" - Study posting activity and audience behavior "telegram osint" - Open source intelligence from Telegram data "telegram investigation tool" - Professional intelligence gathering šÆ Turn a channel's message history into structured, exportable data š”ļø Track conversations and authorship for research and compliance š° Mine channel discussions for leads and market signals