Telegram Profile Scraper avatar

Telegram Profile Scraper

Pricing

from $300.00 / 1,000 profile lookups

Go to Apify Store
Telegram Profile Scraper

Telegram Profile Scraper

Extract 80+ fields from any Telegram account by username, @handle, t.me link, or phone number. Users, bots, channels, groups. Includes trust score, DC geolocation, account age, bio parsing, and collectible username detection.

Pricing

from $300.00 / 1,000 profile lookups

Rating

0.0

(0)

Developer

Yuliia Kulakova

Yuliia Kulakova

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

5

Monthly active users

4 days ago

Last modified

Share

Telegram Profile Scraper

Extract a full intelligence profile from any Telegram account in seconds. Give us a username, a link, or a phone number — we return 80+ fields of structured data including built-in trust scoring, DC geolocation, account age estimation, and bio parsing. No browser, no proxies, no manual work.


What You Get

Point it at any Telegram username, @handle, t.me link, or phone number. The actor resolves the entity, pulls all available metadata via the official Telegram MTProto API, and returns clean JSON — ready for your database, CRM, or analysis pipeline.

Works for users, bots, channels, and groups. All in one tool.


Features

🔍 Universal Input

Mix any format in a single run — plain usernames, @handles, t.me short links, full URLs, or phone numbers. The actor auto-detects and handles each correctly.

👤 Full User Profiles

First name, last name, bio, last seen (with Unix timestamp), Premium status, verified badge, scam/fake flags, birthday, business info, privacy settings, emoji status, name color, personal channel ID, and more.

🤖 Complete Bot Intelligence

Commands list, bot description, active users count, web app URL, inline mode placeholder, business bot flag, attachment menu status — everything the Bot API exposes, and more.

📢 Channel & Group Analytics

Member count, online count, admin count, banned/kicked counts, creation date, linked discussion group, slowmode, forum flag, star gifts, monetization flags (paid messages, paid media), and live stream status.

📍 DC Geolocation

Identifies which Telegram data center hosts the account based on the profile photo DC ID. Returns region and city — a reliable signal for account origin.

DCRegionCity
1USMiami
2EUAmsterdam
3USMiami
4EUAmsterdam
5AsiaSingapore

📅 Account Age Estimation

Estimates how old a Telegram account is by interpolating the user ID against known registration date ranges. Accurate to within weeks for most accounts.

🏆 Trust Score (0–100)

Computed locally from all available signals:

ScoreMeaning
70–100Trusted — verified, complete, established account
40–69Mixed — some signals missing or inconsistent
0–39Suspicious — scam flag, fake flag, deleted, or unverified bot

📊 Profile Completeness (0–100)

Scores how complete the profile is — photo, bio, username, name, birthday, business info, premium, verified badge.

🔗 Bio Parsing

Automatically extracts emails, URLs, @handles, and phone numbers from bio text. No regex needed on your end.

💎 Collectible Username Detection

Detects Fragment NFT usernames (non-editable handles bought on the Fragment marketplace). Returned separately in collectible_usernames.

🖼️ Profile Photo History

Optionally downloads up to 5 historical profile photos per user and stores them in Apify Key-Value Store with public URLs.

⚡ Smart Rate Limit Handling

Automatically detects Telegram FLOOD_WAIT errors, waits the required time, and retries — instead of failing the run.


Pricing

EventPriceWhen Charged
Profile lookup (username/URL)$0.30Per resolved profile
Phone number lookup$0.50Per phone number resolved

💡 Example: 1,000 username lookups = $300

Set a budget cap in Apify — the actor stops gracefully when the limit is hit.


Input

{
"targets": [
"durov",
"@BotFather",
"t.me/telegram",
"https://t.me/Apify_Actor",
"+14155552671"
],
"includeProfilePhotos": false,
"concurrency": 3,
"timeoutMs": 30000
}

Input Fields

FieldTypeDefaultDescription
targetsarrayrequiredTelegram targets. Max 10,000 per run.
includeProfilePhotosbooleanfalseDownload up to 5 historical profile photos per user/bot
concurrencyinteger3Parallel lookups (1–20). Keep low to avoid rate limits.
timeoutMsinteger30000Timeout per lookup in milliseconds

Supported Input Formats

FormatExample
Plain usernamedurov
@handle@BotFather
t.me short linkt.me/telegram
Full URLhttps://t.me/Apify_Actor
Phone number+14155552671

Output

{
"status": "success",
"source_input": "durov",
"processed_at": "2026-05-05T11:35:12.009Z",
"type": "channel",
"id": 1006503122,
"usernames": ["durov", "rove", "paul", "snow", "feed", "lean"],
"collectible_usernames": ["rove", "paul", "snow", "feed", "lean"],
"title": "Pavel Durov",
"description": "Founder of Telegram.",
"profile_photo": true,
"photo_url": "https://api.apify.com/v2/key-value-stores/.../records/photo-1006503122",
"is_verified": true,
"is_scam": false,
"is_fake": false,
"member_count": 10117792,
"stargifts_count": 46916,
"data_center": { "id": 2, "region": "EU", "city": "Amsterdam" },
"profile_completeness": 45,
"trust_score": 85
}

Key Output Fields

FieldTypesDescription
statusAllsuccess, not_found, or error
typeAlluser, bot, channel, supergroup, group
idAllPermanent Telegram numeric ID
usernamesAllAll active usernames
collectible_usernamesAllFragment NFT (non-editable) usernames
first_name / last_nameUser/BotName fields
titleChannel/GroupChannel or group title
descriptionAllBio / about text
photo_urlAllDownloaded profile photo URL
photo_urlsUser/BotUp to 5 historical photos (if enabled)
is_premiumUserTelegram Premium subscriber
is_verifiedAllBlue checkmark
is_scam / is_fakeAllFlagged by Telegram
last_seenUseronline, ISO timestamp, or recently
last_seen_timestampUserUnix timestamp (when available)
birthdayUser{ day, month, year }
emoji_statusUserCustom emoji status document ID
bot_commandsBotFull list with descriptions
bot_active_usersBotEstimated active users
member_countChannel/GroupTotal subscribers/members
admins_countChannel/GroupNumber of admins
created_dateChannel/GroupISO creation timestamp
stargifts_countAllTotal star gifts received
data_centerAll{ id, region, city }
estimated_account_age_daysUser/BotDays since registration
profile_completenessAll0–100 completeness score
trust_scoreAll0–100 trust score
bio_extractedAll{ emails, urls, handles, phones } parsed from bio

Use Cases

🔎 OSINT Investigations — Build a full intelligence profile on any Telegram identity from a single input. Cross-reference IDs, usernames, DC locations, and account age.

📋 Lead Enrichment — Look up phone numbers from your CRM to find Telegram presence, bio, and profile data automatically.

🛡️ Fraud & Scam Detection — Identify accounts flagged by Telegram, check trust scores, detect VoIP numbers, and flag newly created accounts.

📊 Channel Analytics — Pull member counts, admin counts, online stats, creation dates, star gifts, and monetization data for any public channel.

🤖 Bot Research — Analyze bot commands, active user counts, web app URLs, and capabilities across multiple bots at once.

🔍 Competitor Intelligence — Monitor competitor Telegram channels with full metadata — growth, engagement signals, linked groups, and more.


FAQ

What input formats are supported? Plain usernames, @handles, t.me short links, full t.me URLs, and phone numbers — all in one run.

Does phone lookup always work? Phone lookup uses the Telegram contacts API. If the target has set "Who can find me by phone number" to "Nobody" in their privacy settings, it will return not_found. This is expected behavior — the data is private by their choice.

What entity types are supported? Users, bots, channels, supergroups, and groups. The actor auto-detects the type and returns the relevant fields for each.

Can I process large lists? Yes — up to 10,000 targets per run. Keep concurrency at 3–5 to stay within Telegram rate limits.

What happens on rate limits? The actor detects FLOOD_WAIT errors automatically, waits the required time (up to 60 seconds), and retries. If the wait is longer than 60 seconds, the target is skipped with an error status.

Are the intelligence fields accurate? DC geolocation is based on profile photo DC — highly reliable. Account age is estimated from Telegram ID ranges — accurate to within a few weeks for most accounts. Trust and completeness scores are computed locally from available signals.