🚀 Leads Scraper avatar

🚀 Leads Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
🚀 Leads Scraper

🚀 Leads Scraper

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

ScraperX

ScraperX

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

🚀 Leads Scraper — B2B Contact Database with Verified Emails, Phones & Company Data

Filter a 700M+ B2B lead database by job title, seniority, department, location, company size, industry, revenue and funding — and export up to 30,000 leads per run with verified e-mail addresses, direct and mobile phone numbers, LinkedIn URLs and full company profiles.

No scraping targets to configure, no URL lists, no cookies. Set your filters, press start, and leads stream into your dataset.


What you get

👤 Person📧 E-mail quality🏢 Company
First, last and full nameVerified statusName, domain, website
Job titleOverall deliverability scoreLinkedIn URL and follower count
Seniority levelDeliverable flagPhone number
Departments / functionCatch-all flagCity, state, country
LinkedIn profile URLRole-account flagEmployee count
City, state, countryFree-provider flagIndustry and keywords
Direct, mobile and corporate phoneAnnual revenue
Total funding, latest round, amount and date
Founded year

Key features

  • Filter, don't scrape. This Actor queries a prepared B2B database rather than crawling websites, so results arrive in seconds and are consistent run to run.
  • E-mail quality signals, not just addresses. Every lead carries email_status, an overall score, and flags for deliverable, catch-all, role account (info@, sales@) and free provider. That is the difference between a list you can safely send to and one that wrecks your sender reputation.
  • Three phone fields. Direct, mobile and corporate numbers are returned separately, so a sales team can prioritise mobile over switchboard.
  • Funding-based targeting. Filter by funding type and a date range to reach companies that have just raised — the single strongest buying signal in B2B.
  • Deep company firmographics. Employee count, revenue, industry, keywords, LinkedIn followers and founded year come attached to every lead, so no enrichment step is needed.
  • Person and company geography. Filter on where the person lives and where the company is headquartered — they are frequently different, and the distinction matters for territory planning.
  • Up to 30,000 leads per run, streamed live into the dataset with progress logging as they arrive.
  • Verified-only mode. Set the e-mail status filter to verified for the cleanest possible list (at the cost of volume).

Use cases

  • Outbound sales prospecting — build targeted lists by title, seniority and company size.
  • Account-based marketing — filter to specific company domains and pull every relevant contact.
  • Funding-triggered outreach — companies that raised in the last quarter have budget and urgency.
  • Recruitment sourcing — find people by title, seniority and location.
  • Market sizing — count how many companies and contacts match your ICP.
  • CRM enrichment — fill in missing phones, LinkedIn URLs and firmographics.
  • Territory planning — split lists by person state or company headquarters.
  • Partner and reseller recruitment — filter by industry, business model and revenue band.

How it works

  1. You set filters — any combination of person, company and funding criteria.
  2. A query is built against the lead database with your filters applied.
  3. Matching leads are streamed into the dataset as they are read, with progress logged every 50 rows.
  4. Each row is normalised into a consistent, flat structure combining person, e-mail quality and company fields.
  5. The run stops when your total is reached or the matching set is exhausted.

Quick start

  1. Open the Actor and set Total Results (e.g. 500).
  2. Add at least one filter — for example Person Title marketing manager and Person Country United States.
  3. (Optional) Set Email Status to verified for the cleanest list.
  4. Click Start, then export the Output tab as CSV, Excel or JSON.

Minimal input

{
"totalResults": 500,
"personTitle": ["marketing manager"],
"personCountry": ["United States"]
}

Input configuration

Run settings

FieldTypeDefaultDescription
totalResultsinteger100How many leads to fetch. Clamped to a minimum of 100 and a maximum of 30,000 per run.
contactEmailStatusstringSet to verified to keep only verified e-mails. Produces a cleaner but smaller list.
includeEmailsbooleanonE-mail enrichment is always on.

Person filters

FieldTypeDescription
firstNamestringFirst name.
lastNamestringLast name.
personTitlearrayJob titles, e.g. marketing manager, sales rep.
seniorityarraySeniority level — founder, owner, partner, C-suite, VP, director, head, manager, senior, entry, intern.
functionalarrayDepartment / function.
personCountryarrayThe person's country of residence.
personStatearrayThe person's state of residence.

Company filters

FieldTypeDescription
companyDomainarrayCompany domains — max 10, without www or https (e.g. github.com).
companyEmployeeSizearrayEmployee-count ranges.
industryarrayOne or more industries.
industryKeywordsarrayKeywords related to the industry.
revenuearrayCompany revenue ranges.
businessModelarrayBusiness model type.
companyCountryarrayCompany headquarters country.
companyStatearrayCompany headquarters state.

Funding filters

FieldTypeDescription
fundingTypearrayFunding round type.
fundingFromDatestringFunding events from this date.
fundingToDatestringFunding events up to this date.

Network

FieldTypeDefaultDescription
proxyConfigurationobjectno proxyNo proxy by default. If the connection is rejected, the Actor retries automatically with exponential backoff.

Output data

One row per lead.

Person

first_name, last_name, full_name, title, seniority, departments, person_linkedin_url, person_city, person_state, person_country.

Contact

email, first_phone, mobile_phone, corporate_phone.

E-mail quality

email_status, email_overall_score, email_is_deliverable, email_is_catch_all, email_is_role_account, email_is_free.

Company

company_id, company_name, company_domain, company_website, company_linkedin_url, company_phone, company_city, company_state, company_country, company_employees, company_industry, company_keywords, company_annual_revenue, company_total_funding, company_latest_funding, company_latest_funding_amount, company_last_raised_at, company_founded_year, company_linkedin_followers.

Example output

{
"first_name": "Alex",
"last_name": "Example",
"full_name": "Alex Example",
"title": "Head of Marketing",
"seniority": "head",
"departments": "marketing",
"email": "alex.example@examplesystems.com",
"email_status": "verified",
"email_overall_score": 95,
"email_is_deliverable": true,
"email_is_catch_all": false,
"email_is_role_account": false,
"email_is_free": false,
"first_phone": "+1 212-555-0142",
"mobile_phone": "+1 917-555-0188",
"corporate_phone": "+1 212-555-0100",
"person_linkedin_url": "https://www.linkedin.com/in/alex-example",
"person_city": "New York",
"person_state": "New York",
"person_country": "United States",
"company_name": "Example Systems",
"company_domain": "examplesystems.com",
"company_website": "https://examplesystems.com",
"company_linkedin_url": "https://www.linkedin.com/company/example-systems",
"company_employees": 340,
"company_industry": "Computer Software",
"company_annual_revenue": "$25M-$50M",
"company_total_funding": 48000000,
"company_latest_funding": "Series B",
"company_latest_funding_amount": 30000000,
"company_last_raised_at": "2026-05-14",
"company_founded_year": 2016,
"company_linkedin_followers": 18420
}

Illustrative values — a live run returns real database records.


Usage examples

Marketing decision-makers at mid-sized US SaaS companies

{
"totalResults": 2000,
"personTitle": ["marketing manager", "head of marketing", "cmo"],
"seniority": ["head", "director", "c_suite"],
"companyEmployeeSize": ["51-200", "201-500"],
"industry": ["Computer Software"],
"companyCountry": ["United States"],
"contactEmailStatus": "verified"
}

Recently funded companies

{
"totalResults": 1000,
"fundingType": ["Series A", "Series B"],
"fundingFromDate": "2026-01-01",
"fundingToDate": "2026-08-01",
"seniority": ["c_suite", "vp"]
}

Fresh funding plus a senior title is the highest-intent combination in the whole filter set.

Account-based marketing on named accounts

{
"totalResults": 500,
"companyDomain": ["github.com", "stripe.com", "figma.com"],
"functional": ["engineering", "product"]
}

Remember the 10-domain maximum.

Founders at early-stage companies

{
"totalResults": 3000,
"seniority": ["founder", "owner"],
"companyEmployeeSize": ["1-10", "11-50"],
"personCountry": ["United Kingdom"]
}

Maximum-quality list

Set contactEmailStatus to verified, then filter your export for email_is_role_account: false and email_is_catch_all: false — what remains is as clean as it gets.


Run it from your own code

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run = client.actor("scraperx/leads-scraper").call(run_input={
"totalResults": 1000,
"personTitle": ["marketing manager"],
"personCountry": ["United States"],
"contactEmailStatus": "verified",
})
for lead in client.dataset(run["defaultDatasetId"]).iterate_items():
print(lead["full_name"], "|", lead["title"], "|", lead["email"], "|", lead["company_name"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_API_TOKEN>' });
const run = await client.actor('scraperx/leads-scraper').call({
totalResults: 1000,
personTitle: ['marketing manager'],
personCountry: ['United States'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

cURL

curl -X POST "https://api.apify.com/v2/acts/scraperx~leads-scraper/runs?token=<YOUR_APIFY_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"totalResults":1000,"personTitle":["marketing manager"],"personCountry":["United States"]}'

Integrations

Push leads straight into Google Sheets, Airtable, Slack, Make, Zapier, Google Drive or your CRM and sequencer via webhooks, and use Schedules to top up your pipeline on a regular cycle.


Pricing

This Actor uses Apify's pay-per-event model. Current rates are shown on the Pricing tab of this Actor's page, and Apify displays an estimated cost before and during every run.

Cost tip: run a small totalResults first to check that your filter combination returns the right kind of leads, then scale up. Over-narrow filters can return far fewer rows than you expect.


Limits & good to know

  • totalResults is clamped to 100–30,000. Values below 100 are raised, values above 30,000 are capped.
  • Maximum 10 company domains per run, and they must be bare domains — no www, no https://.
  • Verified-only means fewer leads. It is the right choice for deliverability, the wrong one for volume.
  • Narrow filters compound. Combining many restrictive filters can return very few rows; loosen one at a time to see which is binding.
  • Coverage varies by field. Mobile phones and funding data are less complete than e-mails and job titles — expect empty values in some rows.
  • Person and company locations are separate filters. A US-based employee can work for a UK-headquartered company; filter accordingly.
  • Verify before large sends. Even verified addresses age; run a fresh verification pass before a big campaign.
  • Default run options are 4 GB memory and a 1-hour timeout — raise the timeout for 30,000-lead runs.

FAQ

Where does the data come from? A prepared B2B contact database, queried directly with your filters — this Actor does not crawl live websites.

How many leads can I get in one run? Up to 30,000, with a minimum of 100.

What does "verified" mean? The e-mail has passed verification. You also get a numeric quality score and flags for deliverable, catch-all, role account and free provider so you can apply your own standard.

Do I get phone numbers? Yes — direct, mobile and corporate numbers as separate fields, where available.

Can I target companies that just raised money? Yes. Use fundingType with fundingFromDate and fundingToDate — one of the strongest buying signals available.

How many company domains can I filter by? Up to 10 per run, without www or https.

Why did I get fewer leads than requested? Your filter combination matched fewer records. Relax the most restrictive filter — usually verified-only status, a narrow title list, or a small employee-size band.

Which export formats are supported? JSON, CSV, Excel (XLSX), XML and RSS. CSV works perfectly — the rows are flat.


This Actor returns business contact data about identifiable individuals — names, work e-mail addresses, phone numbers and employers. That is personal data under GDPR, the UK GDPR, CCPA/CPRA and comparable regimes, even though it is business-related.

Before contacting anyone, make sure you have a lawful basis (legitimate interest usually requires a genuine, documented assessment), identify yourself clearly in every message, provide a working opt-out and honour it immediately, respect do-not-call registries when phoning, and keep the data secure and access-controlled. Several jurisdictions require prior consent for B2B e-mail marketing — check the rules for the country you are contacting, not just your own.

Support

Need additional filters, extra fields, or a custom lead-generation pipeline? Open an issue on the Issues tab of this Actor.