Telegram Public Channel Messages Scraper (No Login)
Pricing
from $3.00 / 1,000 results
Telegram Public Channel Messages Scraper (No Login)
Scrape messages, views, reactions, media and links from public Telegram channels without an account, filtered by keyword, date window and media; priced per result.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
M Usama
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
What does Telegram Public Channel Messages Scraper do?
It reads the public web preview of Telegram channels (t.me/s/<channel>) and returns each message as a clean record: text, date, views, reactions, photos, videos, files, links, hashtags, link preview, forwarded source, and the channel's title and subscriber count. No Telegram account, API key or phone number is needed. Filter by keyword, date window and media so a run returns only what you need. Pricing is per result.
Data source
Public Telegram channel preview pages (https://t.me/s/<channel>), read live on every run and paged backwards from the newest message.
Why use it?
- Monitor news, crypto, brand or competitor channels and push new messages to Slack, Google Sheets or a webhook.
- Measure reach: views, reactions and subscriber counts per message and per channel.
- Build research datasets of public posts, links and media for a topic or a set of channels.
- Replace manual scrolling, copy and paste, or running your own Telegram API client and session.
How to use it
- Open the Actor and enter one or more channels (usernames or links).
- Click Start. Download results as JSON, CSV or Excel, or read them through the API.
- Add a Schedule and an Integration (Slack, Google Sheets, webhook) to get new records automatically.
Input
| Field | Description |
|---|---|
channels | Public channel usernames or links, for example durov or https://t.me/durov. |
keywords | Optional. Keep only messages whose text, link preview or hashtags contain at least one keyword (case insensitive). |
maxMessagesPerChannel | Newest first. Each channel stops after this many matching messages. Default 20. |
daysBack | Optional. Stop paging a channel once messages are older than this many days. |
onlyWithMedia | Skip messages without photos, videos or files. |
maxResults | Hard stop for the run. You are billed per result, so this caps the cost. |
proxyConfiguration | Apify proxy is recommended for larger runs. |
Example input:
{"channels": ["durov", "telegram", "bloomberg"],"keywords": [],"maxMessagesPerChannel": 20,"maxResults": 60}
Output
Every record has the same shape (text and links trimmed here):
{"id": "durov/546","messageId": 546,"channel": "durov","url": "https://t.me/durov/546","date": "2026-08-31T16:30:15.000Z","text": "Gram Wallet in Telegram is ready and is now accessible to a select group of users. ...","html": "...","views": 3260000,"reactions": [{ "emoji": "star", "count": 35600 },{ "emoji": "custom:5399847211989246390", "count": 26900 }],"reactionsTotal": 78370,"mediaTypes": ["video"],"media": [{ "type": "video", "url": "https://cdn4.telesco.pe/file/...mp4", "thumbnailUrl": "https://cdn4.telesco.pe/file/...jpg", "durationText": "0:20" }],"links": [],"hashtags": [],"mentions": [],"linkPreview": null,"forwardedFrom": null,"replyToMessageId": null,"author": "Pavel Durov","isEdited": false,"channelTitle": "Pavel Durov","channelSubscribers": 10500000,"channelVerified": true,"scrapedAt": "2026-10-05T08:25:53.125Z"}
| Field | Meaning |
|---|---|
id | Stable key (channel/messageId), safe for deduplication between runs |
date | Message time in ISO 8601, UTC |
text / html | Plain text and the original HTML of the message |
views | View count as shown by Telegram (large numbers are rounded by Telegram, for example 3.26M) |
reactions / reactionsTotal | Reaction counts. Custom emoji appear as custom:<id>, paid stars as star |
mediaTypes / media | Photo, video, document, voice, sticker or poll items with preview URLs, plus link when a link preview is attached |
linkPreview | Site name, title, description and image of an attached link |
forwardedFrom / replyToMessageId | Original source and replied message when present |
channelTitle, channelSubscribers, channelVerified | Channel details at the time of the run |
Pricing
Pay per event: a small fee when a run starts, then a fixed price per result returned. You only pay for records that pass your filters. Set maxResults to cap any run.
Limitations
- Only public channels with web preview enabled. Private channels, groups, and channels that disabled the preview (many large news outlets) return no messages and the run logs a warning.
- Telegram rounds large view and reaction counts, and hides some content from the web preview (for example sensitive media).
- Video and file links point to Telegram's CDN and may expire. Download them soon after the run if you need the files.
- Keyword searches scan up to about 500 recent messages per channel.
FAQ
Is this legal? The Actor reads pages that Telegram publishes for any visitor without a login and stores only what those pages show. You are responsible for how you use the data.
A channel returns nothing. Open https://t.me/s/<channel> in a browser. If it redirects or shows no posts, the channel has no public preview and cannot be scraped without an account.
Something is missing or broken? Open an issue in the Issues tab; response time is usually under a day.