How to automatically enrich new HubSpot contacts with Apollo
Enrich new HubSpot contacts with Apollo data automatically. Compare n8n, Zapier, Make, code, and Claude Code approaches side by side.

This recipe includes a downloadable n8n template and Claude Code skill.
Workflow
Why enrich contacts automatically?
A typical web form captures a name and email. That's it. Without job title, company size, or phone number, your downstream workflows break down: lead scoring produces meaningless scores, routing rules can't segment by seniority, and reps spend their first 5 minutes on every call researching the prospect on LinkedIn instead of selling.
The cost of manual enrichment adds up fast. If a rep spends 3 minutes researching each contact and you create 200 leads per week, that's 10 hours of research per week -- more than a full day of selling time lost to data entry.
Automatic enrichment with Apollo fills in the gaps the moment a contact is created:
- Job title, seniority level, and department — for lead scoring and routing
- Company name, employee count, revenue, and industry — for firmographic segmentation
- LinkedIn profile URL and direct phone number — for rep outreach
- Verified work email — replaces personal addresses with business ones
What you'll need
- HubSpot account with API access (private app token with
crm.objects.contacts.readandcrm.objects.contacts.writescopes) - Apollo account with API access (available on all paid plans)
- Apollo API key from Settings → Integrations → API
How it works
Every approach in this guide follows the same pattern:
- Detect — a new contact is created in HubSpot (from a form, import, API, or manual entry)
- Enrich — the contact's email is sent to Apollo's People Enrichment API, which returns job title, company, phone, LinkedIn URL, and industry
- Write back — only empty fields are updated on the HubSpot contact record, preserving any data reps entered manually
The approaches differ in how they trigger (real-time vs. polling vs. on-demand), how much setup they require, and what they cost at scale.
Which approach should I use?
- n8n (recommended) — best balance of cost and capability. Visual workflow, polling-based trigger, and full control over field mapping. Self-hosted is free; cloud starts at $24/mo.
- Zapier — fastest to set up if you're already on Zapier. No native Apollo integration means you'll use Webhooks by Zapier (requires Professional plan at $29.99/mo). Task costs add up at scale: 3-4 tasks per contact.
- Make — lowest per-contact cost among the no-code tools. Free plan handles ~333 enrichments/month. Best if you need conditional routing (e.g., different enrichment logic for different lead sources).
- Code + Cron — maximum control and zero platform cost. Best for teams with a developer who wants version-controlled logic, custom filtering (skip personal emails, batch with Apollo's bulk endpoint), and scheduling via GitHub Actions.
- Claude Code — conversational enrichment with no fixed code. Ask "enrich the 50 contacts from today's event" or "enrich contacts missing job titles from this week" and the agent adapts. Best for ad-hoc enrichment, pipeline reviews, or teams already using Claude Code.
Choose your approach
Select an approach below to see the full step-by-step guide.
Compare approaches
| Approach | Complexity | Cost | Latency | Code | Reliability |
|---|---|---|---|---|---|
n8n | medium | $0-24/mo | polling | low | 24/7 cloud |
Zapier | low | $20-50/mo | real-time | none | 24/7 cloud |
Make | medium | $10-29/mo | polling | none | 24/7 cloud |
Code + Cron | high | $0 | real-time | high | Self-hosted |
Claude Code | low | Usage-based | on-demand | none | On demand |
n8n
mediumZapier
lowMake
mediumCode + Cron
highClaude Code
lown8n
mediumHubSpot Trigger node → Apollo HTTP enrichment → HubSpot Update node
Zapier
lowNew Contact trigger → Webhooks to Apollo API → Update Contact action
Code + Cron
highPython/Node script polling for new contacts, enriching via Apollo API
Claude Code
lowGuided Claude Code skill with API references — enrich contacts conversationally, on a schedule, or via Cowork
Related Recipes
How to batch enrich HubSpot contacts missing job title or company size
HubSpot + Apollo
How to waterfall enrich HubSpot contacts across Apollo, Clearbit, and People Data Labs
HubSpot + Apollo + Clearbit + People Data Labs
How to automatically enrich new Salesforce contacts with Apollo
Salesforce + Apollo
How to find and verify work emails for a HubSpot prospect list using Apollo and Hunter
HubSpot + Apollo + Hunter
Frequently Asked Questions
Looking to scale your AI operations?
We build and optimize automation systems for mid-market businesses. Let's discuss the right approach for your team.