Overview / Blog / Telegram usernames
Scraping  ·  12 Sep 2026  ·  5 min read

Every Telegram username resolves to one holder or to nothing

A Telegram username is a public @name that points at exactly one account, bot, group or channel, so a telegram username search can only land on a name somebody holds right now. Opening its t.me link or an @mention asks Telegram's servers to resolve that name. When the lookup fails, the app answers Username not found, and behind it sits one of two errors: the name is invalid, or nobody holds it.

People type it as telegram search by username, telegram search username, how to search username on telegram or just username telegram, and every version ends in one server-side match against names someone holds. A name one letter off is a different name, held by a stranger or by nobody.

How does a telegram username search work?

It matches public names, and only those.

Type a name into search, with or without the @, and matching accounts, bots, groups and channels appear under global results. Tapping an @mention or opening t.me/example_user goes further: the app calls contacts.resolveUsername and gets the one person, bot, group or channel holding that exact name.

That is how to find someone on telegram with username alone: open the profile from the name or its link, then keep it by saving a found profile to your contacts or clear it with a contact deletion that stays deleted.

Private groups carry no public name, so reaching one takes the invite link a private group relies on, and accounts without a username never appear. A public group is joined straight from its name, up to the per-account cap on joined chats.

Telegram username rules, and the ones the FAQ leaves out

Telegram's own answer on usernames allows a-z, 0-9 and underscores, with capitals for display only. Length sits in the API, where account.checkUsername takes 5 to 32 characters. The rest is code. TDLib's validator rejects a name that starts with anything but a letter, ends with an underscore or doubles one up.

A telegram username example that passes is example_user; TDLib turns away 1example, example_ and example__user. Users, bots, groups and channels share one pool of names, bot names end in “bot”, and a bot found by name still sees only the channels it was added to.

Collectible names are sold rather than set, and for one on sale the same check answers USERNAME_PURCHASE_AVAILABLE, the only sale Telegram documents, whatever a buy telegram username search turns up. Telegram's FAQ also reserves the right to recall names on unused bots and channels, including ones a tool such as our Username Claimer parks. Lists of telegram username ideas rarely say TDLib refuses names opening with telegram, admin or support, or that a lookalike is impersonation, where what a report against an impersonating handle can achieve is a moderator's call.

What does telegram username not found mean?

One of two errors, and the message does not say which.

Android prints “Username not found.” and Telegram Desktop adds the name, but underneath both sits contacts.resolveUsername. USERNAME_INVALID, “The provided username is not valid”, means the string could never be a name, such as one containing a space. USERNAME_NOT_OCCUPIED, “The provided username is not occupied”, means it could be one and nobody holds it: a typo that still passes the rules, a name its owner changed or removed, or a row in an old export.

Telegram does not say how soon a released name can go to someone else, which is the gap a claim bot polling for released names waits in. Not found is never a privacy block either, since usernames have no privacy setting, unlike a phone number, whose owner can switch off matching. And a clean resolve is not permission: the refusals that survive a successful lookup come later.

Where does the app keep your own username?

On your own Settings screen, which answers what is my telegram username in three steps.

  1. Open Settings, behind the menu button on Android and Telegram Desktop.
  2. Read the Username line near your number; an empty one means strangers have no name to search for.
  3. Tap it to set or change the name; the field checks the rules as you type.

For anyone else, how to find telegram username means opening their profile, where the handle is listed unless they never set one.

Leaving the line empty is a real choice. Telegram's FAQ says a public name lets people message you without your number, and saving an empty one takes you back out of search.

Our session manager turns the answer into a column, where a dash marks an account with no username.

Session manager username column answering what is my telegram username for each account, with a dash where none is set

Checkers and lookups see what a stranger sees

A telegram username checker, a telegram username lookup and a telegram username finder are three shop signs over two requests, and the tool's sign-in decides which.

A website with no account can only load t.me/name, which for a random 26-letter name we tried in September 2026 still offered to contact it, with no name, photo or not-found line. Signed-in tools ask the API once per name, and bulk runs collect FLOOD_WAIT_X at rates the Telethon documentation says nobody knows exactly. Ask any vendor how a marketing tool behaves when names resolve to nobody.

In our panel, Mass DM — Username resolves one handle or t.me link per line through your sessions, Member Scraper takes a public @name as its source, and the activity scraper's Only users with a username filter keeps rows any session can resolve, ahead of turning a username list into group members.

Member Scraper's source field takes a public @channelname, which resolves to one holder like any telegram search by username

None of it finds a name nobody holds, shows a number its owner hid or lifts a Telegram limit, and we supply no accounts or proxies.

A username list is personal data, and messaging the people on it is direct marketing under GDPR, CAN-SPAM and their equivalents, so the lawful basis must be yours. Telegram's Terms of Service rule out spam.

A username list, resolved by your own sessions

Mass DM — Username takes @handles or t.me links, one per line, resolves each through the sessions you pick and tells a name nobody holds apart from one that could never exist.