DEV Community

Yuhe He
Yuhe He

Posted on

Telegram Viewer Online: Read Any Public Channel History From a Browser

People search this exact phrase expecting a login wall. There isn't one, for public channels. You can read a public Telegram channel's recent posts from a browser, no account, no app — and you can automate it.

The URL pattern

https://t.me/s/<channel_name> renders the channel as plain HTML: post text, timestamps, view counts, subscriber counter, media links. The s/ prefix is the web preview. Strip it and you get the landing page, not the feed, so keep the s.

Reading history beyond the last ~20 posts

The preview window is ~20 posts wide, but it's a cursor, not a wall:

https://t.me/s/<channel>?before=<post_id>
Enter fullscreen mode Exit fullscreen mode

Feed it the oldest post ID you have, get the 20 posts before it, repeat. Post IDs are sequential integers per channel, so this walks backward cleanly. Stop conditions worth coding: an ID you've already stored (dedupe), a fetch returning zero post nodes (channel older than the preview's retention window — there is a coverage ceiling for old content, accept it), or your depth budget.

Reading it with no code at all

Browser address bar, t.me/s/durov (try that one, it's real), Ctrl+F. Useful for one-off checks: "when did this channel last post?", "what's the subscriber count trend this week?" (the counter sits in the HTML; paste the URL into a daily cron and you have a time series).

The traps

  • Private channels stay private. No preview URL summons them.
  • The preview population is not a census: deletion, channel pruning, and the retention ceiling all silently shrink what you see. Say "in-window" in reports, not "all history".
  • Rate yourself: one request per channel per 5 minutes is polite; hammering gets you 429s and a bad afternoon.

Where this goes when you're serious

Ten channels polled on a jittered 5-minute cadence with seen-sets persisted to disk is a monitoring system. The same loop at 200 channels, with raw-HTML archival (so re-parsing is free) and change-detection on top, is a product. My own collection-layer rules — cursor pagination, repost-ring flags, wording-diff alerting, coverage-ceiling discipline — are written up in the $5 playbook: https://heyuhe.gumroad.com/l/poddr. A real sample brief (a full week of one channel, flags and timelines applied) is pay-what-you-want, $0 is fine: https://heyuhe.gumroad.com/l/ruldgm.

Top comments (0)