Telegram Username Checker
Pricing
from $0.75 / 1,000 results
Telegram Username Checker
Verify Telegram usernames in bulk. Check existence, user vs channel type, subscriber count, title, bio, and profile photo.
Pricing
from $0.75 / 1,000 results
Rating
5.0
(5)
Developer
akula.marketing
Maintained by CommunityActor stats
14
Bookmarked
1.8K
Total users
41
Monthly active users
2.6 hours
Issues response
3 days ago
Last modified
Categories
Share
💬 Questions, bulk pricing, or a custom solution? Talk to us on Telegram — @KoteamSupport.
✅ Check a list of Telegram usernames in one run: does each one exist, is it a user or a channel, and what does its public profile show. For channels and groups you also get the subscriber count, with no admin access needed.
What it's for
- Lead list validation: remove handles that don't exist before a CRM import or outreach.
- Channel vetting: get the subscriber count, title, and description of a channel before you buy an ad placement.
- User or channel detection: sort a mixed list of handles by type with the
isUserfield. - Fake and scam checks: with
loadAdditionalData, you get Telegram's ownscam,fake,verified, andbotflags.
🛡️ Data & compliance
- Public data only. For channels and groups: title, description, photo, participant count. For user accounts: the public profile fields Telegram shows to anyone. A phone number is returned only with
loadAdditionalDataand only if the user made it visible in their privacy settings. - No admin access or login needed on your side.
- Your responsibility. Use the data in line with Telegram's Terms of Service and the privacy laws that apply to you (for example, GDPR). Don't use it for unsolicited bulk messaging.
📥 Input
The Actor accepts:
- usernames: A list of Telegram usernames (e.g.,
["CryptoRankNews", "t.me/CryptoRankNews"]). - loadAdditionalData (optional, default
false): When enabled, loads more profile fields (takes longer). Can also return a phone number when it is publicly available. Also returns Telegram third-party verification (botVerificationIcon,botVerificationBotId,botVerificationDescription).
📋 Input Schema
{"title": "Username Info Actor","description": "Fetches user information for usernames.","type": "object","schemaVersion": 1,"properties": {"usernames": {"title": "Usernames","type": "array","description": "List of usernames to fetch information for","editor": "stringList","placeholderValue": "CryptoRankNews","prefill": ["CryptoRankNews", "t.me/CryptoRankNews"]},"loadAdditionalData": {"title": "Load additional data","type": "boolean","description": "Load more profile fields (takes longer). Can also return a phone number when it is publicly available.","editor": "checkbox","default": false}},"required": ["usernames"]}
Example:
{"usernames": ["CryptoRankNews", "t.me/CryptoRankNews"],"loadAdditionalData": true}
Output
Each username produces one dataset item.
Without loadAdditionalData (default)
User
{"username": "jane_doe","exists": true,"isUser": true,"title": "Jane Doe","description": "Product designer","photoUrl": "https://cdn.example/photo.jpg","error": null}
Channel
{"username": "example_news","exists": true,"isUser": false,"title": "Example News","description": "Daily updates","photoUrl": "https://cdn.example/channel.jpg","participants_count": 125000,"error": null}
With loadAdditionalData: true
User
{"username": "jane_doe","exists": true,"isUser": true,"title": "Jane Doe","description": "Product designer","photoUrl": "https://cdn.example/photo.jpg","participants_count": -1,"telegramId": 123456789,"firstName": "Jane","lastName": "Doe","phone": "","about": "Product designer","status": "UserStatusRecently","langCode": "en","premium": false,"blocked": false,"bot": false,"hasPhoto": true,"gender": null,"deleted": false,"fake": false,"scam": false,"contactRequirePremium": false,"dcId": "EU","photoDcId": 2,"storiesUnavailable": true,"storiesMaxId": 123,"verified": false,"botVerificationIcon": null,"botVerificationIconUrl": null,"botVerificationBotId": null,"botVerificationDescription": null,"error": null}
Channel
{"username": "example_news","exists": true,"isUser": false,"title": "Example News","description": "Daily updates","photoUrl": "https://cdn.example/channel.jpg","participants_count": 125000,"telegramId": 987654321,"storiesUnavailable": true,"storiesMaxId": null,"hasChatLink": false,"megagroup": false,"gigagroup": false,"verified": false,"restricted": false,"forum": false,"noforwards": false,"joinRequest": false,"joinToSend": false,"slowmodeEnabled": false,"hasGeo": false,"signatures": false,"creationDate": 1609459200,"photoId": "1234567890123456789","botVerificationIcon": "5368324170671202286","botVerificationIconUrl": "https://…/bot_verification_icons/5368324170671202286/preview?X-Amz-…","botVerificationBotId": 8000000001,"botVerificationDescription": "Verified channel","error": null}
Usage
Set up your Apify account: Sign up at Apify and create a new Actor.
Provide input: Input a list of Telegram usernames in the JSON input field.
Run the Actor: Execute the Actor to fetch details for each username.
Retrieve results: Access the dataset to view results in a table format.
FAQ
What happens if a username doesn't exist?
You get a row with "exists": false. The run doesn't fail, and the other usernames in the list are still checked.
How do I tell a user from a channel or group?
Check the isUser field: true means a personal account, false means a channel or group. Channels and groups also have participants_count.
Can I get a channel's subscriber count without being an admin?
Yes. participants_count is public for channels and groups, so no admin rights are needed.
When should I turn on loadAdditionalData?
Turn it on when you need more than the basics: Telegram ID, Premium, bot, scam, fake, and verified flags, language, last-seen status, and channel settings. It makes the run slower, so leave it off for a simple existence check.
Does it return phone numbers?
Only with loadAdditionalData, and only if the account owner made the number visible in their Telegram privacy settings. Most accounts hide it.
Which input formats work?
username, @username, and t.me/username links all work, and you can mix them in one list.
🔁 Run it on a schedule
Apify Schedules run this Actor for you: Console → Schedules → Create new → add this Actor or one of your saved tasks → set how often it runs.
Weekly works for tracking a list of channels. Schedule a saved task with the channels you watch, and send the dataset to Google Sheets through Make or Zapier. Comparing participants_count week by week shows which channels are growing and which are losing subscribers.
Published examples
Ready-to-run tasks with pre-filled inputs:
- Verify if a Telegram username exists
- Get Telegram channel subscriber count by username
- Check if Telegram username is a user or channel
- Telegram username lookup API — bulk check handles
- Scrape Telegram channel title, description, and photo
All username examples · Need full export? akula.marketing
🔌 Automate with Zapier & Make
No code needed — trigger this Actor from your existing tools.
- Zapier: search for the "Apify" app → action Run Actor → select
akula.marketing/telegram-get-username-info→ map a trigger field (e.g. a new row in Google Sheets or a new lead in your CRM) tousernames→ send the output to Sheets, your CRM, or Slack. Docs - Make: add the Apify → Run an Actor module, select this Actor, set "Run synchronously" to
Yes, then chain a Get Dataset Items module to pull results into your scenario. Docs
Example: new row added to a Google Sheet of handles → Zap runs this Actor → verified username, subscriber count, and photo get written back to the same row.
🤖 Use with AI agents (MCP)
This Actor works as a tool in Claude, ChatGPT, Cursor, and other MCP clients through the Apify MCP server. Add this server URL to your client:
https://mcp.apify.com?tools=akula.marketing/telegram-get-username-info
The first time you connect, the client asks you to sign in to Apify. Runs are billed to your Apify account, the same as runs from the Console.
Then ask in plain language, for example: "Check which of these Telegram handles exist and how many subscribers each channel has: durov, telegram, CryptoRankNews". The agent reads the input schema, fills in the fields, and gets the results back as structured data.
🧩 Related Actors
| Next step | Actor |
|---|---|
| Turn one channel into a list of similar channels to check | Telegram Similar Channels Finder |
| Check a channel's recent posts, views, and reactions before you buy a placement | Telegram Channel Post & Media Scraper |
| Get the full profile photo history of an account | Telegram Profile Photo Scraper |
| Start from a phone number instead of a username | Telegram Phone Number Lookup |
Support
Support 24/7 - @KoteamSupport. We also offer specialized solutions for Telegram-related tasks — contact us to learn more
⭐ Found this useful? Leave a review — it helps others find this Actor and tells us what to build next.
🏷️ Find This Tool When You Search For "verify if a Telegram username exists" - Existence check before outreach or CRM import "get Telegram channel subscriber count" - Public channel member counts without admin access "check if Telegram username is a user or channel" - User vs channel type detection "Telegram username lookup API" - Bulk validation for lead lists and pipelines "scrape Telegram channel title description and photo" - Public channel metadata export "telegram group analytics" - Get real member counts and community data "telegram community research" - Analyze groups for market intelligence 🎯 Validate a list of handles in one run 📊 Get channel sizes and metadata without admin access