B2B Decision Maker Email & Phone Finder
Pricing
from $60.00 / 1,000 domain results
B2B Decision Maker Email & Phone Finder
Company domains → named decision makers with verified work emails, phone numbers and LinkedIn. B2B database + AI web research + SMTP verification. Any senior persona — CEO, founder, VP, ops, sales. Pay per result. No user API keys.
Pricing
from $60.00 / 1,000 domain results
Rating
5.0
(2)
Developer
Pequod
Maintained by CommunityActor stats
0
Bookmarked
19
Total users
11
Monthly active users
a day ago
Last modified
Categories
Share
Apify slug: pequod-labs/company-decision-maker-finder
A decision maker email finder that starts from company domains only. Give it a list of company websites and it returns the named decision maker — CEO, founder, VP, director, ops lead — with an SMTP-verified work email, a phone number and a LinkedIn profile. B2B database lookup first, AI web research for the misses, a phone waterfall (EU imprint + website crawl), and a strict deliverability gate before anything is marked sendable. Pay per delivered result — no third-party API keys required from you.
Paid Apify plan required. This Actor is available only to customers on a paid Apify plan. Free-plan runs are not supported.
| Input | List of company domains (domains), optional country, persona preset |
| Output | Named decision maker, role, verified email, phone, LinkedIn, alternates |
| Verification | SMTP-level strict gate — only email_sendable: true when quality is good |
| Pricing | Pay per event: $0.06 per domain result + $0.14 per verified contact |
| API keys | None required from the user (operator-side credentials) |
| Best for | Bulk decision maker enrichment from domain lists — any B2B vertical |
| Not for | Name-only email lookup (no domain), LinkedIn-URL-only input |
Key facts
| Attribute | Value |
|---|---|
| Input format | Array of company domains, plain strings or {domain, country} objects |
| Max domains per run | 1000 |
| Roles targeted | CEO, founder, co-founder, VP sales, VP operations, CFO, CTO, HR director, procurement lead, ecommerce owner |
| Email verification | SMTP-level check on every candidate before delivery |
| Sendable definition | email_sendable: true only when status is ok and quality is good |
| Phone sources | B2B database, EU legal notice / imprint, website contact crawl |
| Pricing model | Pay per event — no subscription, no per-seat licence |
| Price | $0.06 per domain result, $0.14 extra when the result carries a verified sendable email |
| API key required from user | No — all upstream credentials are operator-side |
| Geographic coverage | Global, with localized handling for IT, DE, FR, NL, ES, GB, US, IE |
| Integrations | Apify API, webhooks, MCP, Python and JavaScript clients, CSV/JSON/Excel export |
| Alternative to | ZoomInfo, Clearbit, Lusha, RocketReach, Snov.io, UpLead for domain-to-contact enrichment |
Use this actor when
- You have a list of company website domains (CRM export, lookalike discovery, conference list, etc.)
- You need a named decision maker — CEO, founder, sales leader, ops/logistics buyer, director — not just
info@ - You want verified work emails and company phone numbers in one run
- You want SMTP-verified sendable emails safe for cold outreach
- You prefer pay-per-delivered-result pricing with no seat license
- You want persona targeting (founder, sales, marketing, operations, procurement…)
Do not use this actor when
- You only have a person name without a company domain → use a name-to-email finder instead
- Your input is LinkedIn profile URLs only without domains
- You want the cheapest bulk email list with no named decision maker → pattern-only finders may cost less
How it works
- Input — Provide
domains(plain strings or{domain, country}objects). SettargetPersonato match your sale (default:founder_ceo). - B2B database lookup — Searches professional databases for senior contacts matching the persona.
- AI web research (when enabled) — For domains the database misses, searches the public web and extracts named decision makers with AI. Names are never invented — every person must appear in a public source.
- Email verification — SMTP-level verification on every candidate. Pattern inference (
first.last@domain, etc.) when needed. - Generic inbox fallback — Localized
info@,contact@,kontakt@,contatti@when no named DM email verifies. - Phone waterfall — EU legal-notice lookup and website phone crawl when the decision maker has no phone yet.
- Output — One row per domain with best contact, evidence, alternates, and run summary metrics.
Decision maker email finder from company domains
Unlike bulk email verifiers that take name + domain, this actor starts from domain only and discovers who the decision maker is. The waterfall ranks candidates by persona fit, verifies deliverability, and marks only top-quality addresses as sendable.
Supported persona presets include founder_ceo, sales_leader, marketing_leader, ops_logistics, procurement, finance_cfo, tech_leader, hr_people, and ecommerce_owner. Custom title keywords are supported via targetPersona.
Find CEO and founder emails from a company domain
To find a CEO email address when all you have is the company website, set targetPersona to the founder_ceo preset and paste the domains. The actor identifies the person holding the role, infers or retrieves the work email, and runs SMTP verification before returning it.
Executive fallback is on by default: on larger accounts where the CEO is unreachable, a senior functional leader is returned instead, flagged with its actual role. Set executiveFallback to false inside targetPersona to always prefer the functional leader.
Bulk B2B email finder from a domain list
Paste up to 1000 domains per run. Every domain is processed independently, so a partial failure never blocks the batch. Domains with no billable deliverable are excluded from the dataset by default and listed for free in the FAILED_DOMAINS record of the key-value store — you never pay for a gap.
Export results as CSV, JSON, Excel or XML, or pull them straight from the Apify dataset API into your CRM or sequencer.
SMTP-verified work email finder with a deliverability gate
Every candidate email passes through a strict send gate: only addresses with verification result ok and quality good receive email_sendable: true. Catch-all, risky, and invalid addresses are flagged but not marked sendable, so you can filter them out of a campaign before they damage your sender reputation.
When mustHaveVerifiedEmail is enabled, ranking prioritizes decision makers with verified sendable emails. Generic inbox fallback still applies when no DM email verifies.
Contact identity checks
Name, role, email and LinkedIn URL come from different sources, so a partial match can otherwise arrive looking complete: a real person's name paired with a different person's LinkedIn profile, or a company page URL where a profile should be. identityStrictness cross-checks them — email local part and LinkedIn slug against the name, /in/ vs /company/ URLs, and the email domain against the one you asked for.
Default flag adds identity_status (coherent, suspect, incoherent) plus identity_flags, and lowers confidence when a check fails, so contradictory contacts rank last. Set enforce to discard them outright when mailing the wrong person costs more than a missing row. Legitimate group aliases are preserved: an address on the same brand under another TLD is not treated as a mismatch, and a holding-company domain only raises a soft flag.
Excluding companies you never want to contact
companyFilters.excludeCompanyTypes: ["recruitment_agency"] keeps recruitment and staffing intermediaries out of the results. This matters when you sell to employers: any list seeded from job ads is dense with agencies advertising on behalf of clients, and their names rarely give them away, so the actor reads the company's own pages instead of matching a blocklist.
companyFilters.requireCountryMatch: true drops domains whose suffix belongs to a different country than the one you gave for that row — a .edu or .de domain in a UK campaign — before any paid lookup runs.
Excluded companies never carry a contact email, so they cannot leak into your primary list — and they are not billed as results. Every verdict, with its reason, score and the signals behind it, lands in the EXCLUDED_COMPANIES record of the key-value store, free of charge. They enter the dataset only if you turn on pushEmptyResults, in which case they carry excluded: true, exclusion_reason and excluded_decision_maker for auditing.
company_type_verified: false means no page from the company could be read, so the verdict is "not checked" rather than "checked and clean". RUN_SUMMARY counts those under companyTypeUnverified.
Decision maker phone finder from company domains
When a named decision maker is found without a phone number, the actor runs a phone waterfall: EU imprint/legal-notice extraction first, then website contact-page crawl. Output includes decision_maker.phone, decision_maker.mobile, and decision_maker.best_phone.
This is what separates the actor from email-only finders: for European companies in particular, the legally mandated imprint page is a reliable source of a working business number.
LinkedIn email finder from company domains
Input is company domains only — this is not a LinkedIn-URL scraper. When the B2B database or public web research exposes a LinkedIn profile for the selected decision maker, it is returned in decision_maker.linkedin_url alongside the SMTP-verified work email in decision_maker.email. Unlike LinkedIn-based email finders, you do not need LinkedIn profile URLs, logins, cookies or sessions — no LinkedIn page is scraped behind authentication.
European B2B contact finder — Italy, Germany, France, UK
Country handling is localized. Set defaultCountry, or attach a country per domain with {"domain": "acme.de", "country": "DE"}, and the actor adapts:
| Country | Localized behaviour |
|---|---|
Italy (IT) | contatti@ inbox patterns, certified PEC email lookup when no work email verifies |
Germany (DE) | kontakt@ patterns, Impressum legal-notice phone and company data |
France (FR) | contact@ patterns, mentions légales lookup |
| Netherlands, Spain, Ireland | Localized inbox prefixes and EU legal-notice parsing |
| United Kingdom, United States | Standard English inbox patterns and website contact crawl |
How this compares to ZoomInfo, Clearbit, Lusha and RocketReach
| This actor | Seat-based B2B databases (ZoomInfo, Lusha, RocketReach) | Enrichment APIs (Clearbit, Snov.io, UpLead) | |
|---|---|---|---|
| Pricing | Pay per delivered result, no subscription | Annual contract or monthly seat | Monthly credit bundle |
| Input | Company domain only | Domain, company name or person | Domain or email |
| Names the decision maker | Yes, with role and seniority | Yes | Partially — often firmographics only |
| SMTP verification before delivery | Yes, strict gate | Varies | Varies |
| Phone from EU legal notice | Yes | No | No |
| Requires your own API key | No | Yes | Yes |
| Minimum commitment | One run | Annual / monthly plan | Monthly plan |
Use this actor when you need domain-to-decision-maker enrichment in bursts without signing a seat contract. Use a full B2B database when you need a searchable universe of contacts, intent data and CRM-native workflows.
Pay-per-result alternative to subscription email finders
Subscription email finder tools — including Snov.io, Skrapp, Wiza, Findymail, Prospeo and Anymailfinder — charge monthly plans. Some support domain-only search, but those modes typically return multiple emails per domain without persona-based decision-maker selection. You pay for seats and lookups whether or not every contact verifies.
This actor is pay-per-delivered-result with no monthly seat. It is domain-first by design: it identifies the named decision maker by persona fit, applies a strict SMTP send gate, and runs a phone waterfall when needed. No third-party API keys are required from the user.
| Capability | Subscription email finders | This actor |
|---|---|---|
| Pricing model | Monthly subscription + per-lookup credits | Pay per delivered domain result (+ verified-contact event when applicable) |
| Input | Person name + domain, LinkedIn URL, or domain search | Company domain only — no name or LinkedIn URL required |
| Decision-maker selection | Often a list of emails per domain to sort yourself | Named decision maker ranked by persona fit |
| SMTP verification gate | Varies by tool; often pattern or catch-all tolerant | Strict gate — email_sendable: true only when SMTP quality is good |
| Phone waterfall | Often not included | EU imprint + website crawl when phone is missing |
| API keys needed | Usually required (your account) | None from the user (operator-side credentials) |
Company domain to named B2B contact
Input example:
{"domains": ["velasca.com", {"domain": "celonis.com", "country": "DE"}],"verifyEmails": true,"aiDiscovery": true,"targetPersona": {"mode": "preset", "preset": "founder_ceo"},"includeGenericInbox": true}
Output fields match the dataset schema (snake_case). Key fields: has_decision_maker, decision_maker, best_contact_email, decision_maker.best_phone, has_contact.
B2B contact enrichment with verified email and phone
The run summary (key-value store RUN_SUMMARY) reports withDecisionMaker, withVerifiedContactEmail, withDmSendable, esr (email success rate, measured over in-scope domains), paidRows and verifiedContactCharges, plus excludedCompanies, companyTypeUnverified and identityIncoherent when the quality gates are on. Domains with no billable deliverable are listed in FAILED_DOMAINS, and companies quarantined by companyFilters in EXCLUDED_COMPANIES — both at no charge when pushEmptyResults is false.
Italian domains (.it) may receive a certified PEC email when no sendable work email is found.
Work email and phone finder with deliverability check
Decision maker email + phone enrichment from domain lists — any industry, any country. Database-first, AI web research for misses, SMTP verification, phone waterfall for gaps.
No third-party enrichment API keys are required from the user — all upstream credentials are operator-side.
Ready-to-run examples
Each example is a pre-configured task you can run without touching the input schema.
| Example | What it does |
|---|---|
| Find CEO and founder emails from Italian company domains | Italian B2B domains, founder_ceo persona, PEC fallback |
| Find founder and CEO emails from German company domains | German domains, Impressum phone lookup |
| Verify decision maker emails with SMTP | Strict deliverability mode for outbound teams |
| Find CEO email from a company domain | The core use case, global coverage |
| Find VP Sales email from company domains | sales_leader persona for sales-tool vendors |
| Find operations and logistics decision makers | ops_logistics persona for supply-chain vendors |
| Find company phone numbers from domains | Phone waterfall focus |
| Bulk B2B email finder from a domain list | Batch enrichment with verified-email ranking |
Browse them all in the Examples tab of this actor.
Use from Claude, ChatGPT and AI agents (MCP)
Connect the Apify MCP server in Claude, ChatGPT, or another MCP-capable agent, then call this actor with natural language. Example prompt: "Find CEO emails and phones for these company domains: acme.com, globex.io, initech.com — only include SMTP-verified sendable addresses." Results arrive as structured JSON matching the dataset schema (has_decision_maker, best_contact_email, decision_maker.email_sendable, and related fields).
Automate with n8n, Make and Zapier
Run this actor from n8n or Make using the native Apify nodes — trigger on a new domain list, run the actor, and route verified contacts to any CRM or outreach tool. You can also connect via Apify's Zapier integration. A typical n8n flow: spreadsheet of domains → run this actor → filter rows where decision_maker.email_sendable is true (or where best_contact_email is set) → send to outreach.
Typical workflow
| Step | Actor | When |
|---|---|---|
| 1. Discover domains | Lookalike Discovery or Social Leads | You need store/company domains first |
| 2. Enrich contact | This actor | You have domains and need decision maker email + phone |
| 3. Enrich shipping | Shipping Intelligence | You also need carriers, returns portal, free-shipping threshold |
Use via Python API, JavaScript API, or MCP.
Example output
{"domain": "example-b2b.com","country": "US","has_decision_maker": true,"has_contact": true,"best_contact_email": "jane.smith@example-b2b.com","decision_maker": {"full_name": "Jane Smith","role": "CEO","seniority": "c_suite","email": "jane.smith@example-b2b.com","email_sendable": true,"email_status": "ok","email_quality": "good","best_phone": "+1 555 0100","linkedin_url": "https://linkedin.com/in/janesmith","source": "b2b_database","confidence": "high"}}
How to use it step by step
- Click Try for free and paste your company domains into the
domainsfield, one per line in the JSON array. - Pick your buyer with
targetPersona—founder_ceofor CEO and founder emails,sales_leaderfor VP Sales,ops_logisticsfor supply-chain buyers. - Leave Verify email deliverability and AI web research enabled for the best coverage.
- Optionally set Default country so localized inbox patterns and EU legal-notice lookups apply.
- Run the actor and watch the dataset fill, one row per domain.
- Export as CSV, JSON or Excel, or read the dataset from the Apify API, webhook or MCP integration.
Cost estimate
Pay-per-event on Apify Console — you pay for what is delivered, not for a seat.
| Event | Price | Charged when |
|---|---|---|
| Domain result | $0.06 | A domain row is delivered to the dataset |
| Verified contact email | $0.14 | That row carries a verified, sendable email |
| Actor start | $0.00005 per GB | The run starts |
A domain that returns a verified decision-maker email therefore costs $0.20. A 100-domain run with a 60% verified-email rate costs roughly $0.06 × 100 + $0.14 × 60 = $14.40. Empty domains are excluded from the paid dataset by default and listed free of charge in FAILED_DOMAINS. Companies quarantined by companyFilters are also excluded from the paid dataset by default (listed free in EXCLUDED_COMPANIES) — you do not pay for the rows you asked us to reject. companyFilters.excludeCompanyTypes adds one search per domain to read the company's own pages; requireCountryMatch costs nothing and saves lookups by rejecting off-market domains first. There is no monthly seat fee and no minimum commitment.
The verified-contact event applies when the row includes a best_contact_email — a verified decision-maker email or a verified generic inbox. With the generic-inbox fallback enabled, historically ~85–90% of domains deliver a charged row.
FAQ
How can I find a CEO's email address if I only have the company domain?
Paste the domain into the domains array and set targetPersona to the founder_ceo preset. The actor searches B2B databases and the public web to identify the person holding the role, infers or retrieves their work email, and verifies it over SMTP before returning it.
How do I find decision makers in a company from just a website domain? Domain-only input is the design of this actor. It resolves the company behind the domain, ranks the senior people it can evidence in public sources against your target persona, and returns the best match with role, seniority and confidence.
How can I verify that a decision maker's email is valid and deliverable?
Keep verifyEmails enabled. Every candidate goes through an SMTP-level check, and only addresses with status ok and quality good come back with email_sendable: true.
What does SMTP-verified email mean and why does it matter for cold outreach? SMTP verification asks the receiving mail server whether the mailbox exists before you send anything. It filters out invalid and risky addresses, which keeps bounce rates low and protects your sending domain reputation.
How can I find a company's phone number from their domain?
The phone waterfall runs automatically when a decision maker has no phone: EU imprint and legal-notice pages first, then the website contact page. Read decision_maker.best_phone in the output.
What is the best way to enrich a list of 500 company domains in bulk?
Split nothing — paste all of them, up to 1000 per run. Enable verifyEmails and aiDiscovery, leave pushEmptyResults off so you are not charged for gaps, and export the dataset when the run finishes.
How much does it cost to find 1,000 decision maker contacts? $0.06 per delivered domain plus $0.14 for each row with a verified sendable email. A 1,000-domain run costs $60 plus $0.14 per verified contact — for example $200 in total at a 100% verified rate.
Do I need my own API key or a third-party subscription to use this actor? No. You provide domains only. Verification and research credentials are configured server-side by the operator, so there is nothing to sign up for beyond Apify.
How is this different from a cheap bulk email finder? Bulk finders often verify email patterns without identifying the decision maker. This actor discovers the named person, role, email and phone first, then verifies email deliverability, so you know who you are writing to.
Which decision maker personas can I target?
CEO/founder, sales, marketing, operations/logistics, procurement, finance, tech, HR, ecommerce owner — or custom title keywords via targetPersona.
Does it work outside ecommerce? Yes — any B2B company domain worldwide. The persona presets cover general B2B roles across SaaS, manufacturing, logistics, professional services, retail and healthcare.
How many domains can I process per run? Up to 1000 domains per input. The actual count may be capped by your Apify spending limit.
What happens when no contact is found for a domain?
The domain is listed in FAILED_DOMAINS in the key-value store. A company you asked us to quarantine via companyFilters is not a failure, so it goes to EXCLUDED_COMPANIES instead, with the reason and the evidence. Neither is charged as a dataset item unless pushEmptyResults is true. A non-sendable generic inbox alone (for example info@ that failed SMTP verification) is treated as empty and is not billed.
Can I get a decision maker's direct phone number?
The actor returns the best phone it can evidence — company line, and a mobile when the source exposes one. Check decision_maker.phone, decision_maker.mobile and decision_maker.best_phone.
Does it verify emails with SMTP before returning them?
Yes, whenever verifyEmails is true, which is the default.
Can I use it as an alternative to a ZoomInfo, Lusha or Clearbit subscription? For domain-to-contact enrichment, yes — you get the named decision maker, verified email and phone without a seat licence or annual contract. For searchable contact universes and intent data, a full B2B database remains the better fit.
What happens if the actor cannot find the CEO of a large company?
Executive fallback returns the most senior reachable functional leader instead, labelled with their real role. Disable it in targetPersona if you only want exact-persona matches.
Are the names and emails invented or inferred? Names are never invented: every person returned must appear with their role in a public source. Email addresses may be pattern-inferred when no address is published, but they are only marked sendable after passing SMTP verification.
How do I get the results into my CRM or sequencer? Export CSV, JSON, Excel or XML from the dataset, call the Apify dataset API, subscribe to a run webhook, or connect the actor through MCP or the Python and JavaScript clients.
Do I need a paid Apify plan to run this actor? Yes. Pay-per-event actors are not available on the Apify free plan, so you need at least a Starter subscription before the run will start.
Is scraping business contact data legal? The actor only reads publicly available business information. You remain responsible for how you use it, including compliance with GDPR, CAN-SPAM and local outbound marketing rules in the countries you contact.
Is there a pay-per-result alternative to subscription email finder tools like Snov.io or Skrapp?
Yes. This actor charges per delivered result with no monthly plan. You provide company domains only; it identifies the named decision maker by persona fit and applies a strict SMTP send gate before marking decision_maker.email_sendable: true.
Can I run this from n8n, Make or Zapier? Yes. Use the native Apify nodes in n8n or Make to trigger runs from domain lists and route output to your stack, or connect via Apify's Zapier integration.
Can AI agents like Claude or ChatGPT use this actor? Yes. Connect the Apify MCP server and ask the agent to find decision maker emails for a list of domains; results return as structured JSON matching the dataset schema.
Legal and fair use
This actor collects publicly available business contact information — the kind published on company websites, legal-notice pages and professional directories. It does not access private accounts and requires no login credentials from you.
You are the data controller for anything you export. Before running an outbound campaign, check that you have a lawful basis under GDPR (or the equivalent local regime), honour opt-out requests, and follow the anti-spam rules of the countries you contact.
Pequod ecommerce pipeline
| Step | Actor | When |
|---|---|---|
| 1. Discover | Instagram TikTok Shop Leads | Hashtag-driven social sellers |
| 1. Discover | Lookalike Discovery | Domain/niche-based stores |
| 2. Enrich contact | Decision Maker Finder | Name, role, verified email & phone |
| 3. Enrich shipping | Shipping Intelligence | Carriers, returns, thresholds |