Domain to Email Extraction using Apollo API

Go to Workflow
1,647 views
Built by Hueston Hueston
Created on June 09, 2026

Description

Who is this for?
Sales professionals looking to build lead lists from target company domains
Business development teams conducting outreach campaigns
Marketers building contact databases for account-based marketing
Recruiters searching for potential candidates at specific companies
Anyone needing to transform a list of company domains into actionable contact information

What problem is this workflow solving?
Finding business email addresses for outreach is a time-consuming process. The Apollo API doesn't provide a direct way to extract email contacts from domains in a single call. This workflow bridges that gap by:

Automating the two-step process required by Apollo's API
Processing multiple domains in batches without manual intervention
Extracting, enriching, and storing contact information in a structured format
Eliminating hours of manual data entry and API interaction

What this workflow does
This workflow creates an automated pipeline between Google Sheets and Apollo's API to:

Pull a list of target domains from a Google Sheet
Submit each domain to Apollo's search API to find associated people
Loop through each person found and enrich their profile data
Extract key information: name, title, email address, and LinkedIn URL
Write the enriched contact information back to a results sheet
Process the next domain automatically until all are complete

Setup

Prerequisites:
An n8n instance (cloud or self-hosted)
Apollo.io account with API access
Google account with access to Google Sheets

Google Sheets Setup:
Create a new Google Sheet with two tabs:
Tab 1: "Target Domains" with a column named "Domain To Enrich"
Tab 2: "Results" with columns: Company, First Name, Last Name, Title, Email, LinkedIn

n8n Setup:
Import the workflow JSON into your n8n instance
Set up Google Sheets credentials in n8n
Update the Google Sheets document ID in both Google Sheets nodes
Add your Apollo API key to both HTTP Request nodes
Review and adjust API rate limits if needed

Testing:
Add a few test domains to your "Target Domains" sheet
Run the workflow manually to verify it's working correctly
Check the "Results" sheet to confirm data is being properly populated

How to customize this workflow to your needs

Adding More Contact Fields:
Modify the "Clean Up" node to extract additional fields from the Apollo API response
Add corresponding columns to your "Results" sheet
Update the "Results To Results Sheet" node mapping to include the new fields

Filtering Results:
Add a Filter node after "Clean Up" to include only contacts with specific roles
Create conditions based on title, seniority, or other fields returned by Apollo

Automating Workflow Execution:
Replace the manual trigger with a Schedule Trigger to run daily/weekly
Add a Filter node to process only domains with "Not Processed" status
Update the status field in Google Sheets after processing

Additional Notes
This workflow respects Apollo's API rate limits by processing one contact at a time
The Apollo API may not return contact information for all domains or all employees
Consider legal and privacy implications when collecting and storing contact information

Made with ❤️ by Hueston

Nodes Used (3)

Code
n8n-nodes-base.code
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest