Decision-Maker Finder – People & Emails by Company & Title avatar

Decision-Maker Finder – People & Emails by Company & Title

Pricing

from $20.00 / 1,000 decision makers

Go to Apify Store
Decision-Maker Finder – People & Emails by Company & Title

Decision-Maker Finder – People & Emails by Company & Title

Find the people to contact at any list of companies — by job title, seniority and department — with name, title, public profile URL, location and a work e-mail (pattern-matched, mail-server checked). Input: company names, domains or a company list. No login, no cookies. Dataset-only, MCP-ready.

Pricing

from $20.00 / 1,000 decision makers

Rating

0.0

(0)

Developer

inovaflow

inovaflow

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

Find the people to contact at any list of companies — by job title, seniority and department — and get back a row per person with name, current title, public profile URL, location and a work e-mail, keyed to the company's domain. Give it company names, domains or the rows of a company list, tell it which titles you sell to (CEO, VP of Sales, Head of Marketing, CRO, RevOps…), and every matching person comes back classified by seniority (founder, C-level, VP, director, head, manager) and department (sales, marketing, engineering, product, finance, people…), with the address pattern the company uses and what the mail server confirmed.

People data on the market is either a stale database dump resold by the thousand or a raw people-search wrapper that needs your login and hands you every namesake and former employee. This Actor works the way a good SDR does: it looks each company up in public sources, keeps only people whose current role is at that company, matches your target titles in every phrasing, and shows its work on every row.

Decision-maker finder: what you get

One row per person:

FieldWhat it tells you
name, firstName, lastNameThe person, split for merge fields
title, headline, seniority, department, matchedTitleCurrent title at the company, the full public headline, the derived level and function, and which of your titles it matched
linkedinUrl, locationPublic profile URL and location
company, companyDomain, companyWebsite, companyLinkedinUrlThe company — companyDomain is the key to join back to your company list
email, emailPattern, emailConfidence, emailVerified, emailVerification, catchAll, emailCandidates[]The most likely work address, how it was formed (first.last, flast, …), a 0–100 confidence, whether the mailbox was confirmed, what exactly was checked (smtp-valid, smtp-catch-all, mx-only, no-mx), and the alternatives
sources[], sourceUrl, snippetWhere the person was found (profile-search, website) and the evidence

Three dataset views: People (one line per person), E-mails (pattern, confidence, verification, candidates), Targeting (seniority, department, matched title).

How people are found

  1. Public profile search — web search over public professional profiles for each company and each of your title phrasings. A result counts only when the current role names the company: people who merely mention it, worked there before ("ex-", "former") or share its name are dropped.
  2. Company website — the team, about and leadership pages are read for named executives with titles (and for e-mail addresses that reveal the company's address pattern).
  3. Classification — seniority and department are derived from the title by rules, deterministically; your titles, seniorities and departments filter the result; maxPeoplePerCompany keeps the most senior / best-matching people.
  4. Work e-mail — the company's address pattern is learned from addresses on its site, candidates are generated from the person's name, and each is checked against the domain's mail server; where the network allows an SMTP mailbox check, emailVerified becomes true. Otherwise the best pattern candidate is delivered with its confidence and emailVerification: mx-only — never presented as verified.

No login, no cookies, no third-party people database, no nested scrapers.

Chain it into a prospecting pipeline

  • In: the output of a company finder (rows with name, domain, linkedinUrl) can be passed as companies unchanged — or a list of domains from a tech-stack lookup or a hiring-signals run.
  • Out: rows keyed by companyDomain with firstName / lastName / email, ready for an e-mail finder & verifier (to confirm or widen the addresses) and for a sequencer.

Who uses it

  • Outbound / GTM agents — a keyword-discoverable, MCP-callable step that turns a company list into people to write to, unattended.
  • SDR teams — the three personas you sell to at every target account, with seniority and department already labeled.
  • Recruiters and partnership teams — the heads of a function across a list of companies.
  • Data teams — a people-enrichment step that joins back to the company row by domain.

Set it up in a minute

  1. Paste Companies (domains, names or profile URLs — one per line).
  2. Enter the Titles to find (or leave empty for the decision makers at each company) and set Max people per company.
  3. Start. Rows arrive as each company is finished; the run summary is in the OUTPUT record.

Targeting, e-mail enrichment, sources and performance settings are collapsed below the essentials; the defaults are tuned for unattended runs.

Use it from an agent or the API

{ "companies": ["lemlist.com", "gong.io"], "titles": ["CEO", "VP of Sales", "Head of Marketing"], "maxPeoplePerCompany": 5 }
{ "companies": [{ "name": "Gong", "domain": "gong.io", "linkedinUrl": "https://www.linkedin.com/company/gong-io" }], "seniorities": ["founder", "c-level", "vp"], "departments": ["sales", "marketing"] }

Agents may also pass domains, websites or urls, and title / roles for the titles. Results are in the default dataset (?view=people, ?view=emails, ?view=targeting); the run summary (people found and filtered, searches, e-mail stats) is in the OUTPUT record of the run's key-value store. Through the Apify MCP server, call inovaflow/decision-maker-finder with the same input.

Output example

{
"name": "Jessie Sloan",
"firstName": "Jessie",
"lastName": "Sloan",
"title": "VP, Corporate Revenue Unit",
"headline": "VP, Corporate Revenue Unit @ Gong",
"seniority": "vp",
"department": "sales",
"matchedTitle": "VP of Sales",
"linkedinUrl": "https://www.linkedin.com/in/jessie-sloan-440230a1",
"location": "Atlanta, Georgia, United States",
"company": "Gong",
"companyDomain": "gong.io",
"email": "jessie.sloan@gong.io",
"emailPattern": "first.last",
"emailConfidence": 70,
"emailVerified": false,
"emailVerification": "mx-only",
"catchAll": null,
"emailCandidates": [{ "address": "jessie.sloan@gong.io", "pattern": "first.last", "confidence": 70, "verified": false, "verification": "mx-only" }, { "address": "jessie@gong.io", "pattern": "first", "confidence": 35, "verified": false, "verification": "mx-only" }],
"sources": ["profile-search"]
}

Pricing

Pay per event: $0.02 per decision maker delivered and $0.01 per company searched, plus a small per-run start fee. Duplicates and people your filters remove are never charged; a company is charged once when it was actually searched, whether or not anyone matched — a 100-company run capped at 5 people each costs at most $11.

Good to know

  • E-mail verification depth depends on the network. Where outbound SMTP is blocked, addresses are verified down to the domain's mail server (mx-only) and delivered with a pattern confidence; where SMTP is reachable, mailboxes are confirmed (smtp-valid) and catch-all domains are flagged.
  • Companies with a common-word name (Clay, Gong) work because a person is accepted only when the company appears in their current role; pass the domain too for the best precision.
  • Coverage per company is a few search pages deep by default (maxSearchesPerCompany, retries included); raise it for big companies and broad title lists.
  • Runs stop early when they would only waste time. If the search backend is unavailable, or nobody matches at the first ten companies searched, the run stops with a status message saying why; the companies it did not reach are never charged. Set stopWhenNothingMatches to false for lists where most companies are expected to have nobody.
  • Results reflect what people publish about themselves; sources[] and snippet carry the evidence for every row.