apollo-install-auth
Automates the installation and authentication setup for Apollo.io API using environment variables and HTTP clients.
Install
mkdir -p .claude/skills/apollo-install-auth && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6634" && unzip -o skill.zip -d .claude/skills/apollo-install-auth && rm skill.zipInstalls to .claude/skills/apollo-install-auth
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Install and configure Apollo.io API authentication.Key capabilities
- →Install HTTP clients for Apollo.io API integration.
- →Configure Apollo API keys using environment variables.
- →Create an Apollo client in TypeScript or Python.
- →Verify the connection to the Apollo API.
- →Protect API keys using a .gitignore file.
How it works
This skill guides the installation of HTTP clients and the configuration of Apollo.io API keys, setting up a secure client connection by using the 'x-api-key' HTTP header for authentication.
Inputs & outputs
When to use apollo-install-auth
- →Initialize an Apollo.io API client
- →Configure API key environment variables
- →Set up HTTP clients for Apollo REST integration
- →Manage .env security for API credentials
About this skill
Apollo Install & Auth
Overview
Set up Apollo.io API client and configure authentication credentials. Apollo uses the x-api-key HTTP header for authentication against the base URL https://api.apollo.io/api/v1/. There is no official SDK — all integrations use the REST API directly.
Prerequisites
- Node.js 18+ or Python 3.10+
- Package manager (npm, pnpm, or pip)
- Apollo.io account with API access (Basic plan or above)
- API key from Apollo dashboard (Settings > Integrations > API Keys)
Instructions
Step 1: Install HTTP Client
set -euo pipefail
# Node.js
npm install axios dotenv
# Python
pip install requests python-dotenv
Step 2: Configure API Key
Apollo supports two API key types:
- Master API key — full access to all endpoints (required for contacts, sequences, deals)
- Standard API key — limited to search and enrichment only
# Create .env file (never commit this)
echo 'APOLLO_API_KEY=your-api-key-here' >> .env
echo '.env' >> .gitignore
Step 3: Create Apollo Client (TypeScript)
// src/apollo/client.ts
import axios, { AxiosInstance } from 'axios';
import dotenv from 'dotenv';
dotenv.config();
const BASE_URL = 'https://api.apollo.io/api/v1';
export function createApolloClient(apiKey?: string): AxiosInstance {
const key = apiKey ?? process.env.APOLLO_API_KEY;
if (!key) throw new Error('APOLLO_API_KEY is not set');
return axios.create({
baseURL: BASE_URL,
headers: {
'Content-Type': 'application/json',
'Cache-Control': 'no-cache',
'x-api-key': key,
},
timeout: 30_000,
});
}
export const apolloClient = createApolloClient();
Step 4: Verify Connection
// src/scripts/verify-auth.ts
import { apolloClient } from '../apollo/client';
async function verifyConnection() {
try {
// Use the health endpoint to test connectivity
const response = await apolloClient.get('/auth/health');
console.log('Apollo connection:', response.data.is_logged_in ? 'OK' : 'Invalid key');
} catch (error: any) {
if (error.response?.status === 401) {
console.error('Invalid API key. Generate a new one at:');
console.error(' Apollo Dashboard > Settings > Integrations > API Keys');
} else {
console.error('Connection failed:', error.message);
}
}
}
verifyConnection();
Step 5: Create Apollo Client (Python)
# apollo_client.py
import os
import requests
from dotenv import load_dotenv
load_dotenv()
class ApolloClient:
BASE_URL = 'https://api.apollo.io/api/v1'
def __init__(self, api_key: str | None = None):
self.api_key = api_key or os.environ.get('APOLLO_API_KEY')
if not self.api_key:
raise ValueError('APOLLO_API_KEY is not set')
self.session = requests.Session()
self.session.headers.update({
'Content-Type': 'application/json',
'Cache-Control': 'no-cache',
'x-api-key': self.api_key,
})
def get(self, endpoint: str, **kwargs) -> requests.Response:
return self.session.get(f'{self.BASE_URL}/{endpoint}', **kwargs)
def post(self, endpoint: str, json: dict = None, **kwargs) -> requests.Response:
return self.session.post(f'{self.BASE_URL}/{endpoint}', json=json, **kwargs)
def verify(self) -> bool:
resp = self.get('auth/health')
return resp.json().get('is_logged_in', False)
client = ApolloClient()
print('Connected:', client.verify())
Output
- HTTP client configured with
x-api-keyheader authentication - Environment variable file with
.gitignoreprotection - Successful
/auth/healthverification - Both TypeScript and Python implementations
Error Handling
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid or missing API key | Verify key in Apollo Dashboard > Settings > Integrations > API Keys |
| 403 Forbidden | Endpoint requires master key | Generate a master API key (not standard) in the dashboard |
| 429 Rate Limited | Too many requests per minute | Implement backoff; see apollo-rate-limits |
| Network Error | Firewall blocking outbound HTTPS | Allow outbound to api.apollo.io on port 443 |
Examples
Quick cURL Verification
# Test your API key from the command line
curl -s -X GET \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-H "x-api-key: $APOLLO_API_KEY" \
"https://api.apollo.io/api/v1/auth/health" | python3 -m json.tool
Resources
Next Steps
After successful auth, proceed to apollo-hello-world for your first API call.
When not to use it
- →When an Apollo.io integration is already set up and authenticated.
- →When using an official Apollo.io SDK, as none exists.
Prerequisites
Limitations
- →401 Unauthorized errors indicate an invalid or missing API key.
- →403 Forbidden errors mean the endpoint requires a master API key.
- →429 Rate Limited errors require implementing backoff strategies.
How it compares
This skill provides direct setup instructions for Apollo.io API authentication using HTTP clients, as Apollo.io does not offer an official SDK.
Compared to similar skills
apollo-install-auth side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| apollo-install-auth (this skill) | 1 | 27d | Caution | Beginner |
| lindy-install-auth | 4 | 27d | Caution | Beginner |
| auth-http-api-cloudbase | 1 | 8mo | Review | Intermediate |
| cloudbase-guidelines | 1 | 3mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
lindy-install-auth
jeremylongshore
Install and configure Lindy AI SDK/CLI authentication. Use when setting up a new Lindy integration, configuring API keys, or initializing Lindy in your project. Trigger with phrases like "install lindy", "setup lindy", "lindy auth", "configure lindy API key".
auth-http-api-cloudbase
TencentCloudBase
Use when you need to implement CloudBase Auth v2 over raw HTTP endpoints (login/signup, tokens, user operations) from backends or scripts that are not using the Web or Node SDKs.
cloudbase-guidelines
TencentCloudBase
Essential CloudBase (TCB, Tencent CloudBase, 云开发, 微信云开发) development guidelines. MUST read when working with CloudBase projects, developing web apps, mini programs, or backend services using CloudBase platform.
evernote-install-auth
jeremylongshore
Install and configure Evernote SDK and OAuth authentication. Use when setting up a new Evernote integration, configuring API keys, or initializing Evernote in your project. Trigger with phrases like "install evernote", "setup evernote", "evernote auth", "configure evernote API", "evernote oauth".
mistral-install-auth
jeremylongshore
Install and configure Mistral AI SDK/CLI authentication. Use when setting up a new Mistral integration, configuring API keys, or initializing Mistral AI in your project. Trigger with phrases like "install mistral", "setup mistral", "mistral auth", "configure mistral API key".
ideogram-install-auth
jeremylongshore
Install and configure Ideogram SDK/CLI authentication. Use when setting up a new Ideogram integration, configuring API keys, or initializing Ideogram in your project. Trigger with phrases like "install ideogram", "setup ideogram", "ideogram auth", "configure ideogram API key".