Telegram group parser: find chats and collect their members

Scraping Telegram chats is two separate jobs: finding the chats themselves by topic, and pulling people out of chats you have already found. Below is what the panel can take from a group, a supergroup, a channel and its comment chat, and what Telegram hands to nobody.

  • Chats by words and links
  • Members and active writers
  • Private chats via your account
The Members parser window in TeleTraff: three sources, four selected accounts, and the filters Only people who wrote in the chat and Last seen

In short

TeleTraff scrapes Telegram chats and groups with two parsers. Chats finds the groups themselves from keywords, links and similar chats. Members collects people from chats: the member list when it is open, and the authors of messages when it is hidden. A channel's subscriber list and chats none of your accounts have joined cannot be collected.

TeleTraff editorial teamUpdated: Checked in the panel

Chats by topic in one run

The Chats parser takes words and links, collects 10 to 500 chats per run, and drops small groups with the Minimum members filter.

A hidden list is not a dead end

When members are hidden, the panel reads the chat history and takes the people who wrote. Telegram does not show the full list to an outsider.

Private chats via your own account

The Account chats tab lists chats the selected accounts are already in. A private chat is parsed by the account that is a member of it.

Two jobs behind one query

When people say "scrape a chat", they mean one of two things. The first is finding chats where your audience talks, for example English crypto chats or chats about gambling arbitrage. The second is taking people out of a chat you already know. In the panel these are different parsers, and they return different results.

The Chats parser

Returns a list of groups: name, member count, link. Use it to pick places for neurochatting, group mailing or warmup.

The Members parser

Returns people: username, name, when they were last seen. The source has to be ready: a chat or a group, not a keyword.

What you can collect from each kind of chat

SourceWhat you getWhat you do not get
Group with an open listMembers from the list, up to the number you setBots, deleted accounts and admins: they are filtered out by default
Group with hidden membersAuthors of messages from the chat historyPeople who stay silent: Telegram shows an outsider admins only
Private chatMembers and authors, if one of the selected accounts is in the chatA chat none of your accounts has joined
ChannelPeople who comment on its postsSubscribers: Telegram shows that list to the channel's admins only
Channel comment chatMembers and authors, as in an ordinary groupPeople subscribed to the channel who never write under posts

If you put a channel link into the Members parser, it returns the people commenting under its posts. How the module itself works is covered in the parsers guide.

How to find chats, step by step

  1. 01

    Open the parser

    On the Data parsing page click Create collection and pick the chat parser. The Chat parser window opens.

  2. 02

    Pick a collection mode

    Search looks by words, Similar starts from chats you already supplied, Deep goes further out. Similar-crawl depth is 1 to 2 in Similar mode and 1 to 3 in the others.

  3. 03

    Set the sources

    Type words such as "crypto trading chat" or "gambling arbitrage", or group links, one per line. You can also upload a .txt or .csv file, take records From dataset, or open Recent.

  4. 04

    Set the parameters

    Chats to collect: 10 to 500, 50 by default. Minimum members: 10 to 50,000, 300 by default. Public only is on from the start. Last message drops abandoned chats.

  5. 05

    Choose accounts and a ceiling

    Tick the accounts that will search. In the Run ceiling card set Stop after up to 480 minutes, or leave no ceiling. When the time is up the run stops and keeps what it has collected.

  6. 06

    Start and save

    Click Start. The status goes through In queue, Parsing, Ready. Save the result with Save under your own Dataset name, and it appears in My datasets.

How the panel takes people from a chat

The Members parser works through its methods in order and moves to the next one only when the previous one did not reach the number you asked for.

  • First the member list. The panel reads it page by page. If Telegram will not show the list without joining, the account joins the chat and tries once more;
  • for a channel, commenters come next, meaning the people who wrote under its posts;
  • then message authors: the panel reads the chat history, up to ten messages for each person it needs, but no more than 100,000 messages.

The Only people who wrote in the chat filter changes the order. The member list is not read at all: the panel walks the history from the newest message back to the start of the period and no further than 20,000 messages. The period is chosen from Within a day, Within 3 days, Within a week and Within a month. The remaining filters for people are covered in the audience parsing article.

What it looks like in the panel

The Data parsing page: tiles with the number of datasets and records, the My datasets list with Dataset type and Freshness filters, and the Upload file and Create collection buttons.
The Data parsing page: tiles with the number of datasets and records, the My datasets list with Dataset type and Freshness filters, and the Upload file and Create collection buttons. Demo data.

The launch window is the screenshot at the top of the page: sources, accounts and parameters sit in one window, with the Ready status and the Start button at the bottom.

What is in a finished chat dataset

In a result rowWhat it means
Members: NThe member count of the chat at the time of collection
Verified by TelegramTelegram's mark for a verified chat
rel.Relevance to the query, scored 0 to 100: Relevance to the query: N of 100
Open in TelegramA link to the chat, so you can see at once what is discussed there
FunnelRaw, filtered and unique records: shows how many the filters and duplicates removed

The dataset sits in My datasets. Collect more adds records, Remove duplicates deletes repeats. To keep a new run from taking what you already have, switch on Do not collect what is already collected: the panel excludes every chat and channel from your datasets. The Use button opens the Use dataset in a module window, which offers neurochatting, mailing, warmup and the reporter for a chat dataset.

When the list is hidden or the chat is private

A hidden member list is a setting of the group itself, and Telegram applies it to everyone except admins. There is no way around it. The panel takes what an account sees in the chat: messages and their authors.

So a quiet group yields fewer people than it has members. Chats where a few dozen people write out of thousands give exactly that kind of sample. It is easier to pick suitable chats beforehand with the chat search guide.

Terms on this page

Questions and answers

Can I scrape a private chat?

Yes, if one of your accounts is already in it. In the Members parser open the Account chats tab, which has Private chats and Private channels. The account that is in the chat does the parsing. If the list has not loaded, click Refresh list or Open in console.

Why did I get fewer people than the group has members?

There are three reasons. The list may have been hidden, in which case only message authors are taken. Bots, deleted accounts and admins are filtered out by default. And your own filters apply: Last seen, Only with username, Photo only.

Can I collect a channel's subscribers?

Telegram shows the subscriber list to the channel's admins only, so the panel cannot get it. It collects the people commenting under posts, who are the most active readers.

How many chats does the parser find in one run?

Chats to collect is set from 10 to 500, 50 by default. How many are actually found depends on the topic and on the Minimum members filter. You can also cap a run by time: Stop after, up to 480 minutes.

How do I avoid collecting chats I already have?

Switch on Do not collect what is already collected. The panel excludes every channel and chat from all your datasets, and you do not pick datasets one by one. Matching keys will not appear in the result.

What do I do with the chats I found?

Open the dataset in My datasets, click Use and choose a module. For a chat dataset the panel offers neurochatting, mailing, warmup and the reporter. People inside those chats are collected by the separate Members parser.

Read next

More in this section

Other sections

Collect your first chat dataset

Open Data parsing, click Create collection and set a topic. A run capped at 50 chats shows what the result looks like in your niche.

Try it free