Telegram Channel Monitor avatar

Telegram Channel Monitor

Pricing

$1.00 / 1,000 posts

Go to Apify Store
Telegram Channel Monitor

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

Virtual Constructs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

13 days ago

Last modified

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

  1. Enter one or more public channels: durov, @durov, and https://t.me/durov all work.
  2. Choose how many recent posts you want per channel (default 20, max 100).
  3. 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

FieldTypeDefaultNotes
channelsstring[]requiredUsernames or t.me links: "durov", "@durov", "https://t.me/durov" all work.
postsPerChannelinteger20Max posts returned per channel, capped at 100.
sinceDatestringnullISO 8601. Only posts newer than this are returned.
sinceIdintegernullOnly 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.
includeMediabooleanfalseWhen true, photo and video URLs are extracted into mediaUrls.
proxyConfigurationobjectnoneUsually 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.

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. postsPerChannel caps 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 forwards is currently always null. 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 replyCount when 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.