---
title: "Apollo API: pricing, rate limits & MCP | ONEGTMLAB"
description: "Apollo API: All-in-one sales platform whose API exposes a 240M-contact / 30M-company database (search, person and company enrichment, job postings, news)…"
canonical: https://www.onegtmlab.dev/tool-directory/sourcing/apollo-io
---

# Apollo API: pricing, rate limits & MCP | ONEGTMLAB

[](/)

[

Book a call

](/book)

![](/_astro/apollo.DNg6-7d3.svg)

API review

# Apollo API review

All-in-one sales platform whose API exposes a 240M-contact / 30M-company database (search, person and company enrichment, job postings, news) plus its full CRM and sequencing engine. Best for people search at 0 credits on paid plans to size and pull prospect lists.

Verified 25 Oct 2026 · 27 endpoints listed · Official MCP server

[

See pricing

](#pricing)[

Apollo API docs

](https://docs.apollo.io/reference/apollo-api)

At a glance

Category

Sourcing, Enrichment, Signals, Sending, CRM

Pricing model

Per seat

Free tier

Free: $0, 900 credits per seat per year granted monthly (75/month)

Entry price

$49/mo, billed annually Basic

Auth

API key

Official MCP

Yes

Best for

People search at 0 credits on paid plans to size and pull prospect lists

[apollo.io ↗](https://www.apollo.io)[Pricing page ↗](https://www.apollo.io/pricing)

## What a call costs

The actions you pay for, as Apollo prices them.

Action

Cost

Per

People search (API)

0 credits (paid plans; Free plan gets 403 in live test)

per request

Email / demographics on person enrichment

1 credit

per matched person (0 if no credit-consuming data found)

Mobile phone on person enrichment

+8 credits

per phone returned

Waterfall email

typically 1-4 credits, can be 20+

per person; some vendors charge per lookup even with no result

Waterfall phone

typically 8-25 credits, can be 45+

per person

Organization enrichment / bulk / complete org info

1 credit

per organization

Organization search

1 credit

per page of up to 100

Job postings

1 credit

per page of up to 10,000

Show all 13 priced actionsHide the rest

Action

Cost

Per

News articles search

1 credit

per page of up to 25

Get complete person info

1 credit

per person

Conversation info / export with AI insights

1 credit

per conversation

AI research

1 credit

per run

US dialer

1 credit

per 30 seconds

## Pricing, plan by plan

US dollars, as Apollo's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier Free: $0, 900 credits per seat per year granted monthly (75/month). Docs say all plans include API access and Free accounts need a work email for search/enrichment; live test on a work-email Free account: people search API returned 403 (paid plans only), org enrichment worked.

### Free

$0

Free

900 credits per seat per year, granted monthly (annual billing); 75 credits per seat per month, granted upfront (monthly billing)

API included

### Basic

$65/mo

billed monthly

$49/mo

billed annually

30,000 credits per seat per year, granted upfront (annual); 2,500 credits per seat per month (monthly billing)

API includedPlan details

Add-on credits via Customize Credits slider; charged immediately and recur each cycle until removed

### Professional

$99/mo

billed monthly

$79/mo

billed annually

48,000 credits per seat per year, granted upfront (annual); 4,000 credits per seat per month (monthly billing)

API includedPlan details

Same add-on credit slider

### Organization

$119/mo

annual billing only

$119/mo

billed annually

72,000 credits per seat per year, granted upfront; min 3 seats.

API includedPlan details

Annual only: the Monthly toggle shows $149/seat/mo labelled 'Annual Only' (6,000 credits/seat/mo)

Same add-on credit slider

## Rate limits

Per team (all keys share), per endpoint, enforced in fixed minute/hour/day windows at once.

### Free

Default

50/min, 200/h, 600/day

Enrichment

50/min (20 bulk), 200/h (100 bulk), 600/day

Search

50/min, 200/h, 600/day

### Basic

Default

200/min, 400/h, 2,000/day

Enrichment

1,000/min, no hourly/daily limit

Search

200/min, 6,000/h, 50,000/day

### Professional

Default

200/min, 400/h, 2,000/day

Enrichment

1,000/min, no hourly/daily limit

Search

200/min, 6,000/h, 50,000/day

### Organization

Default

200/min, 600/h, 6,000/day

Enrichment

1,000/min, no hourly/daily limit

Search

200/min, 6,000/h, 50,000/day

### Lower-limit endpoints

Default

Query analytics report 5/h; Export conversations 1/min and 20/h on Free

More on limitsLess

Enrichment endpoints on paid plans: 1,000/min with no hourly or daily cap. Search endpoints on paid plans: 200/min, 6,000/h, 50,000/day. Everything else uses the plan default. 429 with retry-after header; error\_details.code separates your limit (API\_RATE\_LIMIT\_EXCEEDED) from platform load (PLATFORM\_RATE\_LIMIT, retry after 60s). MCP has separate limits and no rate headers.

## How to get an API key

Apollo uses API key. The steps below follow Apollo's own docs.

1.  Create a Apollo account. The Free plan includes API access.
2.  Apollo admin (or permitted profile) > Settings > Integrations > API Keys > create key; pick endpoints (scoped key, default) or toggle 'Set as master key' for all endpoints. Some endpoints (list users, usage stats) need a master key.
3.  Send it with every request: header: x-api-key (partners use OAuth 2.0).
4.  Make a first call: People search (net-new prospects in Apollo DB). Keep the key in an environment variable, never in the command.
    
    ```
    curl -X POST "https://api.apollo.io/api/v1/mixed_people/api_search" \
      -H "x-api-key: $APOLLO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{}'
    ```
    

## Where the docs live

What

Where

Documentation

[docs.apollo.io](https://docs.apollo.io)

API reference

[docs.apollo.io/reference/apollo-api](https://docs.apollo.io/reference/apollo-api)

OpenAPI spec

[docs.apollo.io/reference/openapi-specification](https://docs.apollo.io/reference/openapi-specification)

llms.txt

[docs.apollo.io/llms.txt](https://docs.apollo.io/llms.txt)

Changelog

[docs.apollo.io/changelog/api-errors-now-include-structured-details](https://docs.apollo.io/changelog/api-errors-now-include-structured-details)

Base URL

`https://api.apollo.io`

MCP server

`https://mcp.apollo.io/mcp`

SDKs

Apollo CLI (Homebrew apolloio/apollo-io-cli, prebuilt binaries, OAuth login) - https://docs.apollo.io/docs/apollo-cli-overview

## Strengths and limits

### Where it fits

-   People search at 0 credits on paid plans to size and pull prospect lists (ids and titles only; not callable via API on the Free plan in our live test)
-   Cheap work-email enrichment at 1 credit per matched person
-   Company firmographics incl. parent/subsidiary hierarchy, job postings and news in one API
-   Teams already running sequences in Apollo who want to automate list adds and CRM updates
-   Agent workflows via the official remote MCP (mcp.apollo.io) or CLI

### Where it falls short

-   Building a product or reselling data: standard plans are internal use only; external use needs a separate agreement
-   LinkedIn automation tools (terms ban using the API with LinkedIn automations)
-   Training commercial or third-party AI models on the data (terms allow only your own internal models; MCP bans model training outright). Source: [apollo.io/terms](https://www.apollo.io/terms); [docs.apollo.io/docs/apollo-mcp](https://docs.apollo.io/docs/apollo-mcp) (verified 2026-10-25)
-   Bulk enrichment at volume: max 10 records per bulk call
-   Pulling beyond 50,000 records per search query (500 pages x 100)
-   Platforms that need a plain env-var BYOK key

### Worth knowing

-   People search returns no emails or phones at all; you must enrich (people/match or bulk\_match) to get contact data. Source: [docs.apollo.io/reference/people-api-search](https://docs.apollo.io/reference/people-api-search)
-   Search display ceiling is 50,000 records per query (100 per page x 500 pages); partition filters to go wider. Organization search also caps at 50,000, job postings at 10,000. Source: [docs.apollo.io/reference/people-api-search](https://docs.apollo.io/reference/people-api-search)
-   Organization search is NOT free: 1 credit per page. Only people search is 0 credits. Source: [docs.apollo.io/docs/api-pricing](https://docs.apollo.io/docs/api-pricing)
-   reveal\_phone\_number and any waterfall flag need a webhook\_url (or poll\_only=true, but never both: 400 WEBHOOK\_URL\_WITH\_POLL\_ONLY). Phones arrive asynchronously. Source: [docs.apollo.io/reference/people-enrichment](https://docs.apollo.io/reference/people-enrichment)
-   Waterfall phone can cost 45+ credits per person and some waterfall vendors charge per lookup even when they find nothing. Source: [docs.apollo.io/docs/api-pricing](https://docs.apollo.io/docs/api-pricing)

12 moreShow fewer

-   Get complete person info returns the placeholder email\_not\_unlocked@domain.com (with email\_status 'verified') for people who are not your contacts; it passes null checks and collapses records if used as a dedupe key. Source: [docs.apollo.io/reference/get-complete-person-info](https://docs.apollo.io/reference/get-complete-person-info)
-   Bulk people enrichment returns status 'success' even when people are unmatched (unmatched entries are null); read missing\_records. request\_id can be negative, pass it unchanged. Source: [docs.apollo.io/reference/bulk-people-enrichment](https://docs.apollo.io/reference/bulk-people-enrichment)
-   Rate limits are per team, not per key: every key and child workspace shares the same counters. Source: [docs.apollo.io/reference/rate-limits](https://docs.apollo.io/reference/rate-limits)
-   An API key acts as the workspace's longest-standing active admin, so records are owned by that user and a key made by a limited user is not limited. Source: [docs.apollo.io/reference/authentication](https://docs.apollo.io/reference/authentication)
-   Legacy root-level error 'message' field disappears after 16 February 2027; parse error\_details.code instead. Source: [docs.apollo.io/reference/rate-limits](https://docs.apollo.io/reference/rate-limits)
-   Free accounts must be registered with a work email to use search/enrichment endpoints. Source: [docs.apollo.io/docs/developer-faqs](https://docs.apollo.io/docs/developer-faqs)
-   Credits do not roll over, and add-on credits recur every billing cycle until you drag the slider back to zero. Source: [apollo.io/pricing](https://www.apollo.io/pricing)
-   Terms ban reselling or redistributing the data, using any API with LinkedIn automations, and training AI/ML models on Business Contact Information except your own internal, non-commercial models; Apollo MCP prohibits AI model training entirely. Source: [apollo.io/terms](https://www.apollo.io/terms); [docs.apollo.io/docs/apollo-mcp](https://docs.apollo.io/docs/apollo-mcp) (verified 2026-10-25)
-   Source: [docs.apollo.io/reference/people-api-search](https://docs.apollo.io/reference/people-api-search)
-   Monthly billing costs more: Basic $65 vs $49 annual, Professional $99 vs $79; Organization is annual only ($119/seat/mo, min 3 seats; the Monthly toggle shows $149 labelled 'Annual Only'). Monthly plans grant credits per month (2,500 / 4,000 / 6,000) instead of a yearly pool. Credits do not roll over. Fair use: email credit cap is the lesser of (amount paid for the term / $0.025) or 1 million email credits per account per year. Source: [apollo.io/pricing](https://www.apollo.io/pricing) (headless render, verified 2026-10-25)
-   Docs vs live: docs say every plan includes API access and Free work-email accounts can use people search; our live Free account got 403 API\_INACCESSIBLE on mixed\_people/api\_search even with a master key. The usage-stats endpoint still lists that bucket, so do not read it as the callable set.
-   Pricing page FAQ says 'API access is available on Custom plans' for advanced integrations while plan cards list 'API Access' (Free) and 'API Enrichment' (Basic+); treat Free as partial API. Source: [apollo.io/pricing](https://www.apollo.io/pricing) (verified 2026-10-25)

### Our take

When we built an enrichment waterfall for a B2B data company, we left Apollo out: in the enrichment orchestration platform we used, it was the only provider that could not be connected with an environment-variable API key or fall back to the platform's own credits, and other providers already covered what it does.

## Who should use it

Use Apollo for

People search at 0 credits on paid plans to size and pull prospect lists (ids and titles only; not callable via API on the Free plan in our live test)

Look elsewhere for

Building a product or reselling data: standard plans are internal use only; external use needs a separate agreement

## If Apollo is not the answer

Other Sourcing tools in this directory, each with its own review.

[

![](/_astro/ai-ark.BE60pifs_Z1HkjgQ.webp)

AI Ark

Sourcing

Free planOfficial MCP

Best for sizing an ICP for almost nothing: People Preview costs 1 credit per page of up to 100.

AI Ark API review →](/tool-directory/sourcing/ai-ark)[

![](/_astro/blitz-api.Bf9EP17n_qoQcx.webp)

BlitzAPI

Sourcing

From $99/moOfficial MCP

Best for high-volume list building at a flat monthly price.

BlitzAPI API review →](/tool-directory/sourcing/blitz-api)[

![](/_astro/cognism.BVFvKHsp_Z28rDFo.webp)

Cognism

Sourcing

Best for EMEA/UK prospecting where phone-verified mobile numbers and DNC masking matter.

Cognism API review →](/tool-directory/sourcing/cognism)

### Compare Apollo with

-   [![](/_astro/attio.CoO4UDxn_ZQ32mb.webp)Attio side by side](/tool-directory/compare/apollo-vs-attio)
-   [![](/_astro/people-data-labs.mXDEg2jz_ZmMub8.webp)People Data Labs side by side](/tool-directory/compare/apollo-vs-people-data-labs)

## Before you build

Four things to settle first, each read off Apollo's own pages.

-   **Confirm the API is on your plan**The Free plan includes API access. Free tier: Free: $0, 900 credits per seat per year granted monthly (75/month).
    
-   **Keep the key out of your code**API key. It is sent as: header: x-api-key (partners use OAuth 2.0).
    
-   **Design around the rate limit**Per team (all keys share), per endpoint, enforced in fixed minute/hour/day windows at once.
    
-   **Know the catch before you scale**People search returns no emails or phones at all; you must enrich (people/match or bulk\_match) to get contact data. Source: [docs.apollo.io/reference/people-api-search](https://docs.apollo.io/reference/people-api-search)
    

## Want us to build it for you?

Tell us what you want Apollo to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

[

Book a call

](/book)[

See case studies

](/case-studies)

Read from [apollo.io/pricing](https://www.apollo.io/pricing), [docs.apollo.io/reference/apollo-api](https://docs.apollo.io/reference/apollo-api) and [docs.apollo.io/reference/rate-limits](https://docs.apollo.io/reference/rate-limits). Verified 25 Oct 2026.

All 27 endpointsFor developers: method, path, what it does and what it costs.

**Base URL:** `https://api.apollo.io`

**Bulk and async:** Bulk people enrichment and bulk organization enrichment, max 10 records per request; no async bulk job API. Source: [docs.apollo.io/reference/bulk-people-enrichment](https://docs.apollo.io/reference/bulk-people-enrichment)

**Webhooks:** Outbound per-request webhooks only: phone reveal and waterfall enrichment results go to the webhook\_url you pass (HTTPS, idempotent, may retry); or set poll\_only=true and poll /webhook\_result/{request\_id} (results kept 30 days). No event-subscription webhooks documented. Source: [docs.apollo.io/reference/people-enrichment](https://docs.apollo.io/reference/people-enrichment)

Filter endpoints

27 endpoints

Method

Path

What it does

Cost

POST

`/api/v1/mixed_people/api_search`

People search (net-new prospects in Apollo DB)

0 credits on paid plans. Free plan: 403 API\_INACCESSIBLE ('not included in your Free plan... even with a master key') in our live test 2026-10-25, although docs say Free work-email accounts may call it

POSTasync

`/api/v1/people/match`

People enrichment (one person)

1 credit demographics/email + 8 if mobile returned (1-9); 0 if nothing found; waterfall email typically 1-4 (can be 20+), waterfall phone typically 8-25 (can be 45+)

POSTasync

`/api/v1/people/bulk_match`

Bulk people enrichment (up to 10 people per call)

1-9 credits per person, same logic as single

GET

`/api/v1/people/{id}`

Get complete person info by Apollo id

1 credit per person

GET

`/api/v1/webhook_result/{request_id}`

Poll webhook result (phone reveal / waterfall results)

0 credits

POST

`/api/v1/mixed_companies/search`

Organization search (net-new companies in Apollo DB)

1 credit per page (up to 100 results per page)

GET

`/api/v1/organizations/enrich`

Organization enrichment (one company)

1 credit per organization

POST

`/api/v1/organizations/bulk_enrich`

Bulk organization enrichment (up to 10 companies)

1 credit per organization

GET

`/api/v1/organizations/{id}`

Get complete organization info by Apollo id

1 credit per company

GET

`/api/v1/organizations/{organization_id}/job_postings`

Organization job postings (hiring signal)

1 credit per page (up to 10,000 results per page)

POST

`/api/v1/news_articles/search`

News articles search for companies

1 credit per page (up to 25 results per page)

POST

`/api/v1/usage_stats/credit_usage_stats`

View team credit balance per credit type (lead\_credit, direct\_dial\_credit, export\_credit, ai\_credit, etc.)

0 credits

POST

`/api/v1/usage_stats/api_usage_stats`

View API usage and rate limits per endpoint

0 credits (master key)

GET

`/api/v1/users/api_profile`

Get current user profile (shows which user the key acts as; include\_credit\_usage=true for per-user credits)

0 credits

POSTasync

`/api/v1/agents/task`

Run an Apollo AI Assistant task (create / continue)

Variable: depends on actions the Assistant performs (e.g. enrichment)

POST

`/api/v1/agents/poll_task`

Poll an Assistant task

0 credits

POST

`/api/v1/contacts/search`

Search your saved contacts (not the Apollo DB)

0 credits

POST

`/api/v1/accounts/search`

Search your saved accounts

0 credits

POST/PATCH/GET

`/api/v1/contacts, /contacts/bulk_create, /contacts/bulk_update, /contacts/{contact_id}, /contacts/update_owners, /contacts/update_stages`

CRM group: contacts create / bulk create / bulk update / view / update / ownership / stage (8 endpoints)

0 credits

POST/PATCH/GET

`/api/v1/accounts, /accounts/bulk_create, /accounts/bulk_update, /accounts/{id}, /accounts/update_owners`

CRM group: accounts create / bulk create / bulk update / view / update / ownership (6 endpoints)

0 credits

POST/PATCH/GET

`/api/v1/opportunities, /opportunities/search, /opportunities/{opportunity_id}, /contacts/{contact_id}/opportunities, /opportunity_stages`

CRM group: deals create / list / view / update / associated deals / stages (6 endpoints)

0 credits

POST/PUT

`/api/v1/sequences, /sequences/{id}, /emailer_campaigns/search, /emailer_campaigns/{sequence_id}/approve|abort|archive|add_contact_ids, /emailer_campaigns/remove_or_stop_contact_ids, /emailer_campaigns/activity_feed`

Engagement group: sequences create / update / search / activate / deactivate / archive / add or remove contacts / activity (10 endpoints)

0 credits

GET/POST

`/api/v1/emailer_messages, /emailer_messages/search, /emailer_messages/{id}/send_now, /emailer_messages/{id}/activities, /emailer_messages/email_send_status, /emailer_messages/get_content, /email_accounts, /emailer_schedules`

Engagement group: outreach emails (draft, send now, search, stats, status, content), mailboxes, schedules (8 endpoints)

0 credits

POST/PATCH/GET

`/api/v1/tasks, /tasks/bulk_create, /tasks/search, /tasks/{id}, /tasks/{id}/complete, /tasks/{id}/skip`

CRM group: tasks create / bulk create / search / get / update / complete / skip (7 endpoints)

0 credits

POST/PUT/GET

`/api/v1/phone_calls, /phone_calls/search, /phone_calls/{id}, /conversations/search, /conversations/{id}, /conversations/export, /conversations/export/{id}`

Calls and conversation intelligence: call records, search, conversation info, export (7 endpoints)

0 credits; conversation info and export: 1 credit per conversation with AI insights

POST/PATCH/GET

`/api/v1/labels, /labels/{id}, /labels/add_entity_ids_to_label_names, /labels/remove_entity_ids_from_label_names, /fields, /typed_custom_fields, /notes, /users/search, /account_stages, /contact_stages`

Admin group: lists, custom fields, notes, users (master key), stages (11 endpoints)

0 credits

POST

`/api/v1/reports/sync_report`

Query analytics report (sequence / email / engagement metrics)

0 credits

[](/)

© 2026 ONEGTMLAB Private Limited. All rights reserved.

COMPANY

[

Why Us

](/#why-us)[

Process

](/#timeline)[

Blogs

](/blogs)[

About

](/about)[

Clients

](/clients)[

Free resources

](/free-resources)[

Newsletter

](/newsletter)

Services

[

GTM Engineering

](/ai-gtm-engineering)[

Account-Based Marketing

](/services/account-based-marketing)[

Paid Media

](/services/paid-media)[

Content Engineering

](/linkedin-personal-branding)[

RevOps

](/services/revops)[

SEO, AEO & GEO

](/services/seo-aeo-geo)[

All services

](/services)

![](/_astro/wordmark-3d.CMEfGdYr.svg)
