Apollo.io API

Apollo.io API for B2B prospecting, contact enrichment, and sales engagement automation.

Apollo.io is an AI-powered sales intelligence platform with a database of 210 million contacts and 35 million company accounts. For anyone doing B2B outbound at scale, it's one of the most practical tools available. The API lets you programmatically search contacts, enrich records, manage sequences, and integrate Apollo data into your own workflows. I use it primarily for contact enrichment and list building.

Platform Overview

Apollo started as a Y Combinator W16 company and has grown into a profitable platform with over 16,000 paying customers. The core value proposition is simple: accurate B2B contact data (emails, phone numbers, company info) combined with sales engagement tools.

Feature Description
Contact Database 210M contacts, 35M accounts, crowdsourced and verified
Prospecting Search, filter, and build targeted lead lists
Enrichment Append verified emails, phone numbers, and firmographic data to existing records
Sequences Automated multi-step outreach (email, calls, tasks)
Chrome Extension Find contact info while browsing LinkedIn or company websites

G2 consistently ranks Apollo as a leader in Sales Intelligence and Lead Intelligence categories.

API Capabilities

The Apollo REST API covers most of what the platform UI offers. Key endpoints:

People Search & Enrichment

The most useful part of the API. You can search for contacts by title, company, location, industry, and dozens of other filters. The enrichment endpoint takes an email or LinkedIn URL and returns full contact details.

import requests

url = "https://api.apollo.io/v1/people/match"
headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache",
}
data = {
    "api_key": "YOUR_API_KEY",
    "email": "someone@example.com",
}

response = requests.post(url, headers=headers, json=data)
person = response.json().get("person", {})

print(person.get("name"))
print(person.get("title"))
print(person.get("organization", {}).get("name"))

Search and enrich company records by domain, name, or various firmographic attributes.

url = "https://api.apollo.io/v1/organizations/enrich"
data = {
    "api_key": "YOUR_API_KEY",
    "domain": "example.com",
}

response = requests.get(url, params=data)
org = response.json().get("organization", {})
print(org.get("name"), org.get("estimated_num_employees"))

Sequences & Engagement

You can create contacts, add them to sequences, and manage outreach programmatically. Good for connecting your CRM or internal tools directly to Apollo outbound workflows.

Rate Limits & Credits

API usage consumes credits based on your plan tier. The free plan gives limited credits. Rate limits apply per minute and per day. Keep this in mind when doing bulk enrichment - batch your requests and add sensible delays.

Pricing

Free tier gives access to core features with limited credits. Paid plans unlock higher API limits, more enrichment credits, and advanced filtering. Check the pricing page for current tiers.

Good for: teams doing high-volume outbound who need programmatic access to contact data. The free tier is generous enough for testing and small-scale use. The main limitation is credit consumption can get expensive at scale if you're enriching large lists.

Practical Tips

  • Bulk enrichment: Loop through your CRM exports and enrich in batches. Add a time.sleep(1) between calls to stay within rate limits.
  • Data freshness: Apollo data is crowdsourced, so accuracy varies. Email verification rates are generally good but always validate before sending outreach.
  • Combine with webhooks: Use Apollo sequences with webhook steps to trigger actions in your own systems.
  • Chrome extension: Version 14.0.1 (rated 4.7/5) is genuinely useful for quick lookups on LinkedIn. Works well alongside the API for ad-hoc research.

Resources

links

social