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

🔵 VK Email Scraper extracts public profile, group and business emails at scale using keywords. 🔓 Decodes written-out addresses, skips prior runs. 🌍 Built for CIS market research, localization & regional lead generation.

- **URL**: https://apify.com/code-beat/vk-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

### Vk Email Scraper

**Vk Email Scraper** is an automated email finder tool built for discovering publicly available contact details on Vk using the keywords and filters you choose. It helps marketers, recruiters, data analysts, and researchers turn manual VK profile scraper work into scalable Vk data scraping, so you can build cleaner lead lists faster and with far less effort. 🚀

### What is Vk Email Scraper? 🔍

**Vk Email Scraper** is an Apify actor that collects public email addresses from Vk-based results using your keywords, optional location filtering, and custom email-domain filters. It is designed to simplify VK email extraction for teams that need contacts at scale without hours of manual browsing. Whether you’re doing VK contact extraction, VK user data extraction, or broader social media email scraper workflows, this actor helps you move quickly from research to usable leads. It’s especially useful for marketers, recruiters, sales teams, and analysts who want efficient VK lead generation from publicly accessible data.

### What Data Does Vk Email Scraper Collect? 📊

This actor saves structured lead records to your Apify dataset. Each result includes the keyword that surfaced it, the title and description text, the profile URL, and the extracted email address. That makes it practical for social network email scraping, email extraction software workflows, and VK public data collection.

| Data Category | Fields Extracted | Description |
|---|---|---|
| Discovery | `keyword` | The keyword that led to the result |
| Identity | `title` | The result title shown in the dataset |
| Context | `description` | Public description text associated with the result |
| Navigation | `url` | Direct link to the Vk result |
| Contact | `email` | Publicly available email address |

### What Do Results from Vk Email Scraper Look Like? 👀

Each record is saved as a structured JSON item in your Apify dataset. Here’s a realistic example of what a VK profile scraper result may look like:

```json
{
  "keyword": "founder",
  "title": "Maria Ivanova",
  "description": "Founder at Bright Path Studio. Open to collaboration and partnerships.",
  "url": "https://vk.com/maria.ivanova",
  "email": "maria.ivanova@gmail.com"
}
```

Export formats: JSON (default) and CSV via Apify Console. 📁

#### Core Features: Vk Email Scraper ⚡

| Feature | Benefit |
|---|---|
| ✅ **Keyword-Driven Targeting** | Find relevant Vk leads based on the roles or topics you care about |
| ✅ **Location Filter** | Narrow results using a location string when you need regional targeting |
| ✅ **Custom Domain Filter** | Focus on specific email domains like `@gmail.com` or `@yahoo.com` |
| ✅ **Configurable Result Cap** | Use `maxEmails` to control run size and cost |
| ✅ **Built-In Proxy Support** | Helps keep large public web data runs reliable |
| ✅ **Real-Time Data Saving** | Results are stored as they are found, reducing the risk of data loss |
| ✅ **Structured Dataset Output** | Clean fields make export and analysis straightforward |
| ✅ **Public Data Only** | Designed for publicly available sources, not private or login-only content |

### Getting Started with Vk Email Scraper 🚀

1. **Open Apify Store** — Go to [apify.com/store](https://apify.com/store) and find **Vk Email Scraper**.
2. **Open the Input Tab** — Use the built-in form to configure your run.
3. **Add Keywords** — Enter the terms you want to use for VK public data collection.
4. **Set Optional Filters** — Add a location if you want to narrow your results.
5. **Choose Email Domains** — Enter custom domains such as `@gmail.com` or `@yahoo.com`.
6. **Cap Your Results** — Set `maxEmails` to keep the run focused and cost-efficient.
7. **Click Start** — Launch the actor and monitor progress in the logs.
8. **Review the Dataset** — Open the dataset tab to preview, filter, and export your results.

No coding required — just enter your keywords and start collecting leads. ⏱️

### Ways to Use Vk Email Scraper 💡

- 🎯 **B2B Lead Generation** — Build segmented lists for outreach and prospecting
- 📣 **Email Marketing** — Collect public contacts for newsletters and campaigns
- 🤝 **Recruitment Outreach** — Find people and profiles relevant to hiring or partnerships
- 🔬 **Market Research** — Study public Vk profiles and communities for audience insights
- 📊 **CRM Enrichment** — Add email and source context to your contact database
- ⚙️ **Automated Email Harvesting** — Support repeatable workflows with structured dataset output

#### Input Parameters — Vk Email Scraper

```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 used to find relevant Vk results. |
| `location` | String | No | `""` | Optional location filter to narrow the results. |
| `customDomains` | Array | No | `["@gmail.com","@yahoo.com"]` | Email domains to focus on when collecting addresses. |
| `maxEmails` | Integer | No | `20` | Maximum number of emails to collect before the actor stops. |

#### Output Parameters — Vk Email Scraper

| Field | Label | Format | Description |
|---|---|---|---|
| `keyword` | Keyword | text | The keyword that produced the result. |
| `title` | Title | text | The title or name shown in the result. |
| `description` | Description | text | The public description text associated with the result. |
| `url` | Url | link | The direct URL to the Vk result. |
| `email` | Email | text | The extracted public email address. |

### Why Choose Vk Email Scraper? 🏆

Vk Email Scraper is built for speed, practical targeting, and clean output. It supports keyword-based discovery, custom email-domain filtering, and result limiting for cost control. It also saves data incrementally and includes built-in proxy support for more reliable public web scraping. For teams that need a VK email scraper they can run repeatedly, this actor is a solid choice for accurate VK profile scraper and VK group scraper workflows. For help or custom requests, contact <codebeatapi@gmail.com>. ✉️

### How Many Results Can You Scrape? 📈

You can set `maxEmails` anywhere from 1 to 10,000. The actual number of results depends on how many public Vk profiles or pages match your keywords and include publicly available email addresses. Larger runs may take longer, so it can help to keep your keywords focused and your domain filters relevant. Apify datasets can store the collected results for later export and analysis.

### Legal Guidelines for Scraping Vk ⚖️

This actor collects only publicly available data from Vk. It does not require logins and does not access private or password-protected content. As with any social media email scraper or Russian social network scraping workflow, you are responsible for complying with applicable laws, platform policies, and anti-spam rules. Use the data only for legitimate business, research, or outreach purposes. For data removal requests, contact <codebeatapi@gmail.com>. ✅

### FAQ — Vk Email Scraper ❓

#### How does Vk Email Scraper find contacts?

It uses your keywords and email-domain filters to find relevant public results, then extracts publicly available email addresses and associated profile text into a structured dataset.

#### What kind of Vk profiles can I scrape?

You can scrape public Vk profiles or pages that include an email address in publicly available text. Private or restricted content is not part of the workflow.

#### Can I use Vk Email Scraper for VK lead generation?

Yes. It’s well suited for VK lead generation because it turns public profile data into an exportable contact list with keyword context.

#### Is this useful for social network email scraping?

Absolutely. It’s designed as a social network email scraper for public-facing Vk data, making it useful for research, outreach, and lead building.

#### How do I keep results focused?

Use specific keywords, add a location when relevant, and set `maxEmails` to control the size of the run. Narrow custom domain filters also improve relevance.

#### What if I need more results?

Try broader keywords, add related terms, or include more email domains. That usually improves coverage for VK email extraction and VK public data collection.

#### How do I get support?

For questions, feedback, or custom feature requests, email <codebeatapi@gmail.com>.

### Conclusion 🏁

**Vk Email Scraper** is a fast, practical way to collect public email leads from Vk with keywords, filters, and structured output. Whether you’re building outreach lists, doing market research, or enriching your CRM, this Vk profile scraper gives you a straightforward path from public data to usable leads. 🚀

### 🆘 Support & Feedback

Have a question or feature request for **Vk Email Scraper**?

For bug reports, custom solutions, and general support, contact <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": [
    "manager",
    "founder"
  ],
  "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": [
        "manager",
        "founder"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com"
    ],
    "emailList": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("code-beat/vk-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": [
        "manager",
        "founder",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
    "emailList": [],
}

# Run the Actor and wait for it to finish
run = client.actor("code-beat/vk-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": [
    "manager",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "emailList": []
}' |
apify call code-beat/vk-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/vk-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/fvWNjAwf9K8OcNzLd/builds/08TxLM21jwI61yYmL/openapi.json
