Telegram Channel Monitor
Pricing
$1.00 / 1,000 posts
Telegram Channel Monitor
Monitor and scrape public Telegram channels: post text, views, media URLs, link previews. No login, API key, or phone number. Incremental runs (sinceDate/sinceId) keep scheduled monitoring and alerts cheap. Stable JSON schema built for pipelines, dashboards, and AI agents (MCP-friendly).
Pricing
$1.00 / 1,000 posts
Rating
0.0
(0)
Developer
Virtual Constructs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
13 days ago
Last modified
Categories
Share
Scrape and monitor public Telegram channels. Posts, view counts, media URLs,
link previews: no login, no API key, no phone number. Data comes from
Telegram's own public preview pages (t.me/s/<channel>), the same content
Telegram serves to any logged-out browser.
Built for repeat use: pass sinceDate or sinceId and scheduled runs return
only new posts, so monitoring stays cheap. Output schema is stable and fully
documented below, which makes this actor easy to wire into alert pipelines,
dashboards, and AI agent workflows (MCP-friendly).
What data does this Telegram scraper extract?
One dataset item per post, with every field always present (missing data is
null, never an absent key):
- Post text, ID, URL, and exact timestamp
- View counts (as Telegram displays them)
- Reaction counts per emoji, plus a total
- Photo and video URLs (optional,
includeMedia) - Link previews (URL, title, description, site name)
- Forwarded-post flag and source channel
- Reply/comment counts where Telegram shows them
How to scrape a Telegram channel without an API key
- Enter one or more public channels:
durov,@durov, andhttps://t.me/durovall work. - Choose how many recent posts you want per channel (default 20, max 100).
- Run it. Results land in the dataset as JSON, exportable as JSON, NDJSON, or CSV, or fetched via the API.
No Telegram account, bot token, or phone number is involved at any step.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
channels | string[] | required | Usernames or t.me links: "durov", "@durov", "https://t.me/durov" all work. |
postsPerChannel | integer | 20 | Max posts returned per channel, capped at 100. |
sinceDate | string | null | ISO 8601. Only posts newer than this are returned. |
sinceId | integer | null | Only posts with a higher post ID are returned. Post IDs are per-channel, so use this for single-channel monitors; prefer sinceDate across multiple channels. |
includeMedia | boolean | false | When true, photo and video URLs are extracted into mediaUrls. |
proxyConfiguration | object | none | Usually unnecessary; Telegram preview pages tolerate direct fetching. |
Output example
{"channel": "telegram","postId": 449,"url": "https://t.me/telegram/449","date": "2026-06-18T14:36:06+00:00","text": "For all the features from this update...","views": 1260000,"forwards": null,"mediaType": null,"mediaUrls": [],"linkPreview": {"url": "https://telegram.org/blog/watch-apps-and-more","siteName": "Telegram","title": "Smartwatch Apps, Rich Text for Bots...","description": "Today's update brings..."},"isForwarded": false,"forwardedFrom": null,"replyCount": null,"reactions": [{ "emoji": "👍", "count": 4200 }],"reactionsTotal": 4200}
mediaType is "photo", "video", "mixed", or null. New fields may be
added in future versions; existing fields will not change shape.
How to monitor Telegram channels on a schedule
Run on a schedule and pass the highest postId from your previous run as
sinceId (or use sinceDate). The actor stops paginating as soon as it
reaches posts you have already seen, so each scheduled run fetches only one
or two small pages. This is the cheapest way to build Telegram alerts,
trend trackers, or feed integrations.
How much does it cost to scrape Telegram?
$1.00 per 1,000 posts returned, charged per post. A run that finds nothing new produces an empty dataset and costs you nothing, so high-frequency monitoring schedules stay affordable. The actor also respects the maximum cost per run you set: it stops fetching rather than producing results you will not be charged for.
Is it legal to scrape Telegram channels?
This actor only reads Telegram's public channel preview pages, the pages Telegram itself publishes to logged-out visitors as part of its product. There is no login, no circumvention, and no access to private content, and the actor will never add those. Publicly available data is generally lawful to collect; if you plan to process personal data from posts, make sure you comply with GDPR and other regulations that apply to you, and consult a lawyer if unsure.
Limits, stated plainly
- Public channels with web preview enabled only. Channels that disable the preview (and private channels) return no posts; the run log tells you which.
- History depth is limited by Telegram's preview pagination. Recent posts are
reliable; very old history may be unreachable.
postsPerChannelcaps at 100. - View and reaction counts above 1,000 are approximate: Telegram renders
them abbreviated ("1.67M") and the actor parses that. Custom/premium
emoji reactions have
emoji: null(Telegram does not render a glyph for them on preview pages). - Forward counts are not shown on preview pages, so
forwardsis currently alwaysnull. The field exists so the schema will not change if Telegram adds it. - Media URLs point at Telegram's CDN with expiring tokens. Download files promptly; the links are not permanent.
- Comment threads are not included (only
replyCountwhen Telegram shows it).
FAQ
Can it scrape private Telegram channels or groups? No, and it never will. Public preview pages only: that is what keeps this actor dependable and compliant. Groups (including public supergroups) do not have preview pages, so they are out of scope too.
Do I need a Telegram API key or bot? No. Nothing to register, nothing to configure, no rate-limit juggling with the official API.
Can my Telegram account get banned for using this? No account is involved at any point: no login, no phone number, no API credentials. There is nothing to ban.
Can I export results to CSV or Excel? Yes. Results land in an Apify dataset, which exports as CSV, Excel, JSON, NDJSON, or XML from the console or via the API.
Can I get comments/replies content?
Not in v1; the actor reports replyCount where Telegram shows it. If you
need thread content, open an issue on the Issues tab so demand is visible.
Can it download the actual photos and videos?
It returns direct CDN URLs (with includeMedia: true); downloading the
files is up to your pipeline, and the URLs expire, so fetch them promptly.
How fresh is the data? Each run fetches the live preview page, so results are as current as what Telegram publicly shows at that moment.