> ## Documentation Index
> Fetch the complete documentation index at: https://docs.asteragents.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Apollo Enrich Tool

> Enrich known B2B contacts or companies with verified work emails and firmographics from Apollo.io

## What it does

Apollo Enrich takes people or companies you **already know** — by Apollo `id`, email, LinkedIn URL, or name + company/domain — and fills in the rest: verified work emails, job titles, and company firmographics. Use it after [Apollo Prospect](/tools/apollo_prospect) finds matches (pass the `id` it returns), or directly on a list you already have (e.g. CRM records missing emails).

<Note>
  **Requires Apollo Integration**: Set up the [Apollo.io integration](/integrations/apollo) before agents can use this tool.
</Note>

## What it costs

Apollo bills **export credits per record enriched**. A standard enrichment returns the work email plus firmographics for 1 credit; personal emails are an opt-in extra:

| Reveal                     | Export credits | Default |
| -------------------------- | -------------- | ------- |
| Work email + firmographics | 1 per contact  | **on**  |
| `reveal_personal_emails`   | extra          | **off** |

<Note>
  Phone numbers are **not** returned. Apollo only delivers them asynchronously via a webhook, which this synchronous tool can't receive — setting `reveal_phone_number` simply adds a note and still returns the work email and firmographics.
</Note>

## Key features

* Enrich by any identifier: Apollo `id`, email, LinkedIn URL, or name + company name/domain
* Contact and company modes
* Verified work email included in a standard enrichment
* Batch up to 10 people (or 10 company domains) per call
* Pairs with Apollo Prospect — feed the `id` from a search straight in

## Parameters

| Parameter                | Type    | Required | Description                                                                                                                                                             |
| ------------------------ | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entity_type`            | string  | No       | `contact` (default) uses `contacts`; `company` uses `companies`                                                                                                         |
| `contacts`               | array   | No\*     | People to enrich (max 10). Each item: `id` (Apollo person id — most reliable), or `email`, or `linkedinUrl`, or `firstName`+`lastName`+(`organizationName` or `domain`) |
| `companies`              | array   | No\*     | Company **domains** to enrich (max 10), e.g. `["acme.com"]`. Used with `entity_type: "company"`                                                                         |
| `reveal_personal_emails` | boolean | No       | Also reveal personal / secondary emails, extra credits (default `false`)                                                                                                |
| `reveal_phone_number`    | boolean | No       | Not supported — Apollo delivers phones via webhook only; returns a note, no phone (default `false`)                                                                     |

\*Provide `contacts` (default) or `companies` (with `entity_type: "company"`).

## Common use cases

### Reveal an email for a prospected person

```
contacts: [{ "id": "64a7ff0cc4dfae00013df1a5" }]
```

Pass the `id` returned by [Apollo Prospect](/tools/apollo_prospect) — the most reliable match — to get the verified work email (1 credit).

### Get a known person's work email

```
contacts: [{ "firstName": "Jane", "lastName": "Doe", "domain": "acme.com" }]
```

Returns Jane's verified work email. **Prefer the company domain over its name** — Apollo matches on domain far more reliably.

### Enrich a small batch

```
contacts: [
  { "firstName": "Jane", "lastName": "Doe", "domain": "acme.com" },
  { "email": "sam@globex.com" }
]
```

Reveals the work email for both (max 10 per call).

### Enrich a company by domain

```
entity_type: "company"
companies: ["acme.com", "globex.com"]
```

Returns firmographics (industry, employee count, location, social links) for each domain.

## What you get back

* `results[]` — full records; contacts include `email` and `email_status` (e.g. `verified`), title, and organization
* `revealed` — which reveal flags were applied
* `returned` / `requested` — match counts
* `rate_limits` — remaining requests for the minute/hour/day window

## Best practices

* **Prefer strong identifiers** — an Apollo `id` (from prospect) or an email match most reliably; otherwise use a company **domain**, not its name
* **Batch up to 10** to minimize requests against your rate limit
* **Use `email_status`** — prefer `verified` addresses; treat others with more caution
* **Don't expect phones** — use a dedicated source if direct dials matter

## Troubleshooting

**"Provide a non-empty contacts array" / "no usable identifier"**

* Each contact needs at least one of: `id`, `email`, `linkedinUrl`, or `firstName`+`lastName`+(`organizationName` or `domain`)

**"Apollo denied access (403)"**

* Enrichment requires an Apollo plan with API access — confirm your plan and key permissions

**Email came back empty for a `.gov` or solo operator**

* Apollo indexes corporate (B2B) domains best; government addresses and personal-domain solo operators are often missing — fall back to web research for those

**Got no match on a company you know exists**

* Re-try with the company **domain** instead of its name — domain matching is far more reliable

## Related tools

* [Apollo Prospect](/tools/apollo_prospect) — find new contacts/companies matching an ICP, then enrich the ids it returns
