- Telegram has a public web preview at
t.me/s/<channel>. No auth needed. Indexed by Google. - Through official MTProto API (authenticated), you can retrieve members of discussion groups, comment authors, and users who reacted to messages.
- Snowball crawl: start from known channels → collect @mentions in messages → recursively expand the graph.
- Filters:
last_online(recent / week / month), Premium badge, language, photo presence. Geography is not available. - Realistic throughput: 50-200 channels/hour per user session, respecting flood limits.
"Audience scraping" in Telegram covers two distinct processes, often conflated. First — indexing channels and groups as entities (name, description, subscriber count, category). Second — extracting individual users from those channels (username, ID, online status, premium flag).
The first is entirely public: any channel with a "public link" is viewable without auth via web preview t.me/s/<channel_name>. Google indexes this page.
The second is harder. Channel subscriber lists via official API are admin-only. But discussion group members (the comments group linked to the channel) are accessible to any authenticated user. This mechanism underlies most of the industry's mass-parsing.
What you can actually access publicly
Several Telegram endpoints respond without authentication:
From parsing t.me/s/ you get:
- Channel name, description, avatar, subscriber count
- Latest 20-30 messages with timestamps
- Mentions of
@other_channel,t.me/other_channel - Forward sources (if channel reposts others)
- Reactions, view count, publication time
How we indexed 4.8M+ channels
Our index contains 4.8M+ channels and groups. Not purchased, not "leaked from a secret source" — it's the result of months-long snowball crawl over public t.me/s. Here's how it works:
One channel typically mentions 5-15 others (collaborations, forwards, recommendations). With branching factor ~10, the graph grows exponentially: start with 100 seeds, 3 days in you have 100K, 2 weeks in — 2M.
Getting actual users from a channel
For the second part — extracting specific users — you need an authenticated MTProto client. Work with Telethon, Pyrogram, or TDLib.
| Source | Access | What you get |
|---|---|---|
| Discussion group | Any logged-in user if public | ID, username, name, Premium, last_seen, bio |
| Comment authors | Public (visible in web preview) | Username, name |
Reacted users (GetMessageReactionsList) | Authenticated | ID, username, reaction, timestamp |
| Story viewers | Only the story author | — (not external) |
| Channel subscribers | Admin-only | — (not external) |
Since 2024 Telegram tightened access: channels.GetParticipants for non-admins returns only first ~200 participants — this is why "scrape all subscribers of a public channel" no longer works as in 2022.
But channels.GetParticipants for the linked discussion group (if public) still returns the full list — the loophole the industry uses.
How to segment warm audience
Raw 10,000 users is material. The real value is in filtered segments. Telegram returns several useful flags:
- last_seen — Telegram returns rough ranges:
online,recently(within 2-3 days),last_week,last_month,long_ago. For outreach you needonline+recently. - Premium flag — significantly higher engagement. Conversion on Premium users is typically 3-5× higher.
- Photo — users with avatars are more "real". Without photo — often bots or read-only accounts.
- Bio keyword match — filter by keywords in profiles. Works for 30-50% of users who filled bio.
Not available: geographic filter by country, phone number, email, biometric data. Telegram doesn't expose these to non-admins. Any service promising "filter by city X" either lies or uses indirect signals (lang_code, niche channels) with ~60% accuracy.
Legality and ethics
Telegram's ToS prohibits "automated scraping" at scale without permission. That said, scraping public information (what any authenticated user can see) is legally permissible in most jurisdictions, as long as it doesn't violate GDPR / privacy laws.
Grey zones:
- Storing databases: GDPR requires consent to process PII. EU users in your database → formally you need opt-in.
- Outreach use: CAN-SPAM / GDPR marketing provisions require opt-in or legitimate interest. "Found in a chat → messaging" is a violation in EU/US.
- Selling databases: clearly prohibited by Telegram ToS and most privacy laws.
TG:ON doesn't sell databases. We give you a tool to parse your audience. What you do with it is your responsibility. We're "tool-neutral" — same applies to a hammer or Excel.
TG:ON for macOS · Windows · Linux
Desktop app, 160 MB. Runs locally, your keys stay yours. 3-day trial, no credit card.
Download for free4.8M+ index · 3-day trial.
No credit card.
Pro tier: parsing, filters, exports, daily index updates. One-click cancel if not useful.
Start trial