Overview / Blog / Telegram number checker
Scraping  ·  14 Oct 2026  ·  11 min read

Telegram number checker: how a check works and what it cannot see

A Telegram number check asks one question per number: does an account exist on it that this account is allowed to find? Only a logged-in user account can ask. The Bot API has no lookup method, so every telegram number checker, bot, website or desktop tool, runs the list through someone's account. And every one stops at the owner's "find me by my number" privacy setting.

Phone lists go stale quietly. A sign-up form, an old CRM export, a spreadsheet passed between teams: a share of the numbers on it belong to people who never installed Telegram, and some of the rest belong to people who would rather not be found there. Before anything else happens with that list, someone wants to know which numbers are live. The searches for it come in many shapes, from check if a number is on telegram to telegram phone number filter tool, and they all lead to the same two requests inside Telegram.

How does a Telegram number check actually work?

Through one of two requests that only a user account can send.

Importing the number as a contact

The older path is contact import. Telegram's method contacts.importContacts takes a batch of phone numbers with names attached, saves them to the account's contact list and returns the users it could match. This is what your phone does when it syncs its address book, and it is why the app can tell you which of your contacts are on Telegram. A number that matches comes back as a user with an ID and a name; a number that does not simply never appears in the answer. Used as a checker, the method has a side effect that matters: every number you test lands in the checking account's contacts. Run a few hundred through it and the account is left with a contact list full of strangers, which is why guides on cleaning imported numbers back out of your contacts exist at all.

Resolving the number directly

The newer path is contacts.resolvePhone. It takes a single number and returns the account behind it, without adding anything to a contact list. It is the request a Telegram app sends when you tap a phone number written with its plus sign and country code in a chat, or open a t.me link built from a number. The method page describes it as resolving a number to user info "if their privacy settings allow it". If nobody can be found, it answers with the error PHONE_NOT_OCCUPIED, and the same page asks clients to allow at most one call every three seconds. One number per request is slower than a batch, but each number gets its own answer rather than a silent absence.

The setting that limits both

Here is the part most checker pages leave out. Since September 2019 Telegram users have had a privacy option called Who Can Find Me By My Number. It appears once Who Can See My Phone Number is set to Nobody, and Telegram's announcement of the setting says that choosing My Contacts means random users who add your number are unable to match your profile to it. In the API it is the privacy key privacyKeyAddedByPhone. When an owner picks My Contacts, a stranger's import does not match them and a stranger's resolve comes back PHONE_NOT_OCCUPIED, exactly as if the number had no account. Nothing on the client side can tell the two apart. So a number check reports two buckets, found and not found, and the second bucket always mixes real non-users with people who chose not to be findable. A low hit rate on a list is often that setting doing its job, not a broken run.

For one or two numbers you need no tool at all. Save the number in your phone and see whether Telegram shows the person; the steps for finding one person on Telegram from their phone number cover that route. Or type the number with its plus sign into Saved Messages and tap it, the same trick that lets you start a chat with a number you have not saved. Both are the two requests above, sent by hand. The rest of the ordinary routes, username, QR code, shared contact, are in our notes on the everyday ways to add someone as a contact.

Can a Telegram bot check whether a phone number is registered?

Not with the Bot API. A bot cannot look a number up.

The Bot API reference has no method that takes a phone number and returns a user. The only way a bot ever sees a phone number is when a person hands it over: a keyboard button with request_contact set asks the user to share their own contact, and the bot receives it only if they press it. It rules out the obvious reading of telegram bot check phone number. A bot can receive a number; it cannot check one.

So what is a telegram number checker bot? Typically a front end, whether it calls itself a telegram number check bot or a telegram phone number check bot. You send the bot your list, and behind it a server passes the numbers to ordinary user accounts that run one of the two requests above, then the bot sends back the matches. Websites work the same way. A telegram number checker online runs your list on the operator's accounts, and so does a telegram phone number checker online that asks for a CSV upload, a browser add-on sold as a telegram number checker extension, and most offers of a telegram number checker api. The accounts doing the work belong to whoever runs the service. A telegram number checker bot free of charge, or a telegram phone number checker free to use, is paying for those accounts somehow, and the list you upload is the obvious candidate. Telegram's own interface for user accounts is MTProto, the protocol its apps speak, and reaching it from your own code means registering an api_id and api_hash pair of your own and logging in as a user. There is no separate official endpoint that answers "is this number on Telegram" for anyone who asks.

The distinction between a bot and an account runs through this whole niche, and it is the first thing to settle about any tool: whether a piece of marketing software runs on a bot or an account decides what it can reach. For number checks the answer is always the account.

Which way of checking numbers fits which job?

It depends on how many numbers you have and whose accounts you are willing to spend.

Every row in the table is the same mechanism with a different owner. Only three things change: the batch size, who sees your list, and whose account absorbs the limits Telegram applies when one account looks up many numbers it has no connection to.

MethodRequest underneathPractical batchWho sees your listMain limit
Phone address-book syncContact importYour own contactsYou and TelegramAdds every number to your contacts
Tap the number in Saved MessagesResolve one numberA handfulYou and TelegramOne at a time, by hand
Checker bot or websiteEither, on the operator's accountsWhatever the operator allowsThe operator tooYour list leaves your hands
Your own MTProto scriptEither, on your accountsSet by Telegram's limitsYou and TelegramYou write and maintain the code
Desktop software on your accountsEither, on your accountsSplit across accountsYou and TelegramAccounts can be rate-limited

Why bulk checks hit limits

A bulk telegram number checker is the first two rows repeated hundreds of times, which is where Telegram's limits enter. The one documented figure is the resolve pace above, one call every three seconds. Contact import admits a cap only indirectly: its result has a retry_contacts field for numbers that "could not be imported due to system limitation" and must wait. Telegram publishes no daily number for either. Operators report the usual ladder: a FLOOD_WAIT error with a wait in seconds, then longer waits, and eventually PEER_FLOOD, which tells the account to stop contacting people it does not know for a while. Figures you see quoted for safe daily lookups are observations, not Telegram policy. The practical answer to check phone numbers telegram bulk is to split the list across several accounts and keep each one's share small, which is also why the question of how many accounts one person can run comes up fast.

A telegram bulk phone number checker that you run yourself keeps the list on your own machine. A hosted one does not. This is the real decision behind telegram phone filter software versus a website: not speed, but where the numbers go and whose accounts take the risk.

How does the Phone Number Checker module run a bulk check?

It resolves one number at a time, on accounts you load, and exports the matches.

Phone Number Checker is the telegram number checker tool inside Telegram Solutions, a Windows desktop suite. It does not use contact import. Each account writes a number into its own Saved Messages, opens the link Telegram makes of it, and reads the profile behind it, so the request underneath is contacts.resolvePhone and nothing is added to the account's contact list. The fields below are the module's own.

  1. Paste the list. Phone Numbers to Check takes one number per line. Spaces are ignored, the plus sign is added for you, and duplicates are dropped before the run starts.
  2. Pick the accounts. The module uses your own session files and your own proxies. It supplies neither.
  3. Set the share per account. Phones Per Account defaults to 20, and Max Concurrent Accounts to 3, so a list of 200 is spread over ten accounts, three working at once.
  4. Set the pace. Delay Between Numbers defaults to 4 seconds, varied slightly between numbers, which keeps each account just slower than the three-second pace Telegram's own documentation asks for.
  5. Run and read the report. Each found user is opened once more for a fuller profile, the numbers the run wrote are removed from Saved Messages when Clear Saved Messages Afterwards is on, and the run ends with a summary of why each unmatched number produced nothing.

The walkthrough below shows a full run, from pasting the list to opening the export.

Watch the full walkthrough on YouTube: Telegram Number Check Tutorial: Bulk Telegram Number Checker & Filter [2026]

What the export contains

The found numbers come out as an Excel file and a CSV in the same column layout the suite's scrapers use: user ID, phone, username, first and last name, bio, Premium flag, last-seen status and a profile-photo flag, plus a details sheet with the verified flag, the number of profile photos and the time each number was checked. The unmatched numbers are not lost either. The log counts them by reason, invalid number, no account or hidden by privacy, flood wait, and says plainly that the hidden-by-privacy case cannot be told apart from an unregistered number. It is the honest shape of any telegram phone numbers checker tool. The found list is reliable; the not-found list is a mix.

The module's limits matter as much. It cannot see past the privacy setting, and it cannot raise Telegram's limits. If an account gets a flood wait longer than five minutes, or a PEER_FLOOD, the module stops that account rather than pushing on, and the rest of the list stays unchecked on that account. Checking also needs no group membership, so an account can check numbers after leaving every group it was in at once. Accounts can be loaded from session files or converted from Portable and Desktop TDATA folders elsewhere in the suite. The tidy-up step deletes only the messages this run wrote to Saved Messages; it is nothing like wiping a whole chat history.

What should a filtered number list be used for?

For list hygiene, and only on a lawful basis you already have.

A telegram number filter answers a narrow question and leaves the important one to you. A filtered list of numbers with Telegram profiles attached is personal data. Under GDPR, and under CAN-SPAM and its equivalents once you message those people, you need a lawful basis for holding the list and for contacting anyone on it; the telegram number filter software does not provide one. Telegram is direct on the platform side. Its Terms of Service forbid using the service to send spam, and add that Telegram prohibits data scraping under its content licensing terms, which allow access to user content only for ordinary, legitimate use. Building lists of strangers' accounts from phone numbers you bought sits outside that.

The legitimate jobs are ordinary ones. A business with customers who gave their number checks which of them it can reach on Telegram before choosing a support channel. A team that runs an opt-in list removes dead numbers before a send, so it is not paying accounts to message nobody. In that second case the check comes before the sending tool, and it is worth knowing what a mass DM bot actually sends and to whom before going further, because a found number is not a person who agreed to hear from you. Unsolicited bulk messages are exactly what PEER_FLOOD exists to stop.

Some neighbouring jobs need no number at all. Posting to communities is the work of a group blaster, which reaches groups rather than inboxes, and growing a group is a choice between inviting by link and adding members directly. A number check is not a reporting tool either: whether an account deserves a report is a separate question, and what a mass report bot can and cannot do is covered elsewhere. Keep checking accounts apart from accounts that matter. An account that owns your channels, and that you would need for passing channel ownership to someone else one day, is the wrong one to spend on thousands of lookups. If it gets limited, it is limited for everything.

The short version for anyone comparing a telegram phone checker, a telegram numbers checker website and a filter number telegram service: all three ask Telegram the same question through a user account, all three get the same answer, and all three are blind to the same privacy setting. What differs is whose accounts carry the load and who keeps a copy of your list.

Questions

Telegram number check questions

How do I check if a number is on Telegram?
Save the number in your phone's contacts and see whether Telegram lists the person, or type the number with its plus sign and country code into Saved Messages and tap it. If a profile opens, the number has an account you are allowed to find. If nothing opens, either there is no account or the owner set Who can find me by my number to My Contacts, and Telegram does not say which.
Is there a free Telegram number checker bot?
There are bots that offer it, but the Bot API has no method for looking up a phone number, so a free checker bot forwards your list to user accounts its operator runs. Free usually means your list is the price. For a few numbers, checking by hand in the Telegram app costs nothing and shares the list with nobody.
Is there a Telegram number checker API?
Not as an official endpoint. Telegram exposes contacts.importContacts and contacts.resolvePhone to user accounts over MTProto, which needs your own api_id, api_hash and a logged-in account. Paid number checker APIs wrap those same requests around accounts the vendor owns.
Why does a bulk check find fewer numbers than expected?
Mostly the privacy setting. A number whose owner allows only contacts to find them answers exactly like a number with no account, so the not-found share always includes real Telegram users. Invalid formats and accounts that hit a flood wait part-way through a run also lower the count.
Does a Telegram number checker get accounts banned?
Looking numbers up is a normal client request, but one account making a large number of lookups on strangers can draw flood waits and then PEER_FLOOD, which restricts contact with unknown users. Telegram publishes no safe number. Splitting the list across accounts and stopping an account at the first long wait keeps the damage small; nothing makes it zero.
Is there a Telegram number checker extension?
Browser add-ons that promise it exist, but an extension cannot ask Telegram anything on its own. Typically it either drives the Telegram Web session you are logged into, which puts every lookup on your personal account, or sends your list to its developer's server and accounts. Either way, read what it does with the numbers before installing it.

Check numbers on your own accounts

Phone Number Checker resolves numbers one at a time on the accounts you load and exports the matches to Excel. Support runs through Telegram.