Use these endpoints to find prospects by job title, location, and company criteria. You can retrieve detailed profiles, enrich people data with available email addresses and phone numbers, and check whether email addresses and phone numbers you already have are still good.
Key concepts
| People and contacts | People are individuals in Apollo not yet saved to your workspace. Contacts are people saved in your team's Apollo workspace. To search your saved contacts, use search for contacts. |
| Search, profile retrieval, and enrichment | People search returns limited person data, without email addresses or phone numbers. Get complete person info shows profile details, including employment history and the person's current organization, but doesn't reveal verified emails for net-new people. Use people enrichment when you need contact details. |
| Identifying a person | People search returns a person id that you can pass to profile retrieval or enrichment. You can also enrich people using information you already have, such as an email address, LinkedIn URL, or name and company domain. The more identifying information you provide, the likelier a match. |
| Validation and enrichment | Validation checks an email address or phone number you send and returns validated or not_validated. It doesn't find new contact details. not_validated means the validator didn't confirm the value, which includes inconclusive checks, so it doesn't always mean that the value is bad. Apollo runs the same validators that waterfall enrichment uses. |
Choose an endpoint
| I want to . . . | Use this |
|---|---|
| Find prospects who match my target criteria | People API search |
| Retrieve employment history, location, and current company details for a person whose Apollo ID I have | Get complete person info |
| Enrich one person's data, including available contact details | People enrichment |
| Enrich up to ten people's data in one request | Bulk people enrichment |
| Check whether up to 10 email addresses or up to 10 phone numbers I already have are still good | Validate email addresses and phone numbers |
Example workflows
- Find prospects and retrieve contact details
- Research prospects before prioritizing them
- Clean a list before a campaign
Find prospects and retrieve contact details
Build a prospect list by finding people who match your target criteria, then enriching the people you want to contact.
- Call people API search with filters such as job title, location, or company domain. Retain the
idof each person you want to enrich. - Pass those IDs as objects in the
details[]array of bulk people enrichment, with up to 10 people per request. For one person, pass their ID to people enrichment. - Review the returned matches and available contact details before using them in your system. A successful request doesn't guarantee that every person was matched or that every requested field is available.
Phone and waterfall enrichment results arrive asynchronously. Follow the enrichment endpoint's instructions to receive them through a webhook or retrieve them by polling.
Learn more: Use the tutorials find people using filters and enrich people data to dig in to the workflow.
Research prospects before prioritizing them
Retrieve more background about search results before deciding which people to pursue.
- Call people API search to identify potential prospects and retain their
idvalues. - Pass each ID to get complete person info. Use the returned employment history and current company details to assess the person's fit.
If you then need a locked verified email address, use people enrichment or bulk people enrichment. Get complete person info can return a placeholder instead of that address.
Learn more: Use the get complete person info reference to dig in.
Clean a list before a campaign
Check the email addresses on a list before you send to them, and keep only the ones the validator confirms.
- Call validate email addresses and phone numbers with
action: email_verifier,action_type: tool,poll_only: true, and up to 10 addresses ininput_attributes. Retain therequest_id, and therecord_idof each accepted address. - Pass the
request_idto poll webhook result. If it returnsresult_pending, waitretry_after_secondsand poll again. - Match each result to its address by
id. Keep the addresses withvalidation_status: validated, and review the rest before you drop them, becausenot_validatedalso covers inconclusive checks.
Learn more: The validate email addresses and phone numbers reference explains credit usage, webhook delivery, and each result field.