---
name: apollo-api-setup
description: Set up the Apollo API: the key, a first enrichment call, the credit model, the three rate-limit windows and the license line. Use when wiring Apollo enrichment into a pipeline, debugging 429s or credit burn, or deciding whether Apollo can back a customer-facing feature.
---

# Apollo API setup

> Generated from https://frontal.so/gtm-apis/enrichment-apis/apollo-api-review
> Every price, credit cost and limit below was read from Apollo's own pricing page or docs on 2026-10-19.

**Auth:** API key in the x-api-key header
**Entry price:** $49/seat/mo. Free tier: Free plan with API access, 900 credits per seat per year granted monthly, so 75 a month
**Unit cost:** $0.0196 per credit

## What you are building

One enrichment call wired into your own code: a key in the environment, a single POST, and a stored response you can reconcile against the credits it cost. Everything else Apollo exposes hangs off the same auth and the same credit pool, so getting this one right is most of the work.

## Prerequisites

| What | Where to get it | Notes |
|---|---|---|
| Apollo API key | https://www.apollo.io/ | $49/seat/mo. Free plan with API access, 900 credits per seat per year granted monthly, so 75 a month |
| A public webhook endpoint | Your own app, or any HTTPS endpoint you control | Only needed if you reveal phone numbers. Apollo posts the number there when the asynchronous reveal resolves. |
| A credit cap on the workspace | Apollo billing settings | Set it before anything runs unattended. A retry loop is the usual way a balance disappears. |
| A second key for agents | Same settings page as the first | Keep anything an agent or an MCP client can reach on its own key, so revoking it does not take the pipeline down. |

## The API

### Apollo API

- **Docs:** https://docs.apollo.io/
- **Auth:** API key in the x-api-key header
- **Rate limits:** 200 req/min, 2,000/day on Basic. Enrichment gets 1,000/min with no daily cap.
- **Entry price:** $49/seat/mo. Free tier: Free plan with API access, 900 credits per seat per year granted monthly, so 75 a month
- **Unit cost:** $0.0196 per credit
- **MCP server:** `https://mcp.apollo.io/mcp`

| Call | What it does |
|---|---|
| `POST https://api.apollo.io/api/v1/people/match` | Person enrichment from an email, name plus domain, or LinkedIn URL. 1 credit, or 9 when a mobile is revealed. |

Prices, limits and auth read from the vendor's own pages on 2026-10-19.

## Set it up

### 1. Put the key in the environment, not in the call

Apollo authenticates with an `x-api-key` header, created per workspace in the Apollo settings. Read it from the environment so it never lands in a repository or a shared notebook, and use a separate key for anything an agent can reach, so you can revoke it without taking the pipeline down with it.

### 2. Make one person match before you make ten thousand

The people match endpoint takes a name plus a domain, an email, or a LinkedIn URL, and returns the person with their demographics. One matched person costs 1 credit for demographics and email. A miss costs nothing, which is what makes a waterfall built on Apollo cheap to run.

### 3. Decide the phone question before you scale

Asking for a mobile moves the same call from 1 credit to 9, and the reveal is asynchronous: Apollo posts the number to the webhook URL you pass when it resolves, so nothing about it belongs on a synchronous path. The documented phone range runs from 8 to 25 credits, with some configurations exceeding 45, which is wide enough that a job you budgeted at $29 can land at $150.

### 4. Batch with the bulk endpoint, and respect the ceiling

Bulk people enrichment applies the same credit logic, batched, with a request ceiling of 10 people per call. That ceiling is the thing that catches people out: a loop written for 100 per request fails rather than truncating, and the fix is in your chunking, not in your plan.

### 5. Handle three rate windows, not one

Basic allows 200 requests a minute and 2,000 a day, while enrichment gets 1,000 a minute with no daily cap. Limits are enforced per team rather than per key, and per endpoint category, so a search job and an enrichment job on the same workspace compete. Back off on a 429 rather than retrying immediately, or you will spend the next window on retries.

### 6. Read the license line before it backs a feature

Apollo is licensed for your own go-to-market use. The moment enriched data goes into something a customer sees you are in different territory and should be reading a provider licensed for redistribution instead. This is not a knock on Apollo: it is what the product is for.

## Gotchas

- Credits are consumed per matched person, so the bill scales with success rather than with attempts. Budget against your match rate, not your list size.
- The bulk ceiling is 10 people per request. Chunk before you send.
- Phone reveal is asynchronous and arrives by webhook. Anything that blocks on it will time out.
- Rate limits are enforced per team and per endpoint category, so two jobs on one workspace throttle each other.
- The seat license cannot be bought standalone, so an API-only workload still pays for a seat.
- Retry storms are the most common way to empty a balance. Back off, and cap the workspace budget before anything runs unattended.

## How to verify it works

- Run 100 rows, then read the credit history. The documented phone range is wide enough that the only way to know your real cost is to measure it.
- Confirm a deliberate miss costs nothing, by diffing the balance across a row you know will not resolve.
- Confirm the phone webhook arrives, and that your handler is idempotent when it arrives twice.
- Force a 429 in a sandbox and check your client backs off rather than retrying immediately.
- Compare your effective cost per mailable contact against the figure on the Apollo page here. If it is far off, the difference is usually phone reveals.

## What it costs

| Measure | Figure |
|---|---|
| Entry plan | $49/seat/mo |
| Free tier | Free plan with API access, 900 credits per seat per year granted monthly, so 75 a month |
| Unit cost | $0.0196 per credit |

Where Apollo publishes no public rate for something, this file says so rather than estimating.

## Sources

- Apollo API docs: https://docs.apollo.io/
- Apollo API pricing and limits, with the reasoning: https://frontal.so/gtm-apis/enrichment-apis/apollo-api-review
- Stacks that use this API, with the arithmetic: https://frontal.so/gtm-apis/stacks

---

*Published by Frontal, the go-to-market partner for B2B tech companies past product-market fit.*
