# Facebook B2b Email Scraper (`solid-scraper/facebook-b2b-email-scraper`) Actor

🚀 Find high-intent B2B leads with our Email Scraper for targeted outreach. Extract emails by keywords, industry & location—fast, accurate, and built for sales & marketing teams. 📩 Save time, grow pipeline, close more deals.

- **URL**: https://apify.com/solid-scraper/facebook-b2b-email-scraper.md
- **Developed by:** [SolidScraper](https://apify.com/solid-scraper) (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.99 / 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 B2b Email Scraper 📬

**Facebook B2b Email Scraper** extracts business contact emails from publicly available Facebook content so you can build lead lists faster. If you’re looking for a **Facebook B2B email scraper** or a **Facebook lead email scraper**, this actor helps you discover relevant prospects by **keywords**, **country targeting**, and **content type**—saving you hours of manual research at scale.

***

### Why choose Facebook B2b Email Scraper?

| Feature | Benefit |
|---|---|
| ✅ **All-in-one Facebook email extraction** | Extracts emails and associated profile context in one run for lead generation and prospecting. |
| ✅ **Scrape from multiple content types** | Lets you target **All**, **Profiles**, **Reels**, **Posts**, **Groups**, **Videos**, **Photos**, **Events**, or **Marketplace**. |
| ✅ **Engine choice for reliability** | Use **Cost Effective (New)** or **Legacy** engine based on your speed vs. reliability needs. |
| ✅ **Controlled collection with max limit** | Stops at your requested **Max Emails** to keep results predictable and cost-aware. |
| ✅ **Structured dataset output** | Produces a clean table-ready dataset with fields like `email`, `email_domain`, `url`, and `keyword`. |
| ✅ **Country targeting** | Uses your selected `country` to focus results on a specific market (useful for B2B email list builder workflows). |

***

### Key features

- 🔍 **Facebook B2B prospecting email extraction**: Extracts business emails from Facebook pages/groups/profiles depending on your chosen `scrapeFrom` scope.
- 🧩 **Flexible search inputs**: Supports one or more `keywords` so you can run **Facebook contact email extractor** workflows by niche (e.g., “fitness”, “gym”, “workout”).
- 🌍 **Country-based targeting**: Choose a country to focus the extraction for **Facebook business email finder** use cases.
- 🛡️ **Engine options for different needs**: Pick **cost-effective** for faster/cheaper scraping or **legacy** for traditional, more reliable scraping behavior.
- 🔄 **Resilient scraping flow**: Includes retries and fallback behavior designed to improve outcome stability across runs.
- 💾 **Dataset saves in a structured format**: Each found email is pushed to the **Facebook Email Data** dataset with consistent fields for analysis.
- 📊 **Email and domain are both captured**: Helps you segment leads using both `email` and `email_domain` for smoother CRM and outreach operations.

***

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "keywords": [
    "fitness",
    "gym",
    "workout"
  ],
  "country": "United States",
  "scrapeFrom": "All",
  "engine": "legacy",
  "maxEmails": 20
}
```

#### Input Fields

| Field | Required | Description |
|---|---:|---|
| `keywords` | ✅ | Enter one or more keywords to search for on Facebook. |
| `country` | ✅ | Specify the country to target for results. |
| `scrapeFrom` | ✅ | Choose what type of Facebook content to scrape: `All`, `Profiles`, `Reels`, `Posts`, `Groups`, `Videos`, `Photos`, `Events`, or `Marketplace`. |
| `engine` | ❌ | Choose scraping engine: `cost-effective` (Cost Effective (New)) or `legacy` (Legacy). Default is `legacy`. |
| `maxEmails` | ✅ | The maximum number of emails to collect (min 1, max 10000; default 20). |

***

### Output

The actor saves each extracted email record in JSON format in the **Facebook Email Data** dataset.

Example output records:

```json
[
  {
    "keyword": "fitness",
    "title": "Example Page or Profile Title",
    "url": "https://www.facebook.com/example",
    "description": "Example public description text",
    "email": "contact@example.com",
    "email_domain": "example.com",
    "scrape_from": "Profiles",
    "country": "United States"
  }
]
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `keyword` | string | The keyword that led to this contact being scraped. |
| `title` | string | The title of the scraped Facebook entity (profile/page/group/etc.). |
| `url` | string | The URL of the Facebook entity where the contact was found. |
| `description` | string | Cleaned public description/context text from the entity. |
| `email` | string | The extracted email address. |
| `email_domain` | string | The domain part of the extracted email (e.g. `example.com`). |
| `scrape_from` | string | Where the actor scraped from (your selected content type like `Profiles`, `Groups`, etc.). |
| `country` | string | The country selected for the run. |

> Note: The dataset is displayed as a table with an email “Email Domain” column and a “View Profile” link derived from `url`.

***

### How to use Facebook B2b Email Scraper (via Apify Console)

1. **Open Apify Console**\
   Log in at https://console.apify.com and go to the **Actors** section.

2. **Find Facebook B2b Email Scraper**\
   Search for the actor and open its detail page.

3. **Go to the Input section**\
   Use the built-in form to enter `keywords`, `country`, `scrapeFrom`, and `maxEmails`.

4. **Choose your scope (Scrape From)**\
   Set `scrapeFrom` to `All` to cover multiple Facebook content types, or select one option like `Groups` or `Profiles` for tighter targeting.

5. **Pick an engine (Engine)**\
   If you want faster, cost-aware scraping, select **cost-effective**.\
   If you prefer the **Legacy** engine, keep `engine` as `legacy`.

6. **Run the actor**\
   Click **Run**. During execution you’ll see progress in the logs as the actor continues scraping and pushing results.

7. **Open the dataset output**\
   After completion, open the **Facebook Email Data** dataset and review the table (keyword, title, URL, description, email, email domain, scrape source, country).

8. **Export your results**\
   Export the dataset from the Apify UI (e.g., JSON/CSV options depending on your workflow).

No coding required — get accurate Facebook lead email scraper results in minutes.

***

### Advanced features & SEO optimization

- 🚀 **Engine selection for different priorities**: Designed to support both **cost-effective** and **legacy** workflows so your Facebook business email finder can fit your project timeline.
- 🧠 **Keyword-driven B2B email discovery**: Engineered to excel at Facebook B2B prospecting tool use cases where you want automated Facebook contact information scraper results by niche.
- 💾 **Structured, analyst-friendly output**: The actor consistently pushes records with `email` and `email_domain`, making Facebook email list builder exports straightforward.
- 🧯 **Resilience improvements for real-world scraping**: Includes retries and fallback behavior to improve extraction stability across runs.
- 🌐 **Built for targeted market research**: The `country` parameter helps tailor output for B2B lead generation with Facebook emails.

***

### Best use cases

- 📈 **Lead generation for B2B outreach**: Build a Facebook email list builder dataset of business emails by niche and country to jumpstart campaigns.
- 🎯 **Facebook marketing lead database building**: Use `scrapeFrom` + `keywords` to expand your lead universe beyond a single page type.
- 🔎 **Sales prospecting with email domains**: Enrich targeting by grouping prospects using `email_domain` (useful for business email finder workflows).
- 🧪 **Market research on Facebook communities**: Extract emails from entities like `Groups` to understand who actively manages community presence.
- 🗂️ **Data analysis and segmentation**: Analyze which keywords and content types produce the most contactable businesses using the structured dataset fields.
- 🧰 **CRM integration pipelines**: Export results as JSON and map `url`, `email`, and `email_domain` into your CRM for automated follow-up systems.
- 🧑‍💻 **Automated prospecting at scale**: Use `maxEmails` to cap collection and run repeatable prospecting jobs (Facebook email scraping software style).

***

### Technical specifications

- **Supported Input Formats**
  - ✅ JSON input with `keywords`, `country`, `scrapeFrom`, and `maxEmails`
  - ✅ Optional `engine` selection: `cost-effective` or `legacy`

- **Proxy Support**
  - ✅ Built-in proxy support for reliable scraping (engine-dependent behavior)

- **Retry Mechanism**
  - ✅ Includes retries and fallbacks for resilience during scraping runs

- **Dataset Structure**
  - ✅ Dataset title: **Facebook Email Data**
  - ✅ Fields pushed to dataset: `keyword`, `title`, `url`, `description`, `email`, `email_domain`, `scrape_from`, `country`

- **Rate Limits & Performance**
  - ⚠️ Execution speed varies by `engine`, selected scope (`scrapeFrom`), and target availability
  - ✅ `maxEmails` provides cost control by limiting collection

- **Limitations**
  - ❌ Only extracts from publicly available sources
  - ❌ Some entities may not contain contact emails, so results depend on what’s publicly listed

***

### FAQ

#### Do I need to use the Engine option?

You don’t have to. If you omit `engine`, the default is `legacy`. If you want a more cost-effective approach, switch to `cost-effective`.

#### What does `scrapeFrom` do?

`scrapeFrom` controls which type(s) of Facebook content the actor extracts from. You can choose `All`, `Profiles`, `Groups`, `Marketplace`, and other supported content types.

#### How many emails will I get?

The actor will collect up to `maxEmails`. This value is your cap for the maximum number of emails to collect during the run.

#### Can I scrape multiple niches at once?

Yes. Provide multiple items in `keywords` (for example, `fitness`, `gym`, `workout`) to run a combined extraction based on your input.

#### What fields are included in the dataset?

Each dataset record includes `keyword`, `title`, `url`, `description`, `email`, `email_domain`, `scrape_from`, and `country`.

#### Does it support exporting results to other tools?

Yes. After the run, you can export the dataset from Apify in common formats (for example JSON/CSV depending on your Apify workflow) and then load it into your stack.

#### Is this legal and compliant?

✅ The actor is intended to work with **publicly accessible sources**. It’s your responsibility to ensure your usage complies with applicable laws (including GDPR/CCPA where relevant), spam regulations, and platform policies.

***

### Support & feature requests

If you’re using **Facebook B2b Email Scraper** and want improvements, we’re happy to hear feedback.

- 💡 **Feature Requests**: For example, you can request enhancements like additional export options, new filtering logic, or expanded output needs for your Facebook lead email scraper workflows.
- 📧 **Contact**: Reach out at <dataforleads@gmail.com>

Your feedback helps shape future updates and makes the Facebook B2B email scraper even more useful for real-world lead generation.

***

### Closing CTA / Final thoughts

*Turn keywords into contactable leads faster with **Facebook B2b Email Scraper**—a practical, structured Facebook B2B prospecting tool built for scale.*

# 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.

## `scrapeFrom` (type: `string`):

Choose one option — All, Profiles, Reels, Posts, Groups, Videos, Photos, Events, or Marketplace.

## `engine` (type: `string`):

Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE\_SERP proxy with traditional selectors - more reliable but slower and more expensive.

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

Enter the maximum number of emails to collect.

## Actor input object example

```json
{
  "keywords": [
    "fitness",
    "gym",
    "workout"
  ],
  "country": "United States",
  "scrapeFrom": "All",
  "engine": "legacy",
  "maxEmails": 20
}
```

# 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": [
        "fitness",
        "gym",
        "workout"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/facebook-b2b-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": [
        "fitness",
        "gym",
        "workout",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/facebook-b2b-email-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": [
    "fitness",
    "gym",
    "workout"
  ]
}' |
apify call solid-scraper/facebook-b2b-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solid-scraper/facebook-b2b-email-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/GROjQcGfatHmk1Sak/builds/XUFgASXhYJLQjgReR/openapi.json
