SKILL.md
Apollo Hello World
Overview
Minimal working example demonstrating the three core Apollo.io API operations: people search, person enrichment, and organization enrichment. Uses the correct x-api-key header and api.apollo.io/api/v1/ base URL.
Prerequisites
- Completed
apollo-install-authsetup - Valid API key configured in
APOLLO_API_KEYenvironment variable
Instructions
Step 1: Search for People (No Credits Consumed)
The People API Search endpoint finds contacts in Apollo's 275M+ database. This endpoint is free — it does not consume enrichment credits, but it also does not return emails or phone numbers.
// hello-apollo.ts
import axios from 'axios';
const client = axios.create({
baseURL: 'https://api.apollo.io/api/v1',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.APOLLO_API_KEY!,
},
});
// People Search — POST /mixed_people/api_search
async function searchPeople() {
const { data } = await client.post('/mixed_people/api_search', {
q_organization_domains_list: ['apollo.io'],
person_titles: ['engineer'],
person_seniorities: ['senior', 'manager'],
page: 1,
per_page: 10,
});
console.log(`Found ${data.pagination.total_entries} contacts`);
data.people.forEach((person: any) => {
console.log(` ${person.name} — ${person.title} at ${person.organization?.name}`);
});
return data;
}
searchPeople().catch(console.error);
Step 2: Enrich a Single Person (Consumes 1 Credit)
The People Enrichment endpoint returns full contact details including email and phone.
// Enrich by email, LinkedIn URL, or name+domain combo
async function enrichPerson() {
const { data } = await client.post('/people/match', {
email: '[email protected]',
// Alternative identifiers:
// linkedin_url: 'https://www.linkedin.com/in/...',
// first_name: 'Tim', last_name: 'Zheng', organization_domain: 'apollo.io',
reveal_personal_emails: false,
reveal_phone_number: false,
});
if (!data.person) {
console.log('No match found');
return;
}
const p = data.person;
console.log(`Name: ${p.name}`);
console.log(`Title: ${p.title}`);
console.log(`Email: ${p.email}`);
console.log(`Company: ${p.organization?.name}`);
console.log(`LinkedIn: ${p.linkedin_url}`);
}
