Telegram Info Scraper
Pricing
from $0.02 / actor start
Telegram Info Scraper
Telegram info scraper for resolving up to 1,000 usernames, @handles, t.me URLs, accessible invites, or phone numbers into 41-field sparse user, bot, channel, group, and supergroup profiles with identity, flags, counts, business details, and stored photo links.
Pricing
from $0.02 / actor start
Rating
4.5
(6)
Developer
AgentX
Maintained by CommunityActor stats
8
Bookmarked
897
Total users
26
Monthly active users
8 days ago
Last modified
Categories
Share
Telegram Info Scraper is a bulk telegram lookup that resolves public Telegram users, bots, channels, groups, and supergroups into a reviewed 41-field sparse Dataset contract. Submit up to 1,000 usernames, @handles, canonical t.me links, accessible invite references, or authorized phone numbers in one run.
- Mixed entity resolution. Classify a target as a user, bot, channel, group, or supergroup and keep one stable row shape.
- Source-backed outcomes. Save resolved profiles and normal not-found results without inventing data for transient failures.
- Privacy-aware correlation. Mask submitted phone numbers and invite tokens while preserving a useful query position and status.
- Current public detail. Capture available names, usernames, flags, counts, bot features, business facts, reactions, and photo links.
At FREE-tier prices, the smallest useful run costs $0.01520: one $0.01 Actor Start plus one $0.00520 Result.
Why Choose Telegram Info Scraper
One list can resolve several Telegram entity classes. A workflow does not need separate lookup branches before it knows whether an identifier belongs to a person, bot, broadcast channel, discussion group, or supergroup. Each successful result includes a normalized type, stable Telegram ID, active username data, a canonical public source URL when available, and the applicable entity-specific fields.
The contract is sparse by design. The Dataset documents 41 possible top-level fields, but no row is expected to fill all of them. User and bot profiles expose a different subset from channels and groups. This prevents empty placeholder columns from masquerading as collected facts and makes null or absent values easier to interpret correctly.
Sensitive correlation values are minimized. A submitted phone number is returned in masked form, and an invite token is represented as invite:<redacted>. Telegram transport credentials, access hashes, file references, requesting-account permissions, private read state, and relationship flags are excluded from the public output.
Rows are persisted in small batches. Long lists keep completed batches if a later account rotation, source limit, or run stop interrupts the remaining work. Equivalent identifier forms are normalized and deduplicated so a bare username and its @handle or canonical URL do not create duplicate billed rows.
Quick Start Guide
Open the Actor input and keep the one-item example:
{"telegram_url": ["BotFather"]}
Run it, open the default Dataset, and confirm that status is success, type is bot, and username is BotFather. This is also the canonical example used by the API and MCP snippets below.
After a one-target run succeeds, add a small mixed list such as a public user, a channel, and a group you are authorized to inspect. Compare the number of unique normalized targets with the returned rows and inspect every status; a terminal Actor status alone does not prove that every source lookup produced a usable profile.
Free-plan runs keep the first 10 unique targets. Paying runs accept up to 1,000 entries, but the source, account pool, per-target work, and run timeout still determine how much can finish. Begin with a bounded sample before submitting a large paid list.
Input Parameters
One required array controls the run. Keep it small enough to verify statuses and row counts before scaling.
| Input | Type | Required | Rules | Example |
|---|---|---|---|---|
telegram_url | array of strings | Yes | 1–1,000 entries; free runs keep 10 unique targets | ["BotFather"] |
Each item may be a bare public username, an @handle, a canonical https://t.me/<username> URL, a t.me/s/<username> preview URL, an accessible invite reference, or an authorized international phone number beginning with +.
Canonical Telegram hosts only are accepted. Foreign hosts, ports, unrelated paths, and extraneous query strings are rejected instead of being silently reinterpreted. An invite reference does not grant access; it can resolve only when Telegram makes the entity accessible to the managed service account. Phone-number resolution depends on Telegram visibility and must be used only with a lawful purpose.
Equivalent public identifiers are deduplicated by normalized identity. Input order remains available through query_index. Invalid list members are rejected explicitly, and transient source failures are not converted into definitive not-found statements.
Output Data Schema
The Dataset has a 41-field sparse union contract:
| Group | Fields |
|---|---|
| Correlation | query_index, query, status, type |
| Identity | id, username, usernames, source_url, title, first_name, last_name, description |
| Photo and public state | photo_url, has_photo, flags, restrictions, last_seen, colors, emoji_status |
| User and business context | personal_channel, birthday, business, profile_music, monetization, bot_info |
| Community context | created_at, member_count, online_count, chat_level, chat_flags, location, slowmode_seconds |
| Relationships and settings | linked_chat_id, linked_monoforum_id, pinned_message_id, default_restrictions, available_reactions, chat_bots, sticker_set |
| Provenance | processor, processed_at |
A compact bot result can look like this:
{"query_index": 1,"query": "@BotFather","status": "success","type": "bot","id": 93372553,"username": "BotFather","usernames": ["BotFather"],"source_url": "https://t.me/BotFather","first_name": "BotFather","has_photo": true,"flags": ["verified"],"bot_info": {"features": ["main_app", "no_private_chats"]},"processor": "https://apify.com/username/actor_name","processed_at": "2026-08-12T13:00:00+00:00"}
The example shows shape, not a promise that live values stay unchanged. photo_url appears only when download and storage both succeed. A missing value can mean the field is not applicable, not visible, not supplied by Telegram, or unavailable in that specific response.
Integration Examples
The HTTP, Python, JavaScript, Make.com, n8n, and MCP examples all call agentx/telegram-info-scraper with the same one-target BotFather scenario. Keep tokens in a secret manager and avoid logging them. For a larger list, start asynchronously, poll the run, then fetch the default Dataset so a client timeout does not cancel its own observation window.
Actor ID
lAybf7rRybdzabbBk
Also addressable by name as agentx/telegram-info-scraper — both forms work in the API, the SDKs, Make.com, and n8n.
HTTP
curl -X POST "https://api.apify.com/v2/acts/agentx~telegram-info-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"telegram_url":["BotFather"]}'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("agentx/telegram-info-scraper").call(run_input={"telegram_url": ["BotFather"]},max_total_charge_usd=0.0152,)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["query"], item["status"], item.get("type"))
JavaScript
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("agentx/telegram-info-scraper").call({telegram_url: ["BotFather"],});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => console.log(item.query, item.status, item.type));
Make.com
- Add the module Run an Actor.
- Turn Map on, to the right of the Actor field.
- Paste the Actor ID
lAybf7rRybdzabbBkinto the Actor field. - Click ⟳ Refresh to the left of Map.
- Edit Input JSON with
telegram_url. - Set Run synchronously to Yes.
- Add Get Dataset Items and select defaultDatasetId.
n8n
- Add Run an Actor and get dataset from the Apify node.
- Set Actor → By ID and paste
lAybf7rRybdzabbBk. - Edit Input JSON with
telegram_url.
MCP
{"mcpServers": {"apify": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","agentx/telegram-info-scraper"],"env": { "APIFY_TOKEN": "YOUR_TOKEN" }}}}
Pricing
Pricing is event-based. Actor Start is charged once. Result is charged once for each source-backed Dataset row, including a normal not_found row. A transient unavailable target that produces no row does not create a Result event.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Actor Start | $0.01000 | $0.01000 | $0.01000 | $0.01000 | $0.01000 | $0.01000 |
| Result | $0.00520 | $0.00468 | $0.00416 | $0.00390 | $0.00390 | $0.00390 |
One FREE-tier result is $0.01520 including the start. Ten results are $0.06200: $0.01 + 10 × $0.00520. Actual charges depend on emitted events and the current published pricing page. Use maxTotalChargeUsd when an automated workflow must enforce a spending ceiling.
Use Cases
Entity routing: classify an authorized identifier list before sending users, bots, channels, and groups to different downstream workflows.
Community research: collect current public titles, usernames, descriptions, member counts, reactions, forum flags, linked chats, and visible location details for a bounded set of known communities.
Bot cataloging: review declared bot commands, features, menu links, active-user estimates, app colors, and descriptions without treating those declarations as independent security proof.
Trust and safety review: add Telegram-provided verified, scam, fake, deleted, premium, or restricted labels to a human-led assessment. A source flag is a useful signal, not an identity guarantee.
Authorized enrichment: attach current Telegram entity facts to records for which you have a valid processing purpose while retaining the query position, source URL, timestamp, and status.
Alternatives
Use Telegram Chat Scraper when the required object is message history rather than entity metadata. Use Telegram Member Scraper when the task is a permitted participant export from a known community. Use Telegram Private Group Scraper only for an authenticated private-group workflow whose access and authorization requirements you understand.
Telegram's own apps are a better choice for occasional manual lookups. The Actor is useful when the job needs repeatable JSON, bulk inputs, stable correlation fields, Apify storage, schedules, API access, or automation hooks.
No scraper can make private data public, guarantee phone-number resolution, bypass an inaccessible invite, or prove a person's identity. Choose a source and workflow that matches the actual authorization and data need.
Limits and Troubleshooting
- Fewer rows than targets: free-plan truncation, normalization/deduplication, transient availability, account rotation, or a stopped run can reduce the count. Compare unique targets, Dataset rows, and statuses.
not_found: retry a known canonical username without unrelated URL parameters. Treat the result as a lookup outcome, not proof that an entity never existed.- No
photo_url: the entity may have no visible photo, the download may be unavailable, or storage may fail. The Actor never invents a stored URL. - Large list runs slowly: every target can require resolution, a full-record request, photo work, and deliberate pacing. Test 1, then 10, before scaling.
- Invite does not resolve: confirm that the managed source account can access the referenced entity. An invite string alone is not authorization.
- Phone does not resolve: use an authorized international value and expect masked output correlation. Telegram privacy settings control availability.
Completed Dataset batches remain after a later failure or explicit stop. Preserve the run ID when asking for support and never send private inputs, invite tokens, phone numbers, session data, or API tokens in a public channel.
Trust and Reliability
The badges above report live user and run counts from the Store. Those platform counts describe run outcomes, not per-target resolution accuracy, and change continuously.
The Dataset contract spans the user, bot, channel, group, supergroup, and not-found branches, and it keeps public value while excluding transport state, access hashes, file references, and requesting-account permissions.
Telegram remains the authority for profile facts and visibility. Counts, flags, names, usernames, photos, business data, bot declarations, and reactions can change between runs. Verify consequential claims at the source and retain processed_at with downstream data.
Legal and Compliance
Use this Actor only for targets you are authorized to process. Follow Telegram's terms, applicable privacy and data-protection law, copyright, contractual restrictions, and your organization's retention policy.
Minimize personal data. Do not use phone-number lookup, profile flags, presence data, business facts, or community membership context for harassment, doxxing, surveillance, sensitive profiling, spam, unauthorized contact discovery, or discriminatory decisions. A visible value does not establish ownership, consent, identity, safety, or legal permission.
Telegram documents public profile capabilities in its user profile API guide, entity data in the user constructor, and supported link forms in its deep-link documentation. Apply those official semantics alongside the current returned row rather than guessing from a field name.
Frequently Asked Questions
How does a telegram username checker api handle mixed inputs?
It normalizes each supported string, deduplicates equivalent public identifiers, resolves the entity, and returns a sparse row for the matching user, bot, channel, group, or supergroup branch. Correlation position and status remain common across branches.
How do I resolve telegram usernames in bulk?
Yes. Submit up to 1,000 entries. Free-plan runs keep the first 10 unique targets. Start with a small measured batch because source work and run timeout still bound completion.
Are all 41 fields present on every profile?
No. Forty-one is the union contract. A bot, user, channel, group, not-found target, and supergroup populate different subsets.
Are not-found rows charged?
Yes. A normal source-backed not_found row is persisted with the Result event. A transient unavailable target that produces no row is not represented as a successful or not-found result.
Does the Actor expose private account state?
No. Transport credentials, access hashes, private phone values, requesting-account permissions, contact relationships, and read state are excluded. Submitted phone and invite correlations are masked.
Does an invite link grant private access?
No. The source account must already be able to resolve the referenced entity. The Actor does not join arbitrary private communities or bypass access controls.
Related AgentX Actors
AgentX publishes 77 Actors — the three closest Telegram tools first, then the full catalog by category.
Closest to this Actor:
- Telegram Chat Scraper exports public message history rather than entity profiles.
- Telegram Member Scraper exports visible participant data where Telegram permits access.
- Telegram Private Group Scraper covers an authenticated private-group workflow with separate authorization requirements.
Business and Market Intelligence
- Google Keyword Trends — Google Trends keyword interest, compared five at a time
- Google Trends Scraper — Google Trends trending searches
- Google Maps Store Scraper — Google Maps business listings
- LinkedIn Company Lookup — LinkedIn company records
- LinkedIn Profile Lookup — LinkedIn profile records
- Weather Forecast API — forecast and historical weather data
Jobs and Hiring
- All Jobs Scraper — multi-platform job listings
- Bayt Jobs Scraper — Bayt job listings
- Glassdoor Jobs Scraper — Glassdoor job listings
- Indeed Jobs Scraper — Indeed job listings
- JobStreet Company Profile — JobStreet employer records
- Jooble Jobs Scraper — Jooble job listings
- LinkedIn Jobs Scraper — LinkedIn job listings
- Naukri Jobs Scraper — Naukri job listings
- Talent Jobs Scraper — Talent.com job listings
- ZipRecruiter Jobs Scraper — ZipRecruiter job listings
Social Media
- Instagram Creator Scraper — Instagram creator profiles
- Instagram Reels Scraper — Instagram Reels metadata
- Instagram Trending Scraper — Instagram trending content
- Medium Scraper — Medium articles
- Medium Profile Scraper — Medium author profiles
- Reddit Profile Scraper — Reddit user profiles
- Reddit Viral Scraper — Reddit viral posts
- SubReddit Info Scraper — subreddit metadata
- Subreddit Members Scraper — subreddit member lists
- Subreddit Posts Scraper — subreddit post feeds
- Telegram Chat Scraper — Telegram chat messages
- Telegram Member Adder — Telegram group membership management
- Telegram Member Scraper — Telegram group members
- Telegram Private Group Scraper — private Telegram group data
- TikTok Creator API — TikTok creator profiles
- TikTok User Lookup — TikTok account records
- X Twitter Community API — X community data
- X Twitter Profile Lookup — X profile records
- YouTube Creator Email Scraper — YouTube creator contact data
Video, Transcripts and Downloads
- All Video Scraper — multi-platform video metadata
- Video Transcript — multi-platform transcripts
- Video Captions Downloader — caption files
- Video to Social Post — video repurposed into social copy
- YouTube Transcript — YouTube transcripts
- TikTok Transcript — TikTok transcripts
- X Twitter Transcript — X video transcripts
- Facebook Transcript — Facebook video transcripts
- Bilibili Transcript — Bilibili transcripts
- Dailymotion Transcript — Dailymotion transcripts
- Rutube Transcript — Rutube transcripts
- Loom Transcript — Loom transcripts
- Wistia Transcript — Wistia transcripts
- Instagram Reels Downloader — Reels downloads
- Kick Clip Downloader — Kick clip downloads
- Linkedin Video Downloader — LinkedIn video downloads
- Pinterest Video Downloader — Pinterest video downloads
- Reddit Video Downloader — Reddit video downloads
- Snapchat Video Downloader — Snapchat video downloads
- TED Talk Downloader — TED talk downloads
- TikTok Live Downloader — TikTok live downloads
- Twitch VOD Downloader — Twitch VOD downloads
- Zoom Recording Downloader — Zoom recording downloads
E-Commerce and Retail
- All Shopping Scraper — multi-platform product data
- AliExpress Product Scraper — AliExpress products
- Amazon Storefront Scraper — Amazon Brand Store pages
- Bol Product Scraper — Bol.com products
- eBay Seller Leads API — eBay seller records
- Hepsiburada Product Scraper — Hepsiburada products
- Kakaku Product Scraper — Kakaku.com products
- Rakuten Product Scraper — Rakuten products
Classifieds and Automotive
- All Vehicle Scraper — multi-platform vehicle listings
- AutoTrader Vehicle Search — AutoTrader US listings
- AutoTrader UK Vehicle Search — AutoTrader UK listings
Real Estate
- All Property Scraper — multi-platform property listings
- Homes Property Scraper — Homes.com listings
- MagicBricks Property Scraper — MagicBricks listings
- NoBroker Property Scraper — NoBroker listings
- Property24 Property Scraper — Property24 listings
- Realtor Property Scraper — Realtor.com listings
- Zillow Property Scraper — Zillow listings
Support and Community
Ask the AgentX team in the Telegram community with the Actor name, run ID, sanitized input form, expected unique-target count, returned row count, and relevant statuses. Never post API tokens, phone numbers, invite tokens, sessions, or downloaded personal files.
AgentX is an Arcyton brand — arcyton.com.
Last Updated: August 15, 2026