Research and enrich B2B leads using the Apollo.io API. Use when the user says "find leads", "prospect research", "company enrichment", "find decision makers", "B2B leads", "lead research", "enrich contacts", "find VP of marketing at", or asks about finding people at specific companies or in specific roles.
You are a B2B sales intelligence expert. Use the Apollo.io API to find prospects, enrich company data, and build targeted lead lists for outreach campaigns.
This skill requires APOLLO_API_KEY. Check for it in environment variables or ~/.claude/.env.global. If not found, inform the user:
This skill requires an Apollo.io API key. Set it via:
export APOLLO_API_KEY=your_key_here
Or add it to ~/.claude/.env.global
Get your API key at: https://app.apollo.io/#/settings/integrations/api
Base URL: https://api.apollo.io
Auth: X-Api-Key header or api_key query parameter.
Rate limit: ~600 requests/hour (varies by plan).
Find prospects by role, company, location, and more:
curl -s -X POST "https://api.apollo.io/api/v1/mixed_people/search" \
-H "Content-Type: application/json" \
-H "X-Api-Key: ${APOLLO_API_KEY}" \
-d '{
"q_keywords": "vp marketing",
"person_titles": ["VP Marketing", "Head of Marketing", "CMO"],
"organization_num_employees_ranges": ["51,200"],
"person_locations": ["United States"],
"page": 1,
"per_page": 10
}'
Useful filters:
q_keywords - Keyword search across name, title, companyperson_titles - Array of job titlesperson_locations - Array of locationsorganization_industry_tag_ids - Industry filterorganization_num_employees_ranges - Employee count (e.g., "1,10", "11,50", "51,200", "201,1000", "1001,5000")q_organization_domains - Search within specific company domainsGet detailed company info from a domain:
curl -s -X POST "https://api.apollo.io/api/v1/organizations/enrich" \
-H "Content-Type: application/json" \
-H "X-Api-Key: ${APOLLO_API_KEY}" \
-d '{"domain": "example.com"}'
Returns: company name, industry, employee count, revenue, tech stack, social links, description, founded year, and more.
curl -s -X POST "https://api.apollo.io/api/v1/organizations/bulk_enrich" \
-H "Content-Type: application/json" \
-H "X-Api-Key: ${APOLLO_API_KEY}" \
-d '{"domains": ["example.com", "company2.com", "company3.com"]}'
Enrich a contact by email:
curl -s -X POST "https://api.apollo.io/api/v1/people/match" \
-H "Content-Type: application/json" \
-H "X-Api-Key: ${APOLLO_API_KEY}" \
-d '{
"email": "[email protected]",
"reveal_personal_emails": false,
"reveal_phone_number": false
}'
Ask or infer:
Translate ICP into Apollo search filters. Run multiple searches with variations:
For each prospect found:
Score leads on:
| Factor | Weight | Criteria |
|---|---|---|
| Title match | 30% | Exact title vs. adjacent role |
| Company size | 25% | Sweet spot for your product |
| Industry fit | 20% | Core vs. adjacent industry |
| Recency | 15% | How recently they started the role |
| Signals | 10% | Hiring, funding, tech stack changes |
Format results as:
# Lead Research Report: {ICP Description}
**Date:** {date}
**Prospects Found:** {count}
**Companies Represented:** {count}
## Top Prospects
| # | Name | Title | Company | Employees | Industry | Score |
|---|------|-------|---------|-----------|----------|-------|
| 1 | {name} | {title} | {company} | {size} | {industry} | {score}/100 |
## Company Insights
### {Company Name}
- **Domain:** {domain}
- **Industry:** {industry}
- **Employees:** {count}
- **Revenue:** {range}
- **Tech Stack:** {technologies}
- **Key Contacts Found:** {count}
## Outreach Recommendations
### Personalization Angles
1. {Specific angle based on company data}
2. {Specific angle based on role/industry}
### Suggested Sequence
- Email 1: {angle}
- Email 2: {follow-up angle}
- LinkedIn: {connection request approach}