Telegram Lead Scraper avatar

Telegram Lead Scraper

Pricing

$3.60 / 1,000 lead details

Go to Apify Store
Telegram Lead Scraper

Telegram Lead Scraper

Extract published email addresses, phone numbers, websites, and Telegram handles from public Telegram content. Each lead keeps its normalized value, original form, source link, and confidence.

Pricing

$3.60 / 1,000 lead details

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

🎯 Turn public Telegram content into lead rows

Sales teams, lead researchers, and developers can submit public Telegram targets and get structured lead rows for published email addresses, phone numbers, websites, and Telegram handles. Each row keeps a normalized value, its original published form, source details, and confidence so you can review where the lead came from. The Actor reads public descriptions and posts only. It does not guess contact details or look up private data.

📦 Review normalized Telegram lead rows

Each saved row contains one distinct published contact detail for its Telegram source. lead.normalizedValue helps compare values, while lead.originalValue keeps the form shown by Telegram. Channel fields add identity and audience context. Source fields point to the description or post that supplied the detail when available.

If the same detail appears again for the same source, the Actor keeps the first eligible saved match and ignores later matches. The saved row and its source fields describe only that first match.

▶️ Scan targets and open the dataset

  1. In Input, choose whether your targets are public channels or public groups.
  2. Add one or more public Telegram URLs or @handles, keeping every value the same type as your choice.
  3. Start the Actor and open the lead rows from Output.

Only public content available to the Actor is used. A detail that was not published is not guessed.

⚙️ Input

Choose the target type, then add one or more non-empty public Telegram targets. Both fields are required.

Input fields

FieldTypeWhat it does
targetTypestringChooses channel or group for the submitted targets.
targetsarray of stringsLists one or more public Telegram channel or group URLs or @handles. Keep every entry the same type as targetType.
targets[]stringOne non-empty public Telegram URL or @handle to scan.

Input example

This example is copied from the public input of a successful current-beta default-input run:

{
"targetType": "channel",
"targets": [
"https://t.me/trucallerbot"
]
}

🧾 Output

The Output tab exposes defaultDatasetItems, a link to the default dataset. Each saved dataset item uses one shape. Optional fields appear when Telegram makes the related public value available.

Output link

FieldTypeWhat it does
defaultDatasetItemsstringOpens the extracted Telegram lead rows in the default dataset.

Dataset row fields

FieldTypeWhat it does
leadobjectThe published contact detail found in the source.
lead.typestringThe detail kind: email, phone, website, or telegramHandle.
lead.normalizedValuestringThe normalized detail used to identify the distinct lead.
lead.originalValuestringThe detail in the form published by Telegram.
lead.confidencestringThe extraction confidence for the published detail.
lead.contactIntentstring, optionalNearby public text that shows the purpose of the detail, when clear.
channelobjectThe public Telegram source that published the detail.
channel.titlestringThe public title of the channel or group.
channel.urlstring (URL)The public URL of the channel or group.
channel.typestringThe source type: channel or group.
channel.handlestring, optionalThe public Telegram handle, when available.
channel.audienceSizeinteger, optionalThe public subscriber or member count, when available.
channel.audienceSizeExactboolean, optionalSays whether the public audience count is exact.
sourceobjectThe public description or post that supplied the detail.
source.typestringThe source kind: channelDescription or post.
source.urlstring (URL)The public URL of the description or post.
source.messageIdinteger, optionalThe public message identifier when the source is a post.
source.publishedAtdate-time string, optionalThe publication date and time of a post source.
source.textstring, optionalThe public post text that gives context for the detail.
source.mediaUrlsarray of strings, optionalPublic URLs for media attached to the post.
source.viewCountinteger, optionalThe public view count for the post.
source.reactionCountinteger, optionalThe public total reaction count for the post.
source.reactionsarray of objects, optionalThe public count for each reaction type.
source.reactions[].emojistringThe public reaction or emoji name.
source.reactions[].countintegerThe public count for that reaction type.
source.forwardedChannelobject, optionalThe public channel named as the origin of a forwarded post.
source.forwardedChannel.handlestringThe public handle of the forwarded channel.
source.forwardedChannel.urlstring (URL), optionalThe public URL of the forwarded channel.
source.forwardedChannel.titlestring, optionalThe public title of the forwarded channel.

Genuine current-beta row

This complete row comes from a successful current-beta run. It shows a Telegram handle found in a channel description.

{
"lead": {
"type": "telegramHandle",
"normalizedValue": "@truecallerr0bot",
"originalValue": "@TruecallerR0Bot",
"confidence": "high"
},
"channel": {
"title": "TrueCallerBot",
"url": "https://t.me/trucallerbot",
"type": "channel",
"handle": "@trucallerbot",
"audienceSize": 1832714,
"audienceSizeExact": true
},
"source": {
"type": "channelDescription",
"url": "https://t.me/trucallerbot"
}
}

💳 Pricing

Pricing is pay per event. The primary event is Lead detail at $0.0036 for each distinct email, phone number, website, or Telegram handle saved to the dataset.

The event is charged only when that lead detail is saved. Empty discovery creates no lead-detail event, and repeated mentions do not create another saved detail for the same source.

Buyer-facing event

EventWhat it coversPrice
Lead detailOne distinct published email, phone number, website, or Telegram handle saved to the dataset.$0.0036

🔌 Integrations

The Actor runs in Apify. Use the Input panel to submit targets, then open the default dataset from Output for review or API workflows.

See the walkthrough:

❓ FAQ

Does the Actor look up private contact details?

No. It reads contact details that public Telegram content publishes. It does not guess details or use a private-data lookup.

What happens when a detail appears more than once?

The Actor saves the first eligible occurrence of a distinct detail for the source and ignores later matches. The row shows evidence from that first saved match only.

Does a high confidence value verify a contact?

No. Confidence describes the extraction evidence. It does not prove that an email address or phone number still works or belongs to a specific person.

Why can source fields be missing?

Telegram does not expose every public field for every description or post. For example, a description source has no post message ID or publication date, and optional media or reaction data may not be available.

What does the group option do?

The input includes group as a target type. The Actor uses only the public content available for the submitted target, so results depend on what Telegram exposes.

How much Telegram history does a run cover?

The Actor returns the public history that Telegram makes available for the submitted targets. It does not promise an unlimited or guaranteed-complete archive.

Why did a target return no lead row?

The target may not have a published email, phone number, website, or Telegram handle in the public content available to the Actor. A missing row is not replaced with a guess.

Can I use the collected details for outreach?

You are responsible for using public contact details lawfully, following privacy and marketing rules, and honoring opt-outs. This Actor does not verify deliverability or identity.

📝 Changelog

v0.0 (18-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré