Telegram Info Scraper
Pricing
$0.01 / 1,000 entities
Telegram Info Scraper
Get public Telegram profile data from usernames, @handles, t.me links, channels, groups, and bots. Export Telegram IDs, titles, bios, member counts, verification flags, photos, preview dates, and source URLs.
Pricing
$0.01 / 1,000 entities
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
178
Total users
8
Monthly active users
7 hours ago
Last modified
Categories
Share
🔎 Telegram Info Scraper for public entity profiles
Researchers, marketers, moderators, and developers can look up known public Telegram users, bots, channels, groups, and supergroups. The Actor saves one structured row for each successfully resolved public entity with IDs, usernames, titles, bios, audience or activity metrics, trust flags, profile photos, preview details, bot details, and source URLs. Use the dataset for profile checks, community research, monitoring, and enrichment.
- Look up public profile details with Telegram Public Profile.
- Normalize known usernames and links with Telegram Username Scraper.
- Check public audience counts with Telegram Member Count Scraper.
- Review public bot details and activity with Telegram Bot Scraper.
- Collect public channel metadata and preview metrics with Telegram Channel Scraper.
📦 Public Telegram entity rows
Each successful lookup becomes one structured dataset row with the values Telegram makes public.
▶️ Look up known Telegram targets
Paste one known public Telegram username, @handle, t.me URL, or telegram.me URL per line. Mix users, bots, channels, groups, and supergroups in one run. The Actor saves a row when Telegram returns a public entity.
Run steps
- Open the Input tab.
- Add 1 to 1,000 public targets in Telegram targets.
- Start the Actor and open the dataset when the run finishes.
Private /c/ links and invite-only chats are not supported because they do not have a public Telegram preview page.
⚙️ Input
Input fields
| Field | Type | What it does |
|---|---|---|
targets | array of strings | Public Telegram usernames, @handles, t.me URLs, or telegram.me URLs, with one value per line. The list accepts 1 to 1,000 targets. |
Example input
{"targets": ["@telegram","https://t.me/durov","@BotFather","telegram","https://telegram.me/telegram"]}
🧾 Output
The Output tab exposes results, a link to the default dataset. Each saved entity uses the same 26-field row shape. A field can be null when Telegram does not show it or when it does not apply.
Output link
| Field | Type | What it does |
|---|---|---|
results | string URL | Opens the default dataset of saved Telegram entity rows. |
Dataset row shape
| Field | Type | What it does |
|---|---|---|
input | string | The submitted target that produced this successful row. |
telegramId | string or null | Telegram's source-native entity ID when visible. |
username | string or null | The primary public username without the @ prefix. |
usernames | array of strings | Public Telegram usernames associated with the entity. |
entityKind | string or null | The public kind: user, bot, channel, group, or unknown. Member-labelled communities use group because public HTML does not distinguish groups from supergroups. |
title | string or null | The public display title, channel name, group name, or bot name. |
bio | string or null | Public profile bio, about text, or channel or group description. |
memberCount | integer or null | The visible member or subscriber count reported by Telegram. |
onlineCount | integer or null | The visible online member count when Telegram exposes it. |
profilePhotoUrl | string or null | The direct public profile photo URL when visible. |
sourceUrl | string | The canonical public Telegram URL for the resolved entity. |
isVerified | boolean or null | Whether Telegram marks the entity as verified. |
isScam | boolean or null | Whether Telegram marks the entity as scam. |
isFake | boolean or null | Whether Telegram marks the entity as fake. |
isRestricted | boolean or null | Whether Telegram marks the entity as restricted. |
isBot | boolean or null | Whether the entity is a Telegram bot. |
latestPostDate | string or null | The date of the latest visible preview post when available. |
previewPostCount | integer or null | The number of public preview posts observed for the entity. |
previewUrl | string or null | The public Telegram preview URL when available. |
visibleMetricText | string or null | The source text for a visible audience or activity metric. A handle alone is not a metric, so this is null when no genuine metric text is shown. |
botActiveUsers | integer or null | The Telegram bot active-user count when visible. |
photoCount | integer or null | The visible channel photo count when Telegram exposes it. |
videoCount | integer or null | The visible channel video count when Telegram exposes it. |
fileCount | integer or null | The visible channel file count when Telegram exposes it. |
linkCount | integer or null | The visible channel link count when Telegram exposes it. |
latestMessageId | integer or null | The newest public channel message position when Telegram exposes it. |
The rows below are genuine examples from successful current beta runs.
Channel row
{"input": "@telegram","telegramId": "1005640892","username": "telegram","usernames": ["telegram"],"entityKind": "channel","title": "Telegram News","bio": "The official Telegram on Telegram. Much recursion. Very Telegram. Wow.","memberCount": 9600000,"onlineCount": null,"profilePhotoUrl": "https://cdn1.telesco.pe/file/boIw_xP0AwDjK8yRQ7vUxs7wN93tjWFEGraGsx1gJ7Zo5bHWtlgTN-v2HYY1UehVEzH81Lj-wECf-oVw8GPokc2uhuFsJ0lNWUer5WoUs6VD6kp3DGTzsKlyU6f3lVgwe1fq3V4sP-Jq77vXDdzgPEvMRS31bQPOdVJ4MpZkx4tUTN7WXxkeIhcg-r6_HkmDcBnCyZVIe3lnYOKv0m6LBLkscxPXlr-stFJVA_qz3GkSrLMh2MR9lGuluTAwYRuWp-una2QW_DY0I-8rm9_ST1RCCcg-wNVcuyNZqH00hmf1Lj2cKFH9eeJIiDOBeBTMc1bhyPw7BWW49oF8qogukA.jpg","sourceUrl": "https://t.me/telegram","isVerified": true,"isScam": false,"isFake": false,"isRestricted": false,"isBot": false,"latestPostDate": "2026-08-26T19:12:34+00:00","previewPostCount": 20,"previewUrl": "https://t.me/s/telegram","visibleMetricText": "9.6M subscribers","botActiveUsers": null,"photoCount": 16,"videoCount": 228,"fileCount": null,"linkCount": 378,"latestMessageId": 460}
User row
{"input": "https://t.me/N_Nuriyyeva","telegramId": null,"username": "N_Nuriyyeva","usernames": ["N_Nuriyyeva"],"entityKind": "user","title": "나르민 🪽","bio": "Saxta insan toplusunansa keyfiyyetli yanlizliq yaxsidir🧑🧒🧒","memberCount": null,"onlineCount": null,"profilePhotoUrl": "https://cdn4.telesco.pe/file/eF_VjdR7dEg9daWxYUCDAxQfaecgzfIGVwCPaEEtfx4Ww6K5LWFy-BS4zY0xOiznPF5Z26eFvRKkDkU1M3gmesy5IFVS6mjywNn_PENuQoiMlWQjNPvTfmHbAkSplyHFtl2y2n0kSXJa6JkrucjVs8_9bBGbPque8X0L1pSeh2f2FwNqq-K_ja7WVG6qa5pfD_TZpVr7kCUepITVhbDfMKhituMjDBz9L4EXb2E4n2qEYJCUiQ9rAl1kjNdTSBUjWHrpDeOqFX_ny_ZbkVmr-RpHWRtybieYTV9ozc5RXYnjCpoL6oI5kNtSpJALfTqgboP4DJGOcP63pC1ghwOmPw.jpg","sourceUrl": "https://t.me/N_Nuriyyeva","isVerified": false,"isScam": false,"isFake": false,"isRestricted": false,"isBot": false,"latestPostDate": null,"previewPostCount": null,"previewUrl": null,"visibleMetricText": null,"botActiveUsers": null,"photoCount": null,"videoCount": null,"fileCount": null,"linkCount": null,"latestMessageId": null}
💳 Pricing
Pay per saved entity
This Actor charges one telegram-entity-row event for each public Telegram entity successfully saved to the dataset. An invalid, private, missing, unavailable, or skipped target does not create an entity-row charge because no entity row is saved.
🔌 Integrations
Apify access
Open saved rows in the Apify dataset, or use the Apify API, schedules, and webhooks with your runs. Export the dataset from Apify for use in your own sheet, warehouse, dashboard, or workflow.
Video guide
❓ FAQ
What does visibleMetricText contain?
It keeps text that Telegram shows for an audience or activity metric, such as 9.6M subscribers. A submitted handle is not metric text. If no genuine metric is visible, the field is null.
How does the Actor handle repeated targets?
It saves the first eligible occurrence of an entity immediately. If another username, URL, or equivalent target later refers to the same entity, that later match is ignored. The row describes only the first submitted target.
Can it collect Telegram members or private chats?
No. The Actor reads public profile and preview data. It does not log in, join chats, send messages, or collect private member lists.
What happens when a target is unavailable?
Invalid, private, missing, unavailable, or temporarily unreachable targets are skipped. The dataset contains only successful public entity rows, not placeholder failure rows.
Does it need a Telegram account or API key?
No. The Actor uses public Telegram pages, so you do not need a Telegram login, cookies, phone number, or API key.
Can I schedule runs?
Yes. You can schedule runs on Apify and compare saved rows over time in your own sheet, warehouse, dashboard, or workflow.
📝 Changelog
v2.0 (08-09-2026)
- Public Telegram lookups now return one structured row for each successfully resolved entity, with profile, audience or activity metrics, preview details, and bot details when visible.
- Visible metric text now contains only audience or activity text shown by Telegram, or
nullwhen no genuine metric is available.
v1.0
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- Telegram Channels Scraper - Enrich known public Telegram handles with channel metadata.
- Telegram Info Scraper - Look up public Telegram entity details from known usernames and links.
- Telegram Channel Info Scraper — members, bio & invite links - Check public channel members, bios, and invite links.
- Telegram Channel Info Scraper — Subscribers & Stats - Review public channel subscribers and stats.
- Telegram Username Checker - Check whether a public Telegram username resolves to a profile.
Made with ❤️ by Maxime Dupré