People Finder & Email Verifier avatar

People Finder & Email Verifier

Pricing

from $17.00 / 1,000 person founds

Go to Apify Store
People Finder & Email Verifier

People Finder & Email Verifier

Find people at any company by seniority and department. Four-layer cascade: website, SERP, and database enrichment with company-match scoring. Two-provider email waterfall (Icypeas, Prospeo) plus catch-all verification (Reoon, BounceBan). No direct LinkedIn scraping.

Pricing

from $17.00 / 1,000 person founds

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

People Finder

Find senior decision-makers at any company, discover their email, and verify it actually delivers.

Give it a domain. It returns a flat row per person with name, title, normalized seniority and department, LinkedIn profile URL, verified email, and the evidence behind every match. Built for Clay, CRM enrichment, and outbound prospecting.


What's Inside


What it does

People Finder resolves a company domain into a list of the senior people you actually want to reach. It runs a four-layer cascade (cache, the company's own website, a search API, and a licensed contact database), stopping as soon as it has enough people who pass your filters. Every candidate is then company-match scored so you do not receive ex-employees, investors, or people at similarly-named companies. Survivors go through a two-provider email waterfall and a two-stage deliverability check that resolves catch-all domains instead of shrugging at them.


What makes it different

It never scrapes LinkedIn. Zero requests to linkedin.com — no page fetches, no cookies, no authentication, no session. Profile URLs come from a search provider's public index and from licensed database APIs. This is enforced in code at the HTTP transport layer, not left to convention.

Company matching, not keyword matching. A search for "Stripe" ("CRO" OR "VP of Sales") returns everyone whose page mentions Stripe: former employees, investors, advisors, and people at Stripes Clothing Co. This actor parses the current-position clause of the headline, the profile subtitle, semicolon-delimited role history, and comma-form employer names, then drops anyone who cannot be shown to currently work at the target. Measured on a 20-company benchmark: 554 candidates in, 219 kept, zero wrong-company results in the delivered set.

Seniority and department classification. Titles are normalized into nine seniority levels and fourteen departments by a deterministic rule table, so "Head of Revenue Operations", "VP, RevOps", and "CRO" all become filterable values. Ask for c_suite and you get C-level people, not Account Executives who mention the CEO.

Verification that resolves catch-alls. Most verifiers stop at "risky" on a catch-all domain and leave you guessing. This one escalates those addresses to a second provider that determines whether that specific mailbox exists. email_verified is only true on a definitive answer, only false on a definitive bounce, and null when genuinely unresolved — three distinct facts, never collapsed into two.


Quick start

{
"domain": "stripe.com",
"serpApiKey": "your-serper-key"
}

That returns five senior people at Stripe with LinkedIn URLs. Add filters and enrichment keys as you need them:

{
"domain": "stripe.com",
"targetCount": 10,
"seniority": ["c_suite", "vp", "head"],
"departments": ["sales", "marketing"],
"serpApiKey": "your-serper-key",
"icypeasApiKey": "your-icypeas-key",
"reoonApiKey": "your-reoon-key"
}

API keys

Every key is yours. You supply it, the provider bills you directly, and this actor never sees, stores, logs, or marks up a third-party credential. Keys are isSecret fields, encrypted by Apify, and are redacted from run logs.

The actor works with no keys at all — it will parse the company's own team page and return whoever it finds there. Each key unlocks one more layer.

KeyUnlocksGet it atWithout it
serpApiKeyThe search layer. The single biggest lever on how many people you get.serper.devResults come from the company website only. Measured at 0.65 people/company.
icypeasApiKeyThe database layer (fills whatever the first three layers miss) and the first email provider.icypeas.comAny shortfall is reported in the run summary; email discovery falls to Prospeo.
prospeoApiKeyThe second email provider. Runs only for people the first could not resolve.prospeo.ioEmail discovery relies on Icypeas alone.
reoonApiKeyEmail verification. Deliverability status per address.reoon.comEmails are returned unverified, email_verified: null.
bounceBanApiKeyCatch-all resolution. Runs only on addresses the primary verifier could not settle.bounceban.comCatch-all addresses stay catch_all with email_verified: null.
claudeApiKeyLLM fallback for job titles the rule table cannot classify. One batched call per run, never per person.console.anthropic.comThose specific rows have seniority and department as null. Nothing else is affected.

Recommended minimum for real prospecting: a Serper key. For full contact records: Serper + Icypeas + Reoon.


Input reference

Company target (provide at least one)

FieldTypeDefaultDescription
domainstringBare domain, no scheme or trailing slash. stripe.com
domainsarrayBatch list of bare domains. Takes precedence over domain. Every output row echoes its source domain.
company_namestringUsed when no domain is available, or as a disambiguation hint alongside one.
linkedin_company_urlstringhttps://www.linkedin.com/company/stripe. Skips internal company resolution.

API keys (all optional, all secret)

FieldTypeDescription
serpApiKeystring (secret)Serper.dev key. Unlocks the search layer.
icypeasApiKeystring (secret)Icypeas key. Unlocks the database layer and the first email provider.
prospeoApiKeystring (secret)Prospeo key. Second email provider.
reoonApiKeystring (secret)Reoon key. Primary email verification.
bounceBanApiKeystring (secret)BounceBan key. Catch-all resolution.
claudeApiKeystring (secret)Anthropic key. Title-classification fallback.

Filters

FieldTypeDefaultDescription
targetCountinteger5Maximum people per company, 1–100. Billing is per person returned, so this is a hard cost ceiling.
seniorityarrayallfounder, c_suite, vp, director, head, manager, senior, individual_contributor, entry
departmentsarrayallexecutive, sales, marketing, revops, customer_success, product, engineering, design, finance, hr, legal, it, operations, other
jobTitlesarrayCase-insensitive substring match on the current title. Any match qualifies. Overrides the derived title search.
excludeJobTitlesarrayAny match drops the person, even if they matched an include.
countriesarrayISO 3166-1 alpha-2 codes: US, GB, NL
suppressLinkedInUrlsarrayProfile URLs to exclude. See GDPR and privacy.

Options

FieldTypeDefaultDescription
includeEmailsbooleantrueRun the email waterfall. Turn off to build an org map cheaply.
verifyEmailsbooleantrueVerify discovered emails, escalating catch-alls.
verifyPositionbooleanfalseReserved for a future release; fields are present and null.
batchSizeinteger5Companies searched concurrently in batch mode, 1–10.
skipCachebooleanfalseForce a fresh search. Results are cached 7 days (14 for search-backed rows).

Output reference

One flat row per person. Every field is always present; missing values are null.

FieldTypeDescription
full_namestringFull display name
first_name / last_namestringSplit from the full name, for merge fields
name_normalizedstringLowercased, accent-stripped, punctuation-free. A dedupe key against your CRM.
job_titlestringCurrent title at the target company
headlinestringPublic profile headline, when richer than the title
senioritystringOne of the nine normalized levels, or null
departmentstringOne of the fourteen normalized departments, or null
linkedin_profile_urlstringCanonical https://www.linkedin.com/in/<slug>. Locale hosts, tracking params, and /pub/ forms are all normalized to this.
countrystringISO 3166-1 alpha-2, or null. Never a raw address string.
citystringCity, or null
company_domainstringSource domain. Your join key back to the account table.
company_namestringCompany name
linkedin_company_urlstringCompany LinkedIn page, or null
emailstringBusiness email, or null
email_statusstringvalid, invalid, catch_all, risky, unknown, not_requested
email_verifiedbooleantrue on a definitive valid verdict, false on a definitive bounce, null when unresolved
email_sourcestringicypeas, prospeo, or database
verification_sourcestringreoon or bounceban
email_provider / email_confidencestringMailbox provider and provider confidence grade, when supplied
position_verified / position_verification_reasoningboolean / stringReserved for a future release
match_confidencestringLevel plus reason: "high: current employer Stripe in profile subtitle"
matched_filtersarrayWhich of your filters this person satisfied
sourcestringContributing layers, comma-joined: "website,serp"
run_datestringISO 8601 timestamp

Every run also writes a RUN_SUMMARY key-value record with per-layer counts, filter drop reasons, per-company shortfalls, layers_available, and a plain-language coverage_note.


Cascade architecture

Four layers, cheapest first. The cascade stops as soon as it has enough people who would survive your filters — not merely enough raw candidates.

Layer 0 — Cache. Keyed by domain and your exact filter set, so a narrow search never reads a broad one's rows. 7-day TTL, 14 days for search-backed results. A cache hit costs you nothing: no company-searched, no person-found.

Layer 1 — The company's own website. Fetches robots.txt, honors it, then probes /team, /about, /leadership, /people and four more. Reads schema.org Person data, then card markup, then linked profiles. Free, and the strongest evidence available — the company published these people itself. Candidates are still company-match scored, because investor and board sections sit on the same pages as leadership.

Layer 2 — Search API. Queries site:linkedin.com/in "<company>" (<senior titles>) via Serper. At most three searches per company: one on the brand name, one on the domain variant, and one on C-level acronyms when you ask for c_suite. Requires your key.

Layer 3 — Licensed database. Fires only on a shortfall, asks only for the shortfall, and filters on the same senior titles. Requires your Icypeas key.

Then: dedupe and merge across layers, normalize titles and locations, suppress opted-out profiles, enforce your filters, discover email, verify email.


Pricing

Pay per event. You are billed for what the actor delivers, not for attempts. Apify plan discounts apply automatically.

EventPriceCharged when
actor-start$0.010Once per run
company-searched$0.025Once per company that reaches a paid layer. Not charged for a cache hit or website-only resolution.
person-found$0.020Per person returned that passed company matching and all your filters
email-found$0.040Only when an email is actually returned
email-verified$0.015Per email confirmed deliverable
position-verified$0.015Reserved for a future release

Third-party API costs are separate and are not marked up. Your search, database, email, and verification providers bill your own accounts directly. The prices above cover this actor's compute and orchestration only.

Worked example — 10 companies, targetCount: 10, full pipeline:

LineCalculationCost
Actor start1 × $0.010$0.01
Companies searched10 × $0.025$0.25
People found100 × $0.020$2.00
Emails found100 × $0.040$4.00
Emails verified100 × $0.015$1.50
Total$7.76

That is $0.078 per fully enriched, verified contact. Names and titles only (no email): $2.26 for 100 people, or $0.023 each.


Free tier

PlanPeople per monthEmail discoveryVerification
Free Apify plan50 (resets on the 1st)Not availableNot available
Any paid planUnlimitedAvailableAvailable

Free-plan usage is cumulative across all runs in a month. Free-plan runs still receive fully resolved, company-verified, seniority-classified people — they just do not receive email addresses. The run summary states this explicitly rather than leaving you to infer it.

Upgrade: https://apify.com/pricing


GDPR and privacy

This actor returns B2B contact data sourced from publicly accessible sources. You are the data controller under GDPR, CCPA, and applicable privacy laws. Use for legitimate B2B prospecting only. Comply with all applicable data protection regulations including transparency and opt-out obligations when using enriched data in outreach. To submit a data subject request, contact privacy@mambabuilt.com.

What this actor does not do: it sends no requests to linkedin.com, uses no cookies, transmits no authentication tokens or session credentials to any social network, and retains no personal data after a run completes. Results live in your own Apify dataset, under your control.

Suppression. suppressLinkedInUrls takes a list of profile URLs to exclude. They are removed before any billing event fires, so suppressed people cost you nothing. URLs are canonicalized before matching, so locale subdomains, tracking parameters, casing, and trailing slashes all match the same person — which means you can feed one run's output straight back in as the next run's suppression list.

Two uses: keeping already-contacted prospects out of repeat runs, and honoring removal requests so someone who asked to be excluded never re-enters your pipeline. This is a control you operate as the data controller; it does not replace suppression handling in your own CRM and sequencer.


Mamba Labs GTM Actor Fleet

People Finder is the contact-level layer. The companion actors work at the account level, and they compose: resolve and score accounts first, then find people only at the accounts worth contacting.

ActorActor IDWhat it does
Company Firmographic EnricherYlUtLWjfPpqykmB8gDomain to employee band, industry, HQ, founded year, revenue estimate
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gxDomain or name to LinkedIn company URL with confidence scoring
ICP Fit ScorerW161DT8W4kW55dMFhScores a company against your ideal customer profile, 0 to 100

A typical chain: resolve the company URL (3HtnSaqPHOg1Qg5gx), enrich firmographics (YlUtLWjfPpqykmB8g), score the account (W161DT8W4kW55dMFh), then run People Finder on everything above your threshold.

All actors: apify.com/mambalabs | Website: mambabuilt.com

Built by Mamba Labs.