home / skills / openclaw / skills / apollo

apollo skill

/skills/jhumanj/apollo

This skill helps you enrich organizations and people via Apollo.io REST API, handling searches, bulk org data, and domain-based enrichment.

npx playbooks add skill openclaw/skills --skill apollo

Review the files below or copy the command above to add this skill to your agents.

Files (8)
SKILL.md
1.3 KB
---
name: apollo
description: Interact with Apollo.io REST API (people/org enrichment, search, lists).
metadata: {"clawdbot":{"emoji":"🛰️","os":["darwin","linux"]}}
---

# Apollo.io

Interact with Apollo.io via REST API.

## Config

Create `config/apollo.env` (example at `config/apollo.env.example`):

- `APOLLO_BASE_URL` (usually `https://api.apollo.io`)
- `APOLLO_API_KEY`

Scripts load this automatically.

## Commands

### Low-level helpers

- GET: `skills/apollo/scripts/apollo-get.sh "/api/v1/users"` (endpoint availability may vary)
- People search (new): `skills/apollo/scripts/apollo-people-search.sh "vp marketing" 1 5`
- POST (generic): `skills/apollo/scripts/apollo-post.sh "/api/v1/mixed_people/api_search" '{"q_keywords":"vp marketing","page":1,"per_page":5}'`

### Enrichment (common)

- Enrich website/org by domain: `skills/apollo/scripts/apollo-enrich-website.sh "apollo.io"`
- Get complete org info (bulk): `skills/apollo/scripts/apollo-orgs-bulk.sh "6136480939c707388501e6b9"`

## Notes

- Apollo authenticates via `X-Api-Key` header (these scripts send it automatically).
- Some endpoints require a **master API key** and a paid plan (Apollo returns `403` in that case).
- Rate limiting is common (e.g. 600/hour on many endpoints); handle `429` responses.

Overview

This skill lets you interact with the Apollo.io REST API to search and enrich people and organizations, manage lists, and perform low-level API calls. It includes shell helpers and scripts that load API credentials from a simple env file for quick automation and integration. The scripts handle header-based authentication and expose common endpoints for enrichment and bulk operations.

How this skill works

Place your API base URL and API key in config/apollo.env and the scripts will source these values automatically. The skill provides GET and POST helpers, people/org search scripts, enrichment by domain, and bulk organization info retrieval. Scripts set the X-Api-Key header, detect common HTTP status codes like 403 and 429, and expect you to manage retries and master-key requirements for restricted endpoints.

When to use it

  • You need to enrich a contact or company by domain to enrich CRM records.
  • You want to run keyword-based people searches (e.g., 'vp marketing') and page results.
  • You must fetch bulk organization details for data synchronization or analytics.
  • You need low-level GET/POST access to test Apollo endpoints or build custom calls.
  • You are automating list creation or maintenance using Apollo search and enrichment.

Best practices

  • Store APOLLO_BASE_URL and APOLLO_API_KEY in config/apollo.env and keep that file out of version control.
  • Respect rate limits: implement retry/backoff handling for 429 responses and monitor usage (typical limits ~600/hour).
  • Be aware some endpoints require a master API key and a paid plan; expect 403 responses for restricted routes.
  • Use pagination parameters (page, per_page) for large result sets to avoid timeouts and heavy responses.
  • Log request/response metadata (status codes, timestamps) to diagnose quota or permission issues.

Example use cases

  • Enrich a lead list by domain to populate company details in your CRM before outreach.
  • Run targeted people searches (role, title, keywords) to assemble prospecting lists with pagination.
  • Bulk-fetch organization records by ID list for data warehouse updates or deduplication.
  • Invoke low-level GET/POST helpers to prototype a new integration with Apollo endpoints.

FAQ

How do I configure the API key?

Create config/apollo.env with APOLLO_BASE_URL and APOLLO_API_KEY; scripts source this file automatically.

What if I get 403 or 429 responses?

403 usually means the endpoint needs a master key or a paid plan. 429 indicates rate limiting—implement retries with exponential backoff.

Are there example commands to run searches or enrichment?

Yes. The package includes scripts for people search, domain enrichment, bulk org retrieval, and generic GET/POST helpers.