Claude Code Plugins

Community-maintained marketplace

Feedback

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name apollo-hello-world
description 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".
allowed-tools Read, Write, Edit
version 1.0.0
license MIT
author Jeremy Longshore <jeremy@intentsolutions.io>

Apollo Hello World

Overview

Minimal working example demonstrating core Apollo.io functionality - searching for people and enriching contact data.

Prerequisites

  • Completed apollo-install-auth setup
  • Valid API credentials configured
  • Development environment ready

Instructions

Step 1: Create Entry File

Create a new file for your hello world example.

Step 2: Import and Initialize Client

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 },
});

Step 3: Search for People

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);

Output

  • Working code file with Apollo client initialization
  • Successful API response with contact data
  • Console output showing:
Found contacts: 10
- John Smith (VP of Sales)
- Jane Doe (Account Executive)
...

Error Handling

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

Examples

TypeScript Example - People Search

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);

Python Example - Company Enrichment

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')}")

Resources

Next Steps

Proceed to apollo-local-dev-loop for development workflow setup.