Find People and Emails
find_people_and_emailsFind people at any company and verify their business email using a domain, company name, or LinkedIn URL, with filters for role, seniority, department, and location.
Instructions
Find people at a company and optionally discover and verify their business email. Identify the company by bare domain, by company name, by LinkedIn company URL, or pass a list of domains to run a batch where every output row echoes its source domain. Results are filtered by job title include and exclude lists, by normalized seniority, by normalized department and by country. A four layer cascade runs the company website, public search and a licensed database fallback, with company match scoring on every candidate; nothing here scrapes LinkedIn directly. Email discovery runs a two provider waterfall and verification escalates catch all domains to a second provider for a definitive answer. Provider keys are yours: you supply them, the vendors bill you directly, and the actor does not mark them up. Without a Serper key the search layer is off and coverage drops sharply. targetCount is a hard cost cap because billing is per person actually returned. Requires an APIFY_TOKEN and consumes Apify credits. Read only: it finds and verifies, it writes nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Bare domain without https:// or trailing slash. Example: stripe.com | |
| domains | No | Optional list of bare domains. Takes precedence over the single domain field. Each domain is searched independently and every output row echoes its source domain. | |
| batchSize | No | How many companies to search concurrently in batch mode. Default 5, maximum 10. Default: 5. | |
| countries | No | ISO 3166-1 alpha-2 codes. Filters to people located in these countries. Example: US, GB, NL | |
| jobTitles | No | Case-insensitive substring match against the person's current title. Any match qualifies. Leave empty for no title filter. Example: VP Sales, Head of Growth | |
| seniority | No | Filter to these normalized seniority levels. Leave empty for all. | |
| skipCache | No | Results are cached for 7 days and reused on repeat lookups. Set true to force a fresh search. Default: false. | |
| serpApiKey | No | Serper.dev API key. Unlocks the search layer, which is the highest-coverage source of LinkedIn profile URLs. Without it this actor falls back to company website parsing only, which returns far fewer people. Get a key at https://serper.dev. You are billed by Serper for searches; this actor does not mark them up. | |
| departments | No | Filter to these normalized departments. Leave empty for all. | |
| reoonApiKey | No | Primary email verification. Returns deliverability status for each discovered address. Get a key at https://emailverifier.reoon.com. Billed to you by Reoon. | |
| targetCount | No | Maximum people to return per company. Billing is per person actually returned, so a lower number is a hard cost cap. Default: 5. | |
| claudeApiKey | No | Optional. Only used to classify job titles that the built-in rule table cannot place into a seniority and department. One batched call per run, never per person. Leave empty to leave those two fields null on the affected rows. | |
| company_name | No | Used when no domain is available, or as a disambiguation hint alongside a domain. | |
| verifyEmails | No | Check deliverability of each email found, escalating catch-all domains to a second provider for a definitive answer. Requires a Reoon and/or BounceBan key. Default: true. | |
| icypeasApiKey | No | Optional. Only used for the licensed-database fallback layer, which runs when the company website and public search results do not yield enough people. Leave empty to skip that layer entirely; the run still succeeds and reports any shortfall in the summary. | |
| includeEmails | No | Discover a business email for each person found, using your Icypeas and/or Prospeo keys. Billed only when an email is actually returned. Turn off to build an org map cheaply. Default: true. | |
| prospeoApiKey | No | Second provider in the email waterfall. Used only for people the first provider could not resolve. Get a key at https://prospeo.io. Billed to you by Prospeo; this actor does not mark it up. | |
| verifyPosition | No | Check that the person still holds the returned title at the target company, and report the reasoning. Reduces bounced outreach to people who have moved on. Default: false. | |
| bounceBanApiKey | No | Catch-all resolution. Used only when the primary verifier returns catch-all or risky, to determine whether that specific mailbox exists. Get a key at https://bounceban.com. Billed to you by BounceBan. | |
| excludeJobTitles | No | Case-insensitive substring match. A person matching any of these is dropped even if they matched an include. Example: intern, assistant, former | |
| linkedin_company_url | No | Example: https://www.linkedin.com/company/stripe. Skips internal company resolution when provided. | |
| suppressLinkedInUrls | No | LinkedIn profile URLs to exclude from results. Use to suppress already-contacted prospects or honor data subject removal requests. |