Create a minimal working Apollo.io example. Use when starting a new Apollo integration, testing your setup, or learning basic Apollo API patterns. Trigger with phrases like "apollo hello world", "apollo example", "apollo quick start", "simple apollo code", "test apollo api".
From apollo-packnpx claudepluginhub nickloveinvesting/nick-love-plugins --plugin apollo-packThis skill is limited to using the following tools:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Details PluginEval's skill quality evaluation: 3 layers (static, LLM judge), 10 dimensions, rubrics, formulas, anti-patterns, badges. Use to interpret scores, improve triggering, calibrate thresholds.
Minimal working example demonstrating core Apollo.io functionality - searching for people and enriching contact data.
apollo-install-auth setupCreate a new file for your hello world example.
import axios from 'axios';
const apolloClient = axios.create({
baseURL: 'https://api.apollo.io/v1',
headers: { 'Content-Type': 'application/json' },
params: { api_key: process.env.APOLLO_API_KEY },
});
async function searchPeople() {
const response = await apolloClient.post('/people/search', {
q_organization_domains: ['apollo.io'],
page: 1,
per_page: 10,
});
console.log('Found contacts:', response.data.people.length);
response.data.people.forEach((person: any) => {
console.log(`- ${person.name} (${person.title})`);
});
}
searchPeople().catch(console.error);
Found contacts: 10
- John Smith (VP of Sales)
- Jane Doe (Account Executive)
...
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid API key | Check APOLLO_API_KEY environment variable |
| 422 Unprocessable | Invalid request body | Verify request payload format |
| 429 Rate Limited | Too many requests | Wait and retry with exponential backoff |
| Empty Results | No matching contacts | Broaden search criteria |
import axios from 'axios';
const client = axios.create({
baseURL: 'https://api.apollo.io/v1',
params: { api_key: process.env.APOLLO_API_KEY },
});
interface Person {
id: string;
name: string;
title: string;
email: string;
organization: { name: string };
}
async function main() {
// Search for people at a company
const { data } = await client.post('/people/search', {
q_organization_domains: ['stripe.com'],
person_titles: ['engineer', 'developer'],
page: 1,
per_page: 5,
});
console.log('People Search Results:');
data.people.forEach((person: Person) => {
console.log(` ${person.name} - ${person.title} at ${person.organization?.name}`);
});
}
main().catch(console.error);
import os
import requests
APOLLO_API_KEY = os.environ.get('APOLLO_API_KEY')
BASE_URL = 'https://api.apollo.io/v1'
def enrich_company(domain: str):
response = requests.get(
f'{BASE_URL}/organizations/enrich',
params={
'api_key': APOLLO_API_KEY,
'domain': domain,
}
)
return response.json()
if __name__ == '__main__':
company = enrich_company('apollo.io')
org = company.get('organization', {})
print(f"Company: {org.get('name')}")
print(f"Industry: {org.get('industry')}")
print(f"Employees: {org.get('estimated_num_employees')}")
Proceed to apollo-local-dev-loop for development workflow setup.