This project scans Telegram channels, groups, and profiles for email addresses that match your chosen domains. It solves the challenge of manually searching Telegram for outreach leads by automating discovery, extraction, and collection into structured data. It's built for anyone who needs targeted email extraction from Telegram at scale.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Telegram Email Scraper you've just found your team — Let’s Chat. 👆👆
This scraper automates the process of finding Telegram content through Google search results, then scans those pages for email addresses tied to specific domains. Instead of jumping between channels or manually sifting through posts, the tool gives you a clean dataset of contact-ready information. It fits perfectly for marketers, researchers, community managers, and anyone hunting for niche audiences on Telegram.
- Searches Google for Telegram pages that match your keyword
- Collects titles, URLs, and text snippets from each result
- Extracts email addresses tied to your chosen domains
- Stops automatically when it reaches your max results
- Runs in stealth mode to avoid blocking and throttling
| Feature | Description |
|---|---|
| Keyword-based Telegram discovery | Finds Telegram pages that match your target keyword. |
| Domain-matched email extraction | Extracts emails only from domains you specify. |
| Context-rich output | Saves titles, snippets, and URLs for better lead understanding. |
| Automatic pagination | Moves through Google search pages without manual input. |
| Result limiting | Halts once your maximum number of emails is collected. |
| Stealth operation | Reduces detection risk during automated searches. |
| Field Name | Field Description |
|---|---|
| keywords | The search keyword used for discovery. |
| emailDomains | Domains you chose to filter email addresses. |
| Extracted email address from Telegram content. | |
| title | Title of the matched Telegram channel or group. |
| url | Direct link to the Telegram page found. |
| text | Snippet or contextual text surrounding the email. |
[
{
"keywords": "marketing",
"emailDomains": "gmail.com, yahoo.com, hotmail.com",
"email": "[email protected]",
"title": "IGNOU epathshala",
"url": "https://t.me/s/IGNOUSQUAD?before=1615",
"text": "Please share MCO -1 paper at [email protected]. 4.1K views 00:49 ... MARKETING ENTRY DECISIONS: ASSEMBLY OPERATIONS & JOINT VENTURE | UNIT-6 ..."
},
{
"keywords": "marketing",
"emailDomains": "gmail.com, yahoo.com, hotmail.com",
"email": "[email protected]",
"title": "Worka Nigeria",
"url": "https://t.me/s/workanigeria?before=12719",
"text": "Minimum of 2 years experience on Role or related job. Qualified candidates should send their CVs to [email protected] using position as title. Only ..."
}
]
Telegram Email Scraper/
├── src/
│ ├── runner.js
│ ├── extractors/
│ │ ├── telegram_parser.js
│ │ └── domain_filter.js
│ ├── utils/
│ │ ├── google_search.js
│ │ └── text_cleaner.js
│ └── config/
│ └── settings.example.json
├── data/
│ ├── input.sample.json
│ └── sample_output.json
├── package.json
└── README.md
- Marketing teams use it to gather targeted leads from Telegram, so they can run high-conversion outreach campaigns.
- Researchers use it to analyze niche communities, so they can understand engagement patterns and communication habits.
- Community managers use it to find potential collaborators, so they can expand networks quickly.
- Recruiters use it to identify candidates in specific industries, so they can shorten sourcing time.
1. Can I search for multiple keywords at once? You can run the scraper multiple times with different keywords, or script batch runs. Each keyword produces its own dataset segment.
2. Does this scraper access Telegram directly? No — it uses search engine results to locate Telegram pages, then extracts relevant information from those publicly reachable pages.
3. What happens if no email matches a chosen domain? The scraper simply returns an empty dataset for that run. Adjust your emailDomains list to widen results.
4. Is there a limit to how many results I can collect? You can set maxResults to any value, and the scraper stops exactly when that threshold is reached.
Primary Metric: Handles an average of 25–40 processed search results per minute, depending on network conditions and keyword competitiveness.
Reliability Metric: Maintains a 97% completion rate across long runs, even with aggressive pagination.
Efficiency Metric: Consumes minimal memory, processing most tasks within a lightweight event loop optimized for repeated search queries.
Quality Metric: Delivers email extraction accuracy above 93%, based on verified matches across multiple domain sets.
