Short answer. A telegram scraper is software that reads Telegram data through the client API and exports it, most often a group's member list. Telegram's Bot API publishes no method that returns a member list at all, so member scraping runs on a personal account — and Telegram's terms prohibit access to user content for any purpose beyond ordinary use of the platform as its user.
The tools ranking for telegram scraper divide into two groups with almost nothing in common. One group collects public channel posts for monitoring and analysis. The other collects member lists and then adds or messages the people on them, which is why so many of the products are named "scraper and adder" rather than "scraper". The two share a word and share nothing else.
Every Telegram figure below is quoted from Telegram's own documentation with the page it came from named. Where Telegram publishes nothing — and on scraping specifically it publishes remarkably little — this guide says so rather than borrowing a number from a vendor page. That is the standard every guide here clears.
What is a Telegram scraper?
A Telegram scraper is a program that connects to Telegram through one of its APIs and writes what it reads to a file, usually CSV or JSON. Three different things get collected under that one name: public channel posts, the member list of a group, and the profile fields attached to each account. The three sit in different places in Telegram's documentation and carry different consequences.
The market spells it both ways. Searches for telegram scrapper and telegram scraper return the same set of results, and the misspelling skews slightly further toward the desktop tools that bundle extraction with adding members to a destination group — a second step with no documented method behind it. Neither spelling changes what the API returns, so sorting a telegram scraper by what it actually requires is more useful than sorting the market by price.
| Collected | Requires | In Telegram's docs |
|---|---|---|
| Public channel posts | Any client that can read the channel | Ordinary message history |
| Supergroup member list | A joined user account, roster not hidden | channels.getParticipants |
| Channel subscriber list | Admin rights on that channel | 403 CHAT_ADMIN_REQUIRED |
| Username, name, photo | Whatever the client can already see | Named "always public" |
| Phone number | — | Not an always-public field |
Why a telegram member scraper cannot be a bot
A telegram member scraper cannot be built on the Telegram Bot API, because the Bot API publishes no method that returns a chat's members. The reference lists getChatMember for one user whose ID you already have, getChatMemberCount for a total, and getChatAdministrators. There is no fourth method that enumerates everyone else, at any price tier or permission level.
"Use this method to get a list of administrators in a chat, which aren't bots."Telegram Bot API reference, getChatAdministrators — the widest membership read the Bot API offers
That absence decides the architecture of every product in this category. A tool marketed as a Telegram member scraper drives an ordinary personal account through Telegram's client protocol, using an api_id issued to a person at my.telegram.org. The account doing the reading is a real account with a real phone number behind it, which is a materially different exposure from a bot token that can be revoked and reissued in a minute.
Where a telegram group scraper stops
A telegram group scraper calls channels.getParticipants, and Telegram's reference page for that method publishes the errors that stop it. Two of them decide most outcomes: 406 CHANNEL_PRIVATE, described as "You haven't joined this channel/supergroup", and 403 CHAT_ADMIN_REQUIRED, "You must be an admin in this chat to do this." Both are enforced on Telegram's servers, not in the library.
| Code | Error | Telegram's description |
|---|---|---|
400 | CHANNEL_INVALID | The provided channel is invalid. |
406 | CHANNEL_PRIVATE | You haven't joined this channel/supergroup. |
403 | CHAT_ADMIN_REQUIRED | You must be an admin in this chat to do this. |
400 | MSG_ID_INVALID | Invalid message ID provided. |
Set that error list against the phrase "unlimited + hidden members" on the landing pages selling this software. Hiding the roster is a supported administrator setting, and Telegram's API documentation describes the behaviour plainly: the participant list "is loaded on demand only if the user opens the member list (and even then, it might be hidden by admins)". A tool cannot read what the calling account is not entitled to read.
What a telegram group scraper does instead, when the roster is hidden, is read the chat's message history and collect whoever posted. That returns real accounts, and it is worth being precise about which ones: the subset of members who have spoken inside the window scanned. In a supergroup of 50,000 where 400 people post, the "hidden members" extraction returns 400. Telegram's own size figures put that gap in scale — basic groups "can only have 200 members at max", supergroups run to 200,000.
What a telegram channel scraper can collect
A telegram channel scraper collects what a channel publishes: post text, timestamps, view counts, reactions, outbound links and media, from channels whose content is public. That job has no participant-list problem, because it never calls for one. Subscriber lists are the separate question, and Telegram answers it with CHAT_ADMIN_REQUIRED for any caller who does not administer the channel.
Profile fields are narrower than the vendor listings imply. Telegram's privacy policy names which fields are open to everyone: "your screen name, your profile pictures, and your username (should you choose to set one) on Telegram are always public". A phone number is not on that list. Where a listing advertises phone numbers among the fields it returns, the number is present for the share of accounts whose owners chose to expose it — not because the API discloses it.
Telegram names three profile fields as always public. Commercial member-extraction listings advertise up to fifteen fields per record, including phone number, last-seen status and language code.Telegram privacy policy, against vendor field lists reviewed August 2026
What Telegram's terms say about scraping
Telegram addresses scraping directly, in a document most pages on this subject do not cite. The Terms of Service for Content Licensing carry a general clause on access and a specific prohibition covering machine-learning use. Neither has a volume threshold attached, and neither distinguishes a Python script from a paid cloud service, so a telegram scraper sits inside their scope whichever form it takes.
"Access to user-generated content for any purpose other than ordinary, legitimate, and intended use of the Telegram platform as its user is prohibited."Telegram Terms of Service for Content Licensing
The machine-learning clause is stricter still, and it matters to anyone planning to feed a Telegram corpus into a model. Telegram "firmly prohibits the scraping, indexing, harvesting, aggregation or use of data obtained from its platform to train, fine-tune, validate or otherwise engage in the development, enhancement, benchmarking or deployment of artificial intelligence, machine learning models and similar technologies". The exception Telegram allows requires consent that is "explicit, informed, affirmative and continued", limited to one chat or channel, and it states that consent obtained in one context "is non-transferable".
Telegram's separate API Terms of Service add a clause aimed at automation running on someone's account: section 1.4 forbids "making actions on behalf of the user without the user's knowledge and consent". Section 4.2 states the remedy, which is that Telegram will discontinue access to the Telegram API after a ten-day notice period. For a tool that holds a login session and acts through it, both clauses are live.
What Telegram does not publish about scraping
Telegram publishes no rate limit for reading member lists. The channels.getParticipants reference states no maximum result count, no per-request cap and no hourly ceiling, and the API error page documents 420 FLOOD_WAIT_X as "a wait of X seconds is required (where X is a number)" without saying what triggers it or how large X becomes. Every specific telegram scraper figure in circulation therefore comes from somewhere other than Telegram.
| Figure stated as fact | In Telegram's docs? |
|---|---|
| 200 members returned per request | Not in the method reference |
| 10,000-member extraction cap | Not in the method reference |
| 1 to 3 second delay between calls | Not published |
| 20 to 30 participant calls per hour | Not published |
| 150 to 200 groups before a cooldown | Not published |
PEER_FLOOD as a named error | Absent from the error list |
| A ban threshold for extraction | Does not exist |
Across the pages ranking for telegram scraper in August 2026, not one linked to a Telegram document for a numeric claim, and the claims contradict each other: the same operation is described as capped at 10,000 members on one page and as unlimited on another a position away.Sendhaus review of the telegram scraper search results, August 2026
An undocumented number is not automatically wrong. It is unverifiable, which is a different problem: it arrives without the sample size, the account histories or the failure rate that would make it usable. Two figures for the same operation cannot both describe the platform.
Which account carries the risk
Reading a member list is a read operation, and Telegram publishes no penalty schedule for reads alone. The exposure arrives at the step after, on the same account the telegram scraper is signed into. Telegram's spam FAQ describes moderation driven by recipient reports rather than by counters: when users report a message, moderators review it, and "if the moderators decide that the messages deserved this, the account becomes limited temporarily".
What a limited account can still do is narrow and precisely stated. Telegram's wording is that limited accounts "can send messages to people who have their number saved as a contact", and that you "can also always reply to anyone who messages you first". Inbound conversation survives; contact with strangers, which is the whole purpose of an extracted list, does not. A restriction lands identically on an account posting promotions into groups, and for the same reason: somebody reported it.
The structural point is that extraction and outreach almost never run on separate accounts. The desktop products in this market bundle the two functions in one interface, so the session that read the roster is the session that sends the invites or the messages. The same lists also get resold into invite, DM and report panels — what a mass report panel actually sells follows the same shape, with the same accounts at the end of it.
The data-protection layer above Telegram's rules
A Telegram username, user ID and display name identify a person, which makes them personal data under the GDPR whether or not they were visible in a public group. Public availability is not a legal basis for processing. Article 14 adds an obligation no telegram scraper project plans for: a controller obtaining personal data from a source other than the person must inform that person, at the latest within one month.
The sending step adds a second layer. Article 13(1) of the ePrivacy Directive requires prior consent for direct marketing sent by automated means, independently of what a platform's terms permit, and a list assembled from group membership records no consent of any kind. Sendhaus handles contact data under the privacy policy, which is also where the retention position on client-supplied lists is set out.
This is not legal advice. Obligations differ by jurisdiction, by whether recipients are consumers or businesses, and by how the identifiers were obtained; a project touching several countries needs review by a qualified adviser in each.
What replaces a scraped list
Nothing replaces a scraped list one-for-one, and pretending otherwise is how these projects get sold. What replaces it is a different sequence: attention bought or earned in public, converted into subscribers who pressed start, then broadcast to on the Bot API. The result is smaller at week one and reachable at week fifty-two, which is the opposite trade to the one a telegram scraper offers.
-
Name the outcome before the list
A list is not a goal. Deciding whether the programme exists to sell, support, notify or retain changes which people are worth reaching, and it is the difference between a base of 3,000 that converts and a base of 60,000 that mutes.
-
Publish start links that record their origin
Register the bot in
@BotFatherand give every placement its own deep-link parameter, so each subscriber arrives with a recorded source. Telegram allows up to 64 characters in that parameter, which carries a real campaign identifier without a lookup table. -
Buy attention rather than identifiers
Official Telegram Ads, channel cross-promotion, partnerships and website placement each produce people who chose to arrive. This is the slow step and the only one that compounds — how a subscriber base gets built without a list to import covers the placement side in detail.
-
Broadcast inside the published rates
Hold one message per second per chat and stay under Telegram's approximate 30 per second for bulk notifications, honouring the
retry_aftervalue when the API returns one. Queue design and delivery-state reporting is ordinary engineering once the base exists. -
Report states, not sends
Queued, sent, delivered, blocked and opted out, against the reachable base as denominator. A "messages sent" figure cannot fail, which is precisely why extraction tools display it.
Where the goal is market monitoring rather than outreach, the compliance question is narrower, and the content-licensing clause above is the one to read first — particularly if the corpus is destined for a model.
When a Telegram scraper is the wrong tool
Four situations defeat a Telegram scraper regardless of which product is bought, because all four are properties of the platform or of the audience rather than of the tooling. Checking them costs an afternoon and is cheaper than discovering them after a purchase.
The first is a target that is a broadcast channel, or a group whose admins have hidden the roster: Telegram answers with CHAT_ADMIN_REQUIRED, and no fork or paid tier changes a server-side permission check. The second is confusing an identifier with a permission — 40,000 usernames grant no ability to message anyone, because a bot cannot open the conversation and a user account doing it at volume is the case Telegram's spam process exists to catch. The third is a corpus intended for model training, prohibited in explicit language with a consent exception too narrow to satisfy at scale. The fourth is recipients in a jurisdiction with prior-consent rules, where a scraped list fails the legal test before it fails the platform's.
Frequently asked questions
Is a Telegram scraper legal?
Legality and permission are two questions. Telegram's Terms of Service for Content Licensing state that access to user-generated content for any purpose other than ordinary, legitimate, and intended use of the Telegram platform as its user is prohibited, so a scraper breaches Telegram's terms whatever the local law says. Separately, a username, user ID and display name identify a person, which makes them personal data under the GDPR; being visible in a public group is not a legal basis for processing them.
Can you scrape Telegram members without being an admin?
Not from a broadcast channel. Telegram's reference for channels.getParticipants publishes the error 403 CHAT_ADMIN_REQUIRED, described as “You must be an admin in this chat to do this”, and 406 CHANNEL_PRIVATE, “You haven't joined this channel/supergroup.” Both are enforced on Telegram's servers. Where a supergroup roster is visible to members, a joined account can read it, and where an admin has hidden it, tools fall back to collecting the accounts that posted — which is a subset of the members, not the member list.
Does a Telegram scraper get your account banned?
Telegram publishes no penalty schedule for reading a member list, and no threshold at which reads become a restriction. What Telegram does document is the consequence of what usually follows: its spam FAQ describes moderators reviewing reported messages, and states that if the moderators decide the messages deserved it, the account becomes limited temporarily. Because scraping and adding or messaging ship in the same tool and run on the same account, that account carries the exposure created at the second step.
Can a Telegram bot scrape group members?
No. The Telegram Bot API publishes no method that returns a chat's member list. It has getChatMember for one already-known user, getChatMemberCount for a total, and getChatAdministrators, described in the reference as a method to get a list of administrators in a chat, which aren't bots. Every tool sold as a Telegram member scraper therefore drives a personal account through the client API rather than a bot.
What data can a telegram channel scraper collect?
From a public channel, a telegram channel scraper collects what the channel publishes: post text, timestamps, view counts, reactions, links and media. Profile fields are narrower than vendor listings suggest. Telegram's privacy policy names screen name, profile pictures and username as always public; a phone number is not among them, and its visibility is a per-account privacy setting rather than a field the API hands out.
Sources
- Telegram Bot API reference —
getChatMember,getChatMemberCount,getChatAdministrators, and the absence of a member-list method. - Telegram API, channels.getParticipants — the published error list, including
CHAT_ADMIN_REQUIREDandCHANNEL_PRIVATE. - Telegram API, channels and supergroups — participant lists loaded on demand and hideable by admins; group and supergroup size limits.
- Telegram API error reference — error class 420 and
FLOOD_WAIT_X. - Telegram Bot Platform introduction — bots cannot start conversations.
- Telegram Terms of Service for Content Licensing — the access clause and the machine-learning prohibition.
- Telegram API Terms of Service — sections 1.4 and 4.2.
- Telegram privacy policy — which profile fields are always public.
- Telegram spam and limitation FAQ — how accounts become limited and what limited accounts can do.
- Regulation (EU) 2016/679, Article 14 — information duty for data not obtained from the data subject.
- Directive 2002/58/EC, Article 13 — prior consent for direct marketing by automated means.
Been quoted a member list?
Send the proposal with your current setup. You get a written read on what the tooling can actually return, which parts describe something the API refuses, and what is reachable inside Telegram's rules instead.
Related guides
- All three service lines — broadcast, growth and automation, with the declined-work list attached to each.
- Broadcast & bulk messaging — queue design around the published send rates, opt-out handling and delivery-state reporting.
- Growth & marketing — official Telegram Ads and channel strategy, and what bought members cost a channel later.
- Bots & automation — what the Bot API can do, what it structurally cannot, and first-year running cost.
- Sendhaus — Telegram broadcast, growth and automation built on the platform's published limits.