# 🚀 Leads Scraper (`scrapeengine/leads-scraper`) Actor

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

## Pricing

from $3.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

## 🚀 Leads Scraper — Verified B2B Emails & Contact Data

Extract thousands of high-quality B2B leads from a **700M+ record database** with Apollo-style filters. Get verified work emails, phone numbers, LinkedIn URLs, and full company profiles — all in one run.

***

### Why choose this Actor?

- ⚡ **High throughput** — up to 30,000 leads per run, streamed in real time
- ✅ **Verified emails** — filter for Verified status only, or pull all available
- 📞 **Phone coverage** — first phone, mobile, and corporate numbers where available
- 🏢 **Rich company data** — employees, industry, revenue, funding, LinkedIn followers
- 💰 **Pay-per-lead** — you only pay for what you get (PPE pricing)
- 🔄 **Retry resilience** — automatic connection retries with exponential backoff

***

### Key Features

- Filter by **name, job title, seniority, department, location** (person & company)
- Filter by **company size, industry, revenue, funding type & date**
- Filter by **specific company domains** (up to 10)
- Real-time progress in the Apify Console log
- Output saved incrementally — partial results survive a crash
- Structured output matches Apollo / ZoomInfo style

***

### Input

```json
{
  "totalResults": 100,
  "seniority": ["director", "vp"],
  "functional": ["marketing"],
  "personCountry": ["United States"],
  "contactEmailStatus": "verified"
}
```

| Field | Type | Description |
|---|---|---|
| `totalResults` | integer | Max leads to return (1–30,000) |
| `firstName` | string | Exact first name filter |
| `lastName` | string | Exact last name filter |
| `personTitle` | array | Job title keywords (partial match) |
| `seniority` | array | Seniority levels: `entry`, `manager`, `director`, `senior`, `vp`, `c_suite`, `owner`, `head`, `partner`, `founder`, `intern` |
| `functional` | array | Departments: `sales`, `marketing`, `engineering`, `finance`, etc. |
| `personCountry` | array | Person's country (full name) |
| `personState` | array | Person's state/region |
| `contactEmailStatus` | string | `verified` or `any` |
| `companyEmployeeSize` | array | Size ranges, e.g. `["51-200", "201-500"]` |
| `industry` | array | Company industry (exact) |
| `industryKeywords` | array | Industry keywords (partial match) |
| `revenue` | array | Revenue ranges, e.g. `["1M-10M", "10M-50M"]` |
| `fundingType` | array | Latest funding type, e.g. `["Series A", "Seed"]` |
| `fundingFromDate` | string | Funding from date (YYYY-MM-DD) |
| `fundingToDate` | string | Funding to date (YYYY-MM-DD) |
| `companyCountry` | array | Company's country |
| `companyState` | array | Company's state |
| `companyDomain` | array | Specific company domains (up to 10) |
| `proxyConfiguration` | object | Proxy settings (default: direct connection) |

***

### Output

Each lead row contains:

```json
{
  "email": "john.smith@acme.com",
  "firstName": "John",
  "lastName": "Smith",
  "fullName": "John Smith",
  "title": "VP of Marketing",
  "seniority": "vp",
  "departments": "marketing",
  "emailStatus": "Verified",
  "emailScore": "0.95",
  "emailIsDeliverable": null,
  "emailIsCatchAll": null,
  "emailIsRoleAccount": null,
  "emailIsFree": null,
  "linkedinUrl": "https://www.linkedin.com/in/johnsmith",
  "city": "New York",
  "state": "New York",
  "country": "United States",
  "firstPhone": "+1-555-123-4567",
  "mobilePhone": null,
  "corporatePhone": null,
  "companyId": "acme-corp-123",
  "companyName": "Acme Corp",
  "companyDomain": "acme.com",
  "companyWebsite": "https://acme.com",
  "companyLinkedinUrl": "https://www.linkedin.com/company/acme",
  "companyPhone": null,
  "companyCity": "New York",
  "companyState": "New York",
  "companyCountry": "United States",
  "companyEmployees": 500,
  "companyIndustry": "software",
  "companyKeywords": "saas, crm, automation",
  "companyAnnualRevenue": 50000000,
  "companyTotalFunding": 120000000,
  "companyLatestFunding": "Series B",
  "companyLatestFundingAmount": 40000000,
  "companyLastRaisedAt": "2023-06-15",
  "companyFoundedYear": 2015,
  "companyLinkedinFollowers": 12400
}
```

***

### 🚀 How to Use (via Apify Console)

1. Log in at [console.apify.com](https://console.apify.com) → **Actors**.
2. Find **Leads Scraper** and click it.
3. Set your filters (seniority, country, department, etc.).
4. Click **Start**.
5. Watch the real-time log for progress updates.
6. Open the **Output** tab when done.
7. Export to **JSON / CSV / Excel**.

***

### Best Use Cases

- 🎯 Building targeted outreach lists for B2B sales
- 📧 Enriching CRM contacts with verified emails
- 🏢 Recruiting — find candidates by title and location
- 📊 Market research — aggregate company and personnel data
- 🔍 Competitive analysis by industry / funding / size

***

### Pricing

This Actor uses **Pay-Per-Event** pricing. You are charged per lead returned. The Actor exits gracefully when your spending limit is reached — no wasted charges.

***

### Frequently Asked Questions

**Q: How fresh is the data?**\
The database is updated regularly with new and enriched lead records.

**Q: What email coverage should I expect?**\
\~70% of leads have a work email. Verified-only filter removes unconfirmed addresses.

**Q: Can I filter by multiple countries?**\
Yes — pass an array: `["United States", "Canada", "United Kingdom"]`.

**Q: What happens if the run is interrupted?**\
Results are saved incrementally. Leads collected before the interruption are preserved.

***

### Support

For issues or feature requests, please open a thread in the Apify Store or contact support via the Apify Console.

# Actor input Schema

## `totalResults` (type: `integer`):

Total number leads to fetch up to 30K leads per run

## `contactEmailStatus` (type: `string`):

Email verification status

## `includeEmails` (type: `boolean`):

Let the Actor enrich leads with emails (ALWAYS ON)

## `firstName` (type: `string`):

First name of the person

## `lastName` (type: `string`):

Last name of the person

## `personTitle` (type: `array`):

Titles like marketing manager, sales rep etc

## `seniority` (type: `array`):

Filter individuals by their current job seniority level.

## `functional` (type: `array`):

Filter by department/function

## `personCountry` (type: `array`):

The person's current country of residence.

## `personState` (type: `array`):

The person's current state of residence

## `companyEmployeeSize` (type: `array`):

Employee size ranges.

## `companyDomain` (type: `array`):

Company domain names. Max 10 e.g github.com (🚫 without www or https)

## `industry` (type: `array`):

Specify one or more industries to filter companies.

## `industryKeywords` (type: `array`):

Keywords related to the industry

## `revenue` (type: `array`):

Revenue range of the company

## `businessModel` (type: `array`):

Type of business model the company follows.

## `companyCountry` (type: `array`):

The company's headquarters country

## `companyState` (type: `array`):

The company's headquarters state

## `fundingType` (type: `array`):

Funding type of the company

## `fundingFromDate` (type: `string`):

Funding events from a specific start date.

## `fundingToDate` (type: `string`):

Funding events from a specific end date.

## `proxyConfiguration` (type: `object`):

Configure proxy settings. By default no proxy is used (direct database connection). If the connection is rejected, the actor automatically retries with exponential backoff.

## Actor input object example

```json
{
  "totalResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapeengine/leads-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 = { "proxyConfiguration": { "useApifyProxy": False } }

# Run the Actor and wait for it to finish
run = client.actor("scrapeengine/leads-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 '{
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapeengine/leads-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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