Telegram Profile Scraper — Users, Channels & Groups avatar

Telegram Profile Scraper — Users, Channels & Groups

Pricing

$24.99/month + usage

Go to Apify Store
Telegram Profile Scraper — Users, Channels & Groups

Telegram Profile Scraper — Users, Channels & Groups

Scrape real public profile data from any Telegram @username. Returns name, bio, member count, verified status, premium status, photo and channel details. Accepts any format: @username, t.me/link or plain name. Batch scrape hundreds of profiles. RESIDENTIAL proxy included.

Pricing

$24.99/month + usage

Rating

0.0

(0)

Developer

Scrape Pilot

Scrape Pilot

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

2

Monthly active users

5 days ago

Last modified

Share


📱 Telegram Profile Scraper v1 — Public Data, No API Key Required

Extract public profile information from any Telegram user, channel, or group.
Get usernames, names, bios, verification status, premium badges, member counts, online counts, and more — without any Telegram API key. Just enter a t.me/ URL or username.


💡 What is Telegram Profile Scraper?

Telegram Profile Scraper is a smart automation tool that extracts publicly available data from Telegram profiles, channels, and groups using only the public web interface. No API key, no login, no phone number required.

It parses t.me/{username} pages (official public profile view) and retrieves structured information that anyone can see in their browser. This includes:

  • Users – username, first/last name, bio, photo status, verified badge, premium badge
  • Channels & Groups – title, username, description, member count, online count, verified status, scam/fake flags (when visible)

All data is returned in clean JSON format, ready for analysis, lead generation, or integration into your own applications.


📦 What Data Can You Extract?

🧩 Data Type📋 Description
👤 User ProfileUsername, first name, last name, bio/description
✅ Verification & Premiumis_verified, is_premium badges
🖼️ Profile PhotoBoolean + direct photo URL (when available)
📢 Channel/Group DetailsTitle, description, member count, online count
🛡️ Safety Flagsis_scam, is_fake, is_restricted (as visible)
🏛️ Channel MetadataAdmins count (when available), created date (some channels)
🕒 Timestampsprocessed_at (UTC) and last_seen (estimation)

Note: Phone numbers, private call settings, common chat counts, and other private information are NOT extracted — this scraper only collects what is public on t.me/ pages.


⚙️ Key Features

  • No API Key Required – Works directly with Telegram’s public web interface.
  • User & Channel/Group Detection – Automatically distinguishes between user profiles and channel/group pages.
  • Member & Online Counts – Extracts subscriber and online member numbers (for channels/groups).
  • Verification & Premium Detection – Recognizes verified accounts and Telegram Premium subscribers.
  • Residential Proxy Required – Telegram blocks datacenter IPs; the actor is built to work with Apify residential proxies.
  • Bulk Scraping – Accepts multiple usernames or URLs in one run.
  • Filtering – Filter by type (user or channel) and by keyword in description/title.
  • Clean JSON Output – Every record follows a consistent schema.

📥 Input Parameters

The actor accepts a JSON object with the following fields:

ParameterTypeRequiredDefaultDescription
telegram_urlsarray or stringNoList of Telegram URLs or usernames (e.g., ["https://t.me/durov", "@telegram"]). You can also provide a comma‑ or newline‑separated string.
telegram_urlstringNoSingle Telegram URL or username (convenience alternative to telegram_urls).
keywordstringNoFilter results: only keep profiles whose title, first name, or description contains this keyword (case‑insensitive).
filter_typestringNoFilter by profile type: user or channel.
max_resultsintegerNo50Maximum number of profiles to scrape (useful when providing many URLs).
proxyConfigurationobjectNoApify proxy configuration. Residential proxies are strongly recommended (Telegram blocks datacenter IPs).

Example Input (Basic)

{
"telegram_urls": ["https://t.me/durov", "@telegram", "NASA"],
"max_results": 10
}

Example Input (With Filtering & Proxy)

{
"telegram_urls": ["https://t.me/durov", "https://t.me/binance", "https://t.me/s/nytimes"],
"filter_type": "channel",
"keyword": "news",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

📤 Output Format

Each profile is returned as a JSON object. The exact fields depend on whether the profile is a user or a channel/group. Both schemas share common fields.

Common Fields (All Profiles)

FieldTypeDescription
statusstringsuccess, failed, or not_found.
source_urlstringThe original input URL/username.
processorstringFixed value https://apify.com.
processed_atstringISO timestamp (UTC) of extraction.
usernamesarrayList of usernames (usually one).
typestringuser, channel, or group.
titlestringFull display name (user’s full name or channel title).
first_namestringFor users: first name (or full name).
last_namestringFor users: last name (if any).
descriptionstringBio or description text.
is_verifiedbooleanVerified badge present.
is_premiumbooleanTelegram Premium subscriber.
profile_photobooleanHas profile photo.
profile_photo_urlstringDirect URL of the profile photo (if available).

User‑Specific Fields

FieldTypeDescription
is_scambooleanScam flag (if visible).
is_fakebooleanFake flag.
is_deletedbooleanAlways false (web page won’t show deleted).
is_supportbooleanSupport account flag.
is_restrictedbooleanRestriction flag.
is_blockedbooleanAlways false (block status not public).
phonenullNot extracted (private).
lang_codestringAlways "en" (not available from web).
last_seenstringAlways "online" (estimation).
phone_callsbooleanAlways true (default).
video_callsbooleanAlways true.
voice_messagesbooleanAlways true.
can_pinbooleanAlways false.
premium_contactbooleanAlways false.
common_chats_countintegerAlways 0 (private).
has_scheduledbooleanAlways false.
can_manage_emojibooleanAlways false.
private_callsbooleanAlways false.
private_readsbooleanAlways false.

Channel / Group‑Specific Fields

FieldTypeDescription
member_countintegerNumber of subscribers / members.
online_countintegerCurrently online members (if shown).
is_scambooleanScam flag.
is_fakebooleanFake flag.
is_forumbooleanForum flag.
is_restrictedbooleanRestriction flag.
has_locationbooleanAlways false.
gigagroupbooleanAlways false.
join_to_sendbooleanAlways false.
join_requestbooleanAlways false.
no_forwardsbooleanAlways false.
slowmodebooleanAlways false.
has_scheduledbooleanAlways false.
view_statsbooleanAlways false.
call_activebooleanAlways false.
linked_chat_idnullNot extracted.
locationnullNot extracted.
admins_countintegernull (not public).
banned_countinteger0.
view_membersbooleanfalse.

Example Output (User)

[
{
"status": "success",
"source_url": "https://t.me/durov",
"processor": "https://apify.com",
"processed_at": "2026-04-04T12:00:00Z",
"usernames": ["durov"],
"type": "user",
"title": "Pavel Durov",
"first_name": "Pavel",
"last_name": "Durov",
"description": "CEO of Telegram",
"is_verified": true,
"is_premium": true,
"profile_photo": true,
"profile_photo_url": "https://telegram.org/img/...",
"is_scam": false,
"is_fake": false,
"is_deleted": false,
"is_support": false,
"is_restricted": false,
"is_blocked": false,
"phone": null,
"lang_code": "en",
"last_seen": "online",
"phone_calls": true,
"video_calls": true,
"voice_messages": true,
"can_pin": false,
"premium_contact": false,
"common_chats_count": 0,
"has_scheduled": false,
"can_manage_emoji": false,
"private_calls": false,
"private_reads": false
}
]

Example Output (Channel)

[
{
"status": "success",
"source_url": "https://t.me/binance",
"processor": "https://apify.com",
"processed_at": "2026-04-04T12:01:00Z",
"usernames": ["binance"],
"type": "channel",
"title": "Binance Official",
"description": "Official Binance announcements and updates",
"is_verified": true,
"is_premium": false,
"profile_photo": true,
"member_count": 1520000,
"online_count": 12000,
"is_scam": false,
"is_fake": false,
"is_forum": false,
"is_restricted": false,
"has_location": false,
"gigagroup": false,
"join_to_send": false,
"join_request": false,
"no_forwards": false,
"slowmode": false,
"has_scheduled": false,
"view_stats": false,
"call_active": false,
"linked_chat_id": null,
"location": null,
"admins_count": null,
"banned_count": 0,
"view_members": false
}
]

🛠 How to Use on Apify

  1. Create a task with this actor.
  2. Provide input – list usernames or full Telegram URLs.
  3. Configure proxiesmust enable residential proxies (Telegram blocks datacenter IPs).
  4. Run – the actor will scrape each profile and push data to the Dataset.
  5. Export – download results as JSON, CSV, or Excel.

Running via API

curl -X POST "https://api.apify.com/v2/acts/your-username~telegram-profile-scraper/runs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"telegram_urls": ["@durov", "@telegram"],
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}'

🎯 Use Cases

  • Lead Generation – Extract bio and contact info from public Telegram profiles.
  • Competitive Intelligence – Monitor channel subscriber counts and online activity.
  • Influencer Research – Identify verified and premium users in a niche.
  • Community Analytics – Track growth of public groups/channels over time.
  • Fraud Detection – Flag scam or fake channels (using is_scam/is_fake flags).
  • Data Enrichment – Augment your CRM with Telegram usernames and verification status.

❓ Frequently Asked Questions

Q1. Do I need a Telegram API key?

No. This scraper uses only the public web interface (t.me/ pages). No API key, no login, no phone number required.

Q2. Why do I need residential proxies?

Telegram aggressively blocks datacenter IP addresses (AWS, Google Cloud, etc.). Residential proxies mimic real users and are necessary to avoid 403 Forbidden or 429 Too Many Requests errors.

Q3. Can I extract phone numbers or private messages?

No. This tool only extracts publicly available information. Phone numbers, call settings, private chats, and common chat counts are not accessible via the public web interface.

Q4. How accurate are member counts and online counts?

They are taken directly from the public t.me/ page. For large channels, the numbers are typically accurate to within a few percent. Online counts are only shown when the channel/group enables that feature.

Q5. What happens if a profile is not found?

The actor returns a status: "not_found" object with no further data. The run will continue to other URLs.

Q6. Can I filter by keyword or profile type?

Yes. Use keyword to filter by text in title/description, and filter_type to keep only user or channel results.

Q7. How fast is it?

Each profile takes 2–4 seconds (including random delays to avoid rate limits). Bulk scraping of up to 50 profiles usually completes in under 3 minutes.


🔍 SEO Keywords

Telegram scraper, Telegram profile extractor, Telegram channel data, Telegram group members, Telegram public API alternative, social media intelligence, Telegram premium detector, bulk Telegram scraper, Apify Telegram actor, t.me scraper