# Telegram Email Scraper - Bulk Keywords, Decodes Hidden Emails (`code-beat/telegram-email-scraper-ultra-fast-and-precise`) Actor

✈️ Telegram Email Scraper extracts public channel and group owner emails at scale using keywords. 🔓 Decodes obfuscated addresses, filters domains. 📢 Built for crypto marketing, community growth & channel partnership outreach.

- **URL**: https://apify.com/code-beat/telegram-email-scraper-ultra-fast-and-precise.md
- **Developed by:** [Code Beat](https://apify.com/code-beat) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Telegram Email Scraper

**Telegram Email Scraper** helps you find publicly available email addresses from Telegram using the keywords and filters you choose. It’s built for Telegram email extraction, Telegram lead generation, and fast Telegram contact scraping at scale, so marketers, analysts, and researchers can turn public web data into actionable contacts without the manual grind. 🚀

### What Does Telegram Email Scraper Do? 🤖

Telegram Email Scraper scrapes public Telegram-related pages based on your keywords, optional location targeting, and custom email-domain filters. During a run, it collects matching profiles, extracts email addresses, and saves each result straight to your Apify dataset. The output is structured for easy analysis, export, and follow-up. If you need to find emails on Telegram faster than doing it by hand, this Telegram contact scraper is built to automate the work and keep results organized. It’s a practical Telegram prospecting tool for repeatable lead discovery. 📬

### What Can Telegram Email Scraper Extract? 📊

This actor captures the core fields needed for Telegram data extraction and lead review. Each dataset item includes the keyword that surfaced the result, the profile title, a text description, a direct URL, and the extracted email address. That makes it useful for Telegram channel scraper workflows, Telegram group scraper research, and broader email scraping tool use cases where clean, labeled data matters. ✅

| Data Type | Field Name | Description |
|---|---|---|
| Discovery | `keyword` | The keyword that led to this result |
| Identity | `title` | The profile or page title |
| Context | `description` | Text description from the page |
| Navigation | `url` | Direct link to the page |
| Contact | `email` | Extracted email address |

#### Key Features of Telegram Email Scraper ⚡

- ✅ **Keyword-Driven Search:** Use your own keywords to surface relevant Telegram profiles and pages for targeted Telegram user search.
- 🌍 **Location Filter:** Narrow results by location when you want more relevant Telegram marketing leads for a specific region.
- 📧 **Custom Domain Filtering:** Focus on the email domains you care about, such as `@gmail.com` or `@yahoo.com`, for cleaner Telegram lead generation.
- 🔄 **Built-In Proxy Support:** Includes built-in proxy support for reliable scraping and better stability during larger runs.
- 📊 **Structured Dataset Output:** Saves results in a clean dataset format that’s easy to export, filter, and analyze.
- 💾 **Real-Time Saving:** Results are pushed as they are found, helping protect your data if a run ends early.
- ⚙️ **Configurable Result Limit:** Set `maxEmails` to control how many emails the actor collects in a run.
- 🚀 **Resilient Runs:** Includes retries and fallbacks for resilience when public pages are harder to access.

### How to Use Telegram Email Scraper 🚀

1. **Open the Actor** — Find Telegram Email Scraper in the Apify Store.
2. **Add Keywords** — Enter one or more keywords that match the Telegram contacts you want.
3. **Set Filters** — Optionally add a location and custom email domains.
4. **Choose a Limit** — Set `maxEmails` to control run size and output volume.
5. **Run the Actor** — Start the actor and monitor progress in the Apify Console.
6. **Review Results** — Open the Dataset tab to inspect the scraped leads.
7. **Export Data** — Download the output in a format that fits your workflow.

No coding required. ✨

### Telegram Email Scraper Output Format 📦

The actor saves results to your Apify dataset in structured JSON format, ready for analysis or export.

#### Input Example

```json
{
  "keywords": [
    "manager",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `keywords` | Array | ✅ Yes | `["manager","founder"]` | A list of keywords or queries to search for. |
| `location` | String | No | `""` | Location to filter search results. |
| `customDomains` | Array | No | `["@gmail.com","@yahoo.com"]` | List of custom email domains. |
| `maxEmails` | Integer | No | `20` | Maximum number of emails to collect. The actor stops once this limit is reached. |

#### Output Example

```json
[
  {
    "keyword": "manager",
    "title": "Sarah Johnson",
    "description": "Marketing manager based in London, available for business inquiries.",
    "url": "https://t.me/sarahjohnson",
    "email": "sarah.johnson@gmail.com"
  }
]
```

| Field | Label | Format | Description |
|---|---|---|---|
| `keyword` | Keyword | text | The keyword associated with the lead. |
| `title` | Title | text | The title or name shown in the result. |
| `description` | Description | text | The text description captured for the result. |
| `url` | Url | link | Direct link to the source page. |
| `email` | Email | text | The extracted email address. |

### 🎯 Use Cases of Telegram Email Scraper

**B2B Lead Generation:** Build targeted Telegram contact scraping lists for outreach campaigns, prospecting, and pipeline building. This is especially useful when you need Telegram marketing leads from niche communities.

**Email Marketing Campaigns:** Use Telegram email extraction to assemble fresh outreach lists for newsletters, promotions, and cold email workflows.

**Market Research:** Analyze Telegram channels and groups to understand audience segments, discover public contact patterns, and map niche communities.

**Recruitment:** Find public contacts related to roles, industries, and communities using Telegram user search and keyword targeting.

**CRM Enrichment:** Add newly collected email addresses and source URLs to existing records for cleaner contact databases and better follow-up.

### How Much Will Telegram Email Scraper Cost You? 💰

How much does Telegram Email Scraper cost? It depends on how many results you ask it to collect and how much data is available for your chosen keywords. Use `maxEmails` to cap the number of emails collected per run, which helps you control spending and keep runs predictable. For larger Telegram automation workflows, this makes budgeting much easier.

### Is It Legal to Scrape Telegram? ⚖️

This actor only accesses publicly available data from Telegram-related pages, so it does not require login or private account access. Public web data collection is commonly used for research, marketing, and recruiting, but you’re responsible for following applicable laws and platform rules, including privacy and anti-spam regulations. If you have questions or need help with data removal, contact <codebeatapi@gmail.com>.

### Telegram Email Scraper Input Parameters 📋

```json
{
  "keywords": [
    "manager",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `keywords` | Array | ✅ Yes | `["manager","founder"]` | One or more keywords or queries to search for. |
| `location` | String | No | `""` | Location to filter search results. |
| `customDomains` | Array | No | `["@gmail.com","@yahoo.com"]` | List of custom email domains. |
| `maxEmails` | Integer | No | `20` | Maximum number of emails to collect. The actor stops once this limit is reached. |

### During the Actor Run ⏱️

While the actor is running, you’ll see live logs in the Apify Console as it moves through your keywords and filters. Results are saved in real time to the Dataset tab, so you can inspect progress before the run finishes. Runtime depends on the size of your input and the amount of publicly available data, but `maxEmails` gives you a simple way to keep things under control. If results are thin, try broader keywords or fewer filters. ⚙️

### Final Note ✉️

Start using Telegram Email Scraper to collect public contacts faster, organize them cleanly, and turn Telegram email extraction into a repeatable workflow. Questions or feedback? Reach us at <codebeatapi@gmail.com>.

### FAQ — Telegram Email Scraper ❓

#### How does Telegram Email Scraper find emails?

It uses your keywords and email-domain filters to find relevant public Telegram-related pages, then collects email addresses that are publicly available in the captured content. It does not guess or generate emails.

#### What types of Telegram profiles can I scrape?

You can scrape public Telegram-related pages that include email addresses in the visible content. If a result does not contain an email, it will not be added to the dataset.

#### What did your tests show about Telegram Email Scraper?

The actor is designed for accurate Telegram data extraction with structured output and incremental saving. Actual results depend on your keywords, domain filters, location settings, and how much public data is available for those terms.

#### Why scrape Telegram for emails?

Telegram is a useful source for Telegram lead generation, community research, and niche contact discovery. A Telegram email scraper saves time by automating repetitive manual searching and organizing results in a dataset.

#### How much does Telegram Email Scraper cost to use?

Cost depends on the size of your run and the `maxEmails` setting. If you want tighter control, set a lower limit so the actor stops once it reaches your target.

#### How does Telegram Email Scraper help my business?

It helps you collect public contacts faster, build Telegram marketing leads lists, and keep your outreach data organized for CRM import, research, or email campaigns.

#### What are the challenges of using a Telegram scraper?

Not every Telegram-related page includes a public email address, so results can vary by keyword and niche. Broader keywords and less restrictive filters usually improve coverage.

#### How do I choose the right Telegram Email Scraper?

Look for clear output, configurable filters, a result limit, and reliable saving during the run. Telegram Email Scraper includes all of these, making it a practical email scraping tool for ongoing workflows.

### 🆘 Support & Feedback

Found a bug or need a custom feature for Telegram Email Scraper?

- 🐞 **Bug Reports:** Share the issue through the Apify platform workflow you use for your runs.
- ✨ **Custom Solutions & Feature Requests:** Send your request by email.
- 📧 **Email:** <codebeatapi@gmail.com>

### Country & Time Targeting

Both filters are applied to the Google query itself, so they shape which pages
the dork is answered from rather than filtering after the fact.

**Target Country** - runs the search as if from that country (`gl`). Turn on
**Strict country filter** to additionally restrict results to pages Google
attributes to it (`cr=countryXX`); that is much tighter and returns noticeably
fewer results. Leave the country on *Global (no country filter)* for worldwide
results.

**Result Language** - restricts results to a single language (`hl` + `lr`).

**Time Range** - limits results to a publication window: past hour, 24 hours,
week, month, year, or an explicit *Custom range* using **Custom range: from** /
**to** in `YYYY-MM-DD` form. A page Google indexed last week is far more likely
to carry a live mailbox than one it last saw five years ago.

Selecting *Custom range* without either date falls back to no time filter rather
than searching all of time by accident.

# Actor input Schema

## `scrapeMode` (type: `string`):

Find New Emails (default) searches Airbnb by keyword. Clean My List skips searching entirely and instead runs the emails you paste into Email List (below) through the same deliverability checks.

## `keywords` (type: `array`):

A list of keywords or queries to search for.

## `location` (type: `string`):

Location to filter search results.

## `customDomains` (type: `array`):

List of custom email domains

## `emailList` (type: `array`):

Paste the emails you want checked for deliverability. Only used when Scrape Mode is set to "Clean My List".

## `maxEmails` (type: `integer`):

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `verificationMode` (type: `string`):

Quick Check (default) validates syntax and MX records only - fast, no added latency. Deep Check additionally flags disposable-domain addresses and checks each domain against a public spam blocklist (Spamhaus DBL). Off skips validation entirely.

## `minQualityScore` (type: `number`):

Drop any contact whose quality score (0.0-1.0) falls below this. Leave at 0 for no filter.

## `excludeCatchAll` (type: `boolean`):

Drop contacts on domains confirmed to accept mail for any address (only applies when that signal is available).

## `requireMxValid` (type: `boolean`):

Drop any contact whose domain has no valid mail server (MX record).

## `targetCountry` (type: `string`):

Ask Google to answer as if searching from this country. Leave on "Global (no country filter)" for worldwide results.

## `strictCountry` (type: `boolean`):

Restrict results to pages Google attributes to the target country (cr=countryXX), instead of only preferring them. Much tighter targeting, noticeably fewer results.

## `searchLanguage` (type: `string`):

Restrict results to one language. Leave on "Any language" for no filter.

## `timeRange` (type: `string`):

Only return pages Google indexed within this window. Recent pages are more likely to hold a mailbox that still works.

## `customDateFrom` (type: `string`):

Only used when Time Range is "Custom range". Format: YYYY-MM-DD.

## `customDateTo` (type: `string`):

Only used when Time Range is "Custom range". Format: YYYY-MM-DD.

## Actor input object example

```json
{
  "scrapeMode": "Find New Emails",
  "keywords": [
    "channel admin",
    "crypto"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "emailList": [],
  "maxEmails": 20,
  "verificationMode": "Quick Check",
  "minQualityScore": 0,
  "excludeCatchAll": false,
  "requireMxValid": false,
  "targetCountry": "Global (no country filter)",
  "strictCountry": false,
  "searchLanguage": "",
  "timeRange": "Any time",
  "customDateFrom": "",
  "customDateTo": ""
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "channel admin",
        "crypto"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com"
    ],
    "emailList": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("code-beat/telegram-email-scraper-ultra-fast-and-precise").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": [
        "channel admin",
        "crypto",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
    "emailList": [],
}

# Run the Actor and wait for it to finish
run = client.actor("code-beat/telegram-email-scraper-ultra-fast-and-precise").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "channel admin",
    "crypto"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "emailList": []
}' |
apify call code-beat/telegram-email-scraper-ultra-fast-and-precise --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,code-beat/telegram-email-scraper-ultra-fast-and-precise"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5592T0xRZFNYgHhkF/builds/rWArcv9RxcYRU5o6h/openapi.json
