# Facebook Profile Email Scraper - Keyword & Location Targeting (`scrapido/facebook-profile-email-scraper`) Actor

📘 Facebook Profile Email Scraper searches profiles by keyword and location for public emails. 🔓 Domain filters, obfuscated-address decoding and duplicate handling. 📤 Export profile leads to CSV, JSON or Excel.

- **URL**: https://apify.com/scrapido/facebook-profile-email-scraper.md
- **Developed by:** [Scrapido](https://apify.com/scrapido) (community)
- **Categories:** Lead generation, Social media, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.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/platform/actors/running/actors-in-store#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

### Facebook Profile Email Scraper

**Facebook Profile Email Scraper** helps you extract publicly available email addresses and profile details from Facebook profiles for faster outreach, research, and lead generation. It’s a practical Facebook email finder for marketers and analysts who want to streamline social media email extraction, profile contact scraping, and Facebook lead scraping at scale 📬

### What Does Facebook Profile Email Scraper Do? 🤖

Facebook Profile Email Scraper collects publicly available contact details from Facebook profiles based on your keywords, target country, email contact type, and result limit. During a run, it filters profiles by the search terms you provide, gathers the available bio and contact clues, and stores structured results in your Apify dataset. This makes Facebook profile scraping much faster than manual review and helps automate Facebook email collection for research and outreach.

### What Can Facebook Profile Email Scraper Extract? 📊

This actor saves a clean set of profile-level fields that are useful for contact info extraction, social network data scraping, and Facebook account scraper workflows. The output is structured for easy review, filtering, and export, so you can quickly identify relevant leads and compare results across keywords and countries.

| Data Type | Field Name | Description |
|---|---|---|
| Discovery | `search_term` | The keyword that surfaced the profile |
| Identity | `profile_name` | The name shown for the profile |
| Navigation | `profile_url` | Direct link to the Facebook profile page |
| Context | `bio` | Public bio or profile text found for the result |
| Contact | `email_address` | Publicly available email address |
| Domain | `domain` | Email domain associated with the address |
| Classification | `type` | Email contact type selected for the run |
| Location | `country_code` | Country code for the selected target country |

#### Key Features of Facebook Profile Email Scraper ⚡

- ✅ **Keyword-Driven Search:** Use one or more search terms to find relevant Facebook profiles and uncover leads by niche, title, or industry.
- 🌍 **Country Targeting:** Focus your Facebook data extractor runs on a selected country to improve relevance for local outreach.
- 📧 **B2C or B2B Filtering:** Choose the email contact type that matches your lead generation goal.
- 🔄 **Reliable Scraping:** Includes retries and fallbacks for resilience, helping the actor keep working even when results are inconsistent.
- 📊 **Structured Dataset Output:** Every result is saved in a clear, labeled format that’s easy to analyze or export.
- 💾 **Run-Level Control:** Set a maximum number of emails to collect with `maxEmails` so you can manage run size and output volume.
- 🛡️ **Built-In Proxy Support:** Designed for reliable scraping of publicly available data with proxy support at a high level, without extra setup complexity.

### How to Use Facebook Profile Email Scraper 🚀

1. **Open the Actor** — Find Facebook Profile Email Scraper in the Apify Store and open it in the console.
2. **Add Search Keywords** — Enter one or more keywords such as job titles, industries, or niche topics.
3. **Choose a Target Country** — Select the country you want to focus on.
4. **Pick the Email Contact Type** — Choose either B2C or B2B.
5. **Set the Limit** — Define the maximum number of emails to collect with `maxEmails`.
6. **Run the Actor** — Start the run and monitor progress in the logs.
7. **Review and Export Results** — Open the dataset tab to inspect, filter, and export your data.

No coding required — just configure, run, and collect results.

### Facebook Profile Email Scraper Output Format 📦

The actor saves results to the Apify dataset in a structured JSON format. Each record contains the exact fields shown below, making it easy to use the results for Facebook lead scraping, analysis, or CRM workflows.

#### Input Example

```json
{
  "keywords": [
    "CEO",
    "Marketing",
    "Real Estate"
  ],
  "country": "United States",
  "emailType": "B2C",
  "maxEmails": 20
}
```

#### Output Example

```json
[
  {
    "search_term": "Marketing",
    "profile_name": "Jessica Miller",
    "profile_url": "https://www.facebook.com/jessica.miller.921",
    "bio": "Marketing consultant helping small businesses grow online.",
    "email_address": "jessica.miller@gmail.com",
    "domain": "gmail.com",
    "type": "B2C",
    "country_code": "us"
  }
]
```

| Field | Label | Format | Description |
|---|---|---|---|
| `search_term` | Search Term | text | The keyword used to find the profile |
| `profile_name` | Profile Name | text | The name associated with the Facebook profile |
| `profile_url` | Profile URL | link | Direct URL to the Facebook profile, shown as a clickable link |
| `bio` | Bio | text | Public bio or profile text captured with the result |
| `email_address` | Email Address | text | Public email address found for the profile |
| `domain` | Domain | text | Email domain extracted from the address |
| `type` | Type | text | The selected email contact type for the run |
| `country_code` | Country Code | text | Country code tied to the selected target country |

### 🎯 Use Cases of Facebook Profile Email Scraper

**B2B Lead Generation:** Build targeted lead lists by keyword and country for outbound campaigns. This is especially useful for profile contact scraping when you need business contacts from public Facebook profiles.

**Email Marketing Campaigns:** Find publicly available emails for outreach, newsletters, and follow-up sequences. The Facebook email finder workflow helps reduce manual prospecting time.

**Market Research:** Study how different communities, professionals, or local businesses present themselves on Facebook. Social network data scraping can support audience and competitor analysis.

**CRM Enrichment:** Add email addresses, profile names, and profile URLs to existing records for cleaner contact data and better segmentation.

**Recruitment and Partnerships:** Discover professionals and creators with public contact details, making it easier to start conversations without spending hours on manual research.

### How Much Will Facebook Profile Email Scraper Cost You? 💰

Pricing depends on your Apify usage and run volume. This actor helps control cost with the `maxEmails` setting, so you can cap how many emails are collected in each run. For smaller tests, start with the default value and scale up only when you’re happy with the results. That makes it a practical email lookup tool for both occasional and repeated use.

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

This actor accesses only publicly available data from Facebook profiles and does not require private access or login-based content. However, you are responsible for using the results in line with applicable laws, Facebook’s terms, and your local data privacy and anti-spam rules. Use the data for legitimate research, marketing, or recruitment purposes. For questions, support, or feedback, contact <scrapido.support@gmail.com>.

### Facebook Profile Email Scraper Input Parameters 📋

```json
{
  "keywords": [
    "CEO",
    "Marketing",
    "Real Estate"
  ],
  "country": "United States",
  "emailType": "B2C",
  "maxEmails": 20
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `keywords` | Array | Yes | `["CEO", "Marketing", "Real Estate"]` | One or more search terms to find Facebook profiles |
| `country` | String | Yes | `United States` | The target country used to focus the run |
| `emailType` | String | Yes | `B2C` | Choose whether you want B2C or B2B email contact types |
| `maxEmails` | Integer | Yes | `20` | Maximum number of emails to collect in one run |

### During the Actor Run ⏱️

While the actor is running, you can follow progress in the logs and watch results appear in the dataset as they are collected. The runtime depends on your keywords, target country, and the number of emails you want to collect. If results are too limited, try broader keywords or test a different email contact type.

### Final Note ✉️

Start collecting Facebook profile emails in minutes with no manual copy-pasting. The Facebook Profile Email Scraper helps you turn public profile data into actionable leads at scale 📬

### FAQ — Facebook Profile Email Scraper ❓

#### How does Facebook Profile Email Scraper find emails?

It uses your search keywords and country settings to find relevant Facebook profiles, then collects publicly available email addresses and profile details from the results. It focuses on contact info extraction from public web data.

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

You can scrape public Facebook profiles that have visible profile information and publicly available email addresses. Profiles without public contact details will not produce email results.

#### What does Facebook Profile Email Scraper extract besides emails?

Besides `email_address`, the actor also captures `search_term`, `profile_name`, `profile_url`, `bio`, `domain`, `type`, and `country_code`, giving you a fuller view of each lead.

#### Why use a Facebook email finder instead of manual research?

A Facebook email finder saves time by automating profile review and result collection. Instead of checking profiles one by one, you can collect structured leads in a single run.

#### How much does Facebook Profile Email Scraper cost to use?

Your cost depends on Apify usage and how large you make each run. The `maxEmails` parameter helps you control the scope of the run and keep spending predictable.

#### Is Facebook profile scraping suitable for lead generation?

Yes, it’s a strong fit for Facebook lead scraping when you need publicly available contacts for outreach, partnerships, or research. It’s especially useful for social profile email scraper workflows.

#### Can I use this as a Facebook username to email tool?

Yes, if a public profile contains a visible email address, this actor can help you turn that profile into a contact lead. It works as a practical Facebook username to email lookup tool for public data.

#### How do I get help or share feedback?

For support, questions, or feature requests, contact <scrapido.support@gmail.com>.

### Multiple Email Types

**Email Types** replaces the old single Audience Type choice: select as many
kinds of mailbox as you want and the run chases all of them together.

| Type | What it matches |
| --- | --- |
| Personal / free webmail | Gmail, Outlook, Yahoo, iCloud, AOL, Proton, ... |
| Business / corporate | Company domains - free webmail and institutions excluded |
| Education (.edu / .ac) | `.edu`, `.ac.uk`, `.edu.au`, `.ac.in` and other academic suffixes |
| Government (.gov / .mil) | `.gov`, `.mil`, `.gov.uk`, `.gc.ca`, ... |
| Non-profit (.org) | `.org`, `.ngo`, `.org.uk`, ... |

Each selected type contributes its own Google dork patterns *and* its own domain
test, so a result is only kept if it genuinely belongs to the type that found
it. Every row carries an `emailType` field recording which one that was.

Suffixes are matched as real domain suffixes, so `cs.mit.edu` counts as
Education while `notedu.com` does not.

Setting **Custom Email Domains** still overrides everything: an explicit domain
list is a manual override and replaces the type-driven patterns. The legacy
`audienceType` value is still accepted, so saved inputs keep working.

# Actor input Schema

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

Enter one or more keywords to search for on Facebook.

## `country` (type: `string`):

Specify the country to target for Google search results.

## `emailType` (type: `string`):

Choose one — B2C or B2B.

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

Enter the maximum number of emails to collect.

## `emailTypes` (type: `array`):

Which kinds of mailbox to hunt for. Pick as many as you like - each type contributes its own set of Google search patterns and its own domain filter, and every result records the type it was found as. Personal = free webmail (Gmail, Outlook, Yahoo, iCloud). Business = company domains, excluding free webmail and institutions. Education = .edu / .ac.uk and friends. Government = .gov / .mil. Non-profit = .org.

## Actor input object example

```json
{
  "keywords": [
    "CEO",
    "Marketing",
    "Real Estate"
  ],
  "country": "United States",
  "emailType": "B2C",
  "maxEmails": 20,
  "emailTypes": [
    "Personal",
    "Business"
  ]
}
```

# 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": [
        "CEO",
        "Marketing",
        "Real Estate"
    ],
    "emailTypes": [
        "Personal",
        "Business"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapido/facebook-profile-email-scraper").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": [
        "CEO",
        "Marketing",
        "Real Estate",
    ],
    "emailTypes": [
        "Personal",
        "Business",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapido/facebook-profile-email-scraper").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": [
    "CEO",
    "Marketing",
    "Real Estate"
  ],
  "emailTypes": [
    "Personal",
    "Business"
  ]
}' |
apify call scrapido/facebook-profile-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapido/facebook-profile-email-scraper"
        }
    }
}

```

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/8T5SYQLTWeLu7MNUB/builds/akxZNCDTGvaB6vGAe/openapi.json
