$ man apollo-wiki/api-quick-reference
Referencebeginner
Apollo API Quick Reference
Endpoints, env setup, common errors, and rate limits card
☾
CODE
Environment Setup
Add to your
.env file: APOLLO_API_KEY=your_key_here. Get your key from Apollo Dashboard > Settings > API Keys. In Python: import os; api_key = os.environ['APOLLO_API_KEY']. Base URL for all endpoints: https://api.apollo.io. All requests are POST with JSON body. Include api_key in the request body, not as a header.CODE
Key Endpoints
People Search:
Organization Enrichment:
People Enrichment:
Bulk People Match:
POST /v1/mixed_people/search - Search contacts by title, seniority, company, location, industry. Returns up to 100 results per page.Organization Enrichment:
POST /v1/organizations/enrich - Enrich a company by domain. Returns firmographics, tech stack, funding, employee count.People Enrichment:
POST /v1/people/match - Match a single person by name + company or email. Returns full contact record.Bulk People Match:
POST /v1/people/bulk_match - Match up to 10 people per request. More efficient than individual calls.PATTERN
Rate Limits
Free tier: 10,000 credits/month. 100 requests/minute. 1 credit per contact returned in search, 1 credit per enrichment call.
Basic ($49/mo): 60,000 credits/month. Higher rate limits.
Professional ($99/mo): 120,000 credits/month. Intent data, buying signals.
If you hit a rate limit, Apollo returns HTTP 429. Back off for 60 seconds and retry. In production, use a simple sleep-and-retry pattern with exponential backoff. Log every 429 so you can tune your batch sizes.
Basic ($49/mo): 60,000 credits/month. Higher rate limits.
Professional ($99/mo): 120,000 credits/month. Intent data, buying signals.
If you hit a rate limit, Apollo returns HTTP 429. Back off for 60 seconds and retry. In production, use a simple sleep-and-retry pattern with exponential backoff. Log every 429 so you can tune your batch sizes.
ANTI-PATTERN
Common Errors
401 Unauthorized: Bad API key. Check your .env file and make sure the key is not expired.
422 Unprocessable Entity: Invalid request body. Usually a missing required field or wrong data type. Check that arrays are arrays, not strings.
429 Too Many Requests: Rate limited. Wait 60 seconds and retry. If persistent, reduce batch size or add delays between requests.
Empty results: Not an error - your filters are too narrow. Broaden seniority levels, add more title keywords, or expand the company size range. Apollo returns what matches, not what you expect.
422 Unprocessable Entity: Invalid request body. Usually a missing required field or wrong data type. Check that arrays are arrays, not strings.
429 Too Many Requests: Rate limited. Wait 60 seconds and retry. If persistent, reduce batch size or add delays between requests.
Empty results: Not an error - your filters are too narrow. Broaden seniority levels, add more title keywords, or expand the company size range. Apollo returns what matches, not what you expect.
related entries