Most Telegram OSINT guides assume you have an API ID, an app password, and a spare phone number. For public-channel intelligence you need none of that. Here is the free, reproducible method I use.
1. The t.me/s/ preview is a public window
Every public channel has a web preview at https://t.me/s/<channel>. It renders the latest ~20 posts as plain HTML - no login, no rate-limit dance. Two lessons from scraping it at scale:
- The preview does not leak view counts for channels under ~1000 subscribers. Channels above that threshold show a per-post view counter, which is a real signal for spotting purchased audience: a channel with 12k subscribers and 300-view posts is inflated.
- The HTML contains
data-post="<channel>/<id>"attributes. Post IDs are sequential, so you can sample any period by walking the ID range. This is a population, not a census - the gap between last-seen and latest post IDs is your coverage ceiling.
2. Diffing beats archiving
Storing every post is trivia. The actionable signal is the diff: when an official travel advisory changes one sentence from "avoid travel" to "avoid all travel", that delta is the event. My pipeline stores normalized text per source and alerts on fuzzy-match failures, not on new documents.
3. Language-aware collection
For Ukraine warzone OSINT, collecting only English-language channels is a self-inflicted wound. Most combat footage, rear-area strikes, and drone/missile warnings surface first in Russian-language channels. Any pipeline that ignores them is systematically late. Filter by language, not by geography.
4. The 11-rule de-junking checklist
Telegram channels are one of the highest-noise environments in public OSINT. Before I let a channel into a collection set it passes: admin provenance check, cross-post graph check, view/subscriber ratio, repost laundering, engagement timestamp clustering, and six more. The full checklist with scoring is in my Telegram & Web OSINT Bundle ($5), and a free sample brief is here.
I build OSINT tooling that runs free on GitHub Actions - no server, no paid APIs. Questions welcome in the comments.
Top comments (0)